XRootD
XrdSecProtocolgsi.hh File Reference
+ Include dependency graph for XrdSecProtocolgsi.hh:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gsiHSVars
 
class  gsiOptions
 
class  GSIStack< T >
 
struct  ProxyIn_t
 
struct  ProxyOut_t
 
class  XrdSecProtocolgsi
 

Macros

#define kMAXBUFLEN   1024
 
#define REL1(x)   { if (x) delete x; }
 
#define REL2(x, y)   { if (x) delete x; if (y) delete y; }
 
#define REL3(x, y, z)   { if (x) delete x; if (y) delete y; if (z) delete z; }
 
#define SafeDelArray(x)   { if (x) {delete [] x ; x = 0;} }
 
#define SafeDelete(x)   { if (x) {delete x ; x = 0;} }
 
#define SafeFree(x)   { if (x) {free(x) ; x = 0;} }
 
#define XrdCryptoMax   10
 
#define XrdSecDEBUG   0x1000
 
#define XrdSecgsiVersCertKey   10600
 
#define XrdSecgsiVersDHsigned   10400
 
#define XrdSecgsiVERSION   10700
 
#define XrdSecgsiVersRtagHash   10700
 
#define XrdSecNOIPCHK   0x0001
 
#define XrdSecPROTOIDENT   "gsi"
 
#define XrdSecPROTOIDLEN   sizeof(XrdSecPROTOIDENT)
 

Typedefs

typedef XrdOucString String
 
typedef XrdCryptogsiX509Chain X509Chain
 
typedef int(* XrdSecgsiAuthz_t) (XrdSecEntity &)
 
typedef int(* XrdSecgsiAuthzInit_t) (const char *)
 
typedef int(* XrdSecgsiAuthzKey_t) (XrdSecEntity &, char **)
 
typedef char *(* XrdSecgsiGMAP_t) (const char *, int)
 
typedef XrdSecgsiAuthz_t XrdSecgsiVOMS_t
 
typedef XrdSecgsiAuthzInit_t XrdSecgsiVOMSInit_t
 

Enumerations

enum  kgsiClientSteps {
  kXGC_none = 0 ,
  kXGC_certreq = 1000 ,
  kXGC_cert ,
  kXGC_sigpxy ,
  kXGC_reserved
}
 
enum  kgsiErrors {
  kGSErrParseBuffer = 10000 ,
  kGSErrDecodeBuffer ,
  kGSErrLoadCrypto ,
  kGSErrBadProtocol ,
  kGSErrCreateBucket ,
  kGSErrDuplicateBucket ,
  kGSErrCreateBuffer ,
  kGSErrSerialBuffer ,
  kGSErrGenCipher ,
  kGSErrExportPuK ,
  kGSErrEncRndmTag ,
  kGSErrBadRndmTag ,
  kGSErrNoRndmTag ,
  kGSErrNoCipher ,
  kGSErrNoCreds ,
  kGSErrBadOpt ,
  kGSErrMarshal ,
  kGSErrUnmarshal ,
  kGSErrSaveCreds ,
  kGSErrNoBuffer ,
  kGSErrRefCipher ,
  kGSErrNoPublic ,
  kGSErrAddBucket ,
  kGSErrFinCipher ,
  kGSErrInit ,
  kGSErrBadCreds ,
  kGSErrError
}
 
enum  kgsiHandshakeOpts {
  kOptsDlgPxy = 1 ,
  kOptsFwdPxy = 2 ,
  kOptsSigReq = 4 ,
  kOptsSrvReq = 8 ,
  kOptsPxFile = 16 ,
  kOptsDelChn = 32 ,
  kOptsPxCred = 64 ,
  kOptsCreatePxy = 128 ,
  kOptsDelPxy = 256
}
 
enum  kgsiServerSteps {
  kXGS_none = 0 ,
  kXGS_init = 2000 ,
  kXGS_cert ,
  kXGS_pxyreq ,
  kXGS_reserved
}
 
enum  kgsiStatus {
  kgST_error = -1 ,
  kgST_ok = 0 ,
  kgST_more = 1
}
 

Class Documentation

◆ ProxyIn_t

struct ProxyIn_t

Definition at line 249 of file XrdSecProtocolgsi.hh.

+ Collaboration diagram for ProxyIn_t:
Class Members
int bits
const char * cert
const char * certdir
bool createpxy
int deplen
const char * key
const char * out
const char * valid

◆ ProxyOut_t

struct ProxyOut_t

Definition at line 242 of file XrdSecProtocolgsi.hh.

+ Collaboration diagram for ProxyOut_t:
Class Members
XrdSutBucket * cbck
X509Chain * chain
XrdCryptoRSA * ksig

Macro Definition Documentation

◆ kMAXBUFLEN

#define kMAXBUFLEN   1024

Definition at line 74 of file XrdSecProtocolgsi.hh.

◆ REL1

#define REL1 (   x)    { if (x) delete x; }

Definition at line 155 of file XrdSecProtocolgsi.hh.

◆ REL2

#define REL2 (   x,
  y 
)    { if (x) delete x; if (y) delete y; }

Definition at line 156 of file XrdSecProtocolgsi.hh.

◆ REL3

#define REL3 (   x,
  y,
  z 
)    { if (x) delete x; if (y) delete y; if (z) delete z; }

Definition at line 157 of file XrdSecProtocolgsi.hh.

◆ SafeDelArray

#define SafeDelArray (   x)    { if (x) {delete [] x ; x = 0;} }

Definition at line 160 of file XrdSecProtocolgsi.hh.

◆ SafeDelete

#define SafeDelete (   x)    { if (x) {delete x ; x = 0;} }

Definition at line 159 of file XrdSecProtocolgsi.hh.

◆ SafeFree

#define SafeFree (   x)    { if (x) {free(x) ; x = 0;} }

Definition at line 161 of file XrdSecProtocolgsi.hh.

◆ XrdCryptoMax

#define XrdCryptoMax   10

Definition at line 72 of file XrdSecProtocolgsi.hh.

◆ XrdSecDEBUG

#define XrdSecDEBUG   0x1000

Definition at line 71 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVersCertKey

#define XrdSecgsiVersCertKey   10600

Definition at line 79 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVersDHsigned

#define XrdSecgsiVersDHsigned   10400

Definition at line 77 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVERSION

#define XrdSecgsiVERSION   10700

Definition at line 69 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVersRtagHash

#define XrdSecgsiVersRtagHash   10700

Definition at line 81 of file XrdSecProtocolgsi.hh.

◆ XrdSecNOIPCHK

#define XrdSecNOIPCHK   0x0001

Definition at line 70 of file XrdSecProtocolgsi.hh.

◆ XrdSecPROTOIDENT

#define XrdSecPROTOIDENT   "gsi"

Definition at line 67 of file XrdSecProtocolgsi.hh.

◆ XrdSecPROTOIDLEN

#define XrdSecPROTOIDLEN   sizeof(XrdSecPROTOIDENT)

Definition at line 68 of file XrdSecProtocolgsi.hh.

Typedef Documentation

◆ String

Definition at line 64 of file XrdSecProtocolgsi.hh.

◆ X509Chain

Definition at line 65 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiAuthz_t

typedef int(* XrdSecgsiAuthz_t) (XrdSecEntity &)

Definition at line 165 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiAuthzInit_t

typedef int(* XrdSecgsiAuthzInit_t) (const char *)

Definition at line 166 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiAuthzKey_t

typedef int(* XrdSecgsiAuthzKey_t) (XrdSecEntity &, char **)

Definition at line 167 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiGMAP_t

typedef char*(* XrdSecgsiGMAP_t) (const char *, int)

Definition at line 164 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVOMS_t

Definition at line 169 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVOMSInit_t

Enumeration Type Documentation

◆ kgsiClientSteps

Enumerator
kXGC_none 
kXGC_certreq 
kXGC_cert 
kXGC_sigpxy 
kXGC_reserved 

Definition at line 94 of file XrdSecProtocolgsi.hh.

94  {
95  kXGC_none = 0,
96  kXGC_certreq = 1000, // 1000: request server certificate
97  kXGC_cert, // 1001: packet with (proxy) certificate
98  kXGC_sigpxy, // 1002: packet with signed proxy certificate
99  kXGC_reserved //
100 };
@ kXGC_sigpxy
@ kXGC_cert
@ kXGC_reserved
@ kXGC_none
@ kXGC_certreq

◆ kgsiErrors

enum kgsiErrors
Enumerator
kGSErrParseBuffer 
kGSErrDecodeBuffer 
kGSErrLoadCrypto 
kGSErrBadProtocol 
kGSErrCreateBucket 
kGSErrDuplicateBucket 
kGSErrCreateBuffer 
kGSErrSerialBuffer 
kGSErrGenCipher 
kGSErrExportPuK 
kGSErrEncRndmTag 
kGSErrBadRndmTag 
kGSErrNoRndmTag 
kGSErrNoCipher 
kGSErrNoCreds 
kGSErrBadOpt 
kGSErrMarshal 
kGSErrUnmarshal 
kGSErrSaveCreds 
kGSErrNoBuffer 
kGSErrRefCipher 
kGSErrNoPublic 
kGSErrAddBucket 
kGSErrFinCipher 
kGSErrInit 
kGSErrBadCreds 
kGSErrError 

Definition at line 125 of file XrdSecProtocolgsi.hh.

125  {
126  kGSErrParseBuffer = 10000, // 10000
127  kGSErrDecodeBuffer, // 10001
128  kGSErrLoadCrypto, // 10002
129  kGSErrBadProtocol, // 10003
130  kGSErrCreateBucket, // 10004
131  kGSErrDuplicateBucket, // 10005
132  kGSErrCreateBuffer, // 10006
133  kGSErrSerialBuffer, // 10007
134  kGSErrGenCipher, // 10008
135  kGSErrExportPuK, // 10009
136  kGSErrEncRndmTag, // 10010
137  kGSErrBadRndmTag, // 10011
138  kGSErrNoRndmTag, // 10012
139  kGSErrNoCipher, // 10013
140  kGSErrNoCreds, // 10014
141  kGSErrBadOpt, // 10015
142  kGSErrMarshal, // 10016
143  kGSErrUnmarshal, // 10017
144  kGSErrSaveCreds, // 10018
145  kGSErrNoBuffer, // 10019
146  kGSErrRefCipher, // 10020
147  kGSErrNoPublic, // 10021
148  kGSErrAddBucket, // 10022
149  kGSErrFinCipher, // 10023
150  kGSErrInit, // 10024
151  kGSErrBadCreds, // 10025
152  kGSErrError // 10026
153 };
@ kGSErrExportPuK
@ kGSErrBadRndmTag
@ kGSErrCreateBuffer
@ kGSErrNoCipher
@ kGSErrInit
@ kGSErrFinCipher
@ kGSErrParseBuffer
@ kGSErrGenCipher
@ kGSErrBadCreds
@ kGSErrUnmarshal
@ kGSErrRefCipher
@ kGSErrBadProtocol
@ kGSErrMarshal
@ kGSErrNoPublic
@ kGSErrSaveCreds
@ kGSErrSerialBuffer
@ kGSErrNoCreds
@ kGSErrDecodeBuffer
@ kGSErrLoadCrypto
@ kGSErrEncRndmTag
@ kGSErrDuplicateBucket
@ kGSErrBadOpt
@ kGSErrNoRndmTag
@ kGSErrAddBucket
@ kGSErrError
@ kGSErrCreateBucket
@ kGSErrNoBuffer

◆ kgsiHandshakeOpts

Enumerator
kOptsDlgPxy 
kOptsFwdPxy 
kOptsSigReq 
kOptsSrvReq 
kOptsPxFile 
kOptsDelChn 
kOptsPxCred 
kOptsCreatePxy 
kOptsDelPxy 

Definition at line 112 of file XrdSecProtocolgsi.hh.

112  {
113  kOptsDlgPxy = 1, // 0x0001: Ask for a delegated proxy
114  kOptsFwdPxy = 2, // 0x0002: Forward local proxy
115  kOptsSigReq = 4, // 0x0004: Accept to sign delegated proxy
116  kOptsSrvReq = 8, // 0x0008: Server request for delegated proxy
117  kOptsPxFile = 16, // 0x0010: Save delegated proxies in file
118  kOptsDelChn = 32, // 0x0020: Delete chain
119  kOptsPxCred = 64, // 0x0040: Save delegated proxies as credentials
120  kOptsCreatePxy = 128, // 0x0080: Request a client proxy
121  kOptsDelPxy = 256 // 0x0100: Delete the proxy PxyChain
122 };
@ kOptsDelChn
@ kOptsDelPxy
@ kOptsSigReq
@ kOptsFwdPxy
@ kOptsPxCred
@ kOptsSrvReq
@ kOptsDlgPxy
@ kOptsCreatePxy
@ kOptsPxFile

◆ kgsiServerSteps

Enumerator
kXGS_none 
kXGS_init 
kXGS_cert 
kXGS_pxyreq 
kXGS_reserved 

Definition at line 103 of file XrdSecProtocolgsi.hh.

103  {
104  kXGS_none = 0,
105  kXGS_init = 2000, // 2000: fake code used the first time
106  kXGS_cert, // 2001: packet with certificate
107  kXGS_pxyreq, // 2002: packet with proxy req to be signed
108  kXGS_reserved //
109 };
@ kXGS_cert
@ kXGS_none
@ kXGS_pxyreq
@ kXGS_init
@ kXGS_reserved

◆ kgsiStatus

enum kgsiStatus
Enumerator
kgST_error 
kgST_ok 
kgST_more 

Definition at line 87 of file XrdSecProtocolgsi.hh.

87  {
88  kgST_error = -1, // error occurred
89  kgST_ok = 0, // ok
90  kgST_more = 1 // need more info
91 };
@ kgST_ok
@ kgST_error
@ kgST_more