Go to the documentation of this file.
64 #define XrdSecPROTOIDENT "gsi"
65 #define XrdSecPROTOIDLEN sizeof(XrdSecPROTOIDENT)
66 #define XrdSecgsiVERSION 10400
67 #define XrdSecNOIPCHK 0x0001
68 #define XrdSecDEBUG 0x1000
69 #define XrdCryptoMax 10
71 #define kMAXBUFLEN 1024
74 #define XrdSecgsiVersDHsigned 10400 // Version at which started signing
145 #define REL1(x) { if (x) delete x; }
146 #define REL2(x,y) { if (x) delete x; if (y) delete y; }
147 #define REL3(x,y,z) { if (x) delete x; if (y) delete y; if (z) delete z; }
149 #define SafeDelete(x) { if (x) {delete x ; x = 0;} }
150 #define SafeDelArray(x) { if (x) {delete [] x ; x = 0;} }
151 #define SafeFree(x) { if (x) {free(x) ; x = 0;} }
154 typedef char *(*XrdSecgsiGMAP_t)(
const char *, int);
251 char k[40]; snprintf(k, 40,
"%p", t);
258 char k[40]; snprintf(k, 40,
"%p", t);
285 const char *parms = 0);
299 int Sign(
const char *inbuf,
int inlen,
302 const char *sigbuf,
int siglen);
433 static int GetCA(
const char *cahash,
442 time_t timestamp,
String &cal);
457 const char *msg1,
const char *msg2 = 0,
458 const char *msg3 = 0);
462 const char *msg2 = 0,
const char *msg3 = 0);
466 const char *msg2 = 0,
const char *msg3 = 0);
static XrdSutCache cacheGMAPFun
Definition: XrdSecProtocolgsi.hh:368
static XrdSutCacheEntry * GetSrvCertEnt(XrdSutCERef &gcref, XrdCryptoFactory *cf, time_t timestamp, String &cal)
static String DefCrypto
Definition: XrdSecProtocolgsi.hh:332
int kXR_int32
Definition: XPtypes.hh:89
int ParseCAlist(String calist)
static String GetCApath(const char *cahash)
static XrdSutCache cacheAuthzFun
Definition: XrdSecProtocolgsi.hh:369
static void QueryGMAP(XrdCryptoX509Chain *chain, int now, String &name)
Definition: XrdCryptoCipher.hh:48
@ kOptsDelChn
Definition: XrdSecProtocolgsi.hh:110
char *(* XrdSecgsiGMAP_t)(const char *, int)
Definition: XrdSecProtocolgsi.hh:154
int Iter
Definition: XrdSecProtocolgsi.hh:494
int Options
Definition: XrdSecProtocolgsi.hh:510
char * cert
Definition: XrdSecProtocolgsi.hh:174
static GSIStack< XrdCryptoX509Chain > stackCA
Definition: XrdSecProtocolgsi.hh:375
int Encrypt(const char *inbuf, int inlen, XrdSecBuffer **outbuf)
static int PxyReqOpts
Definition: XrdSecProtocolgsi.hh:345
@ kGSErrDecodeBuffer
Definition: XrdSecProtocolgsi.hh:117
static XrdSysMutex gsiContext
Definition: XrdSecProtocolgsi.hh:316
Definition: XrdSecProtocolgsi.hh:166
Definition: XrdSutBuffer.hh:43
@ kGSErrNoBuffer
Definition: XrdSecProtocolgsi.hh:135
static XrdSutCache cacheCert
Definition: XrdSecProtocolgsi.hh:366
gsiOptions()
Definition: XrdSecProtocolgsi.hh:211
int Authenticate(XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0)
Definition: XrdCryptoMsgDigest.hh:47
Definition: XrdSysPthread.hh:166
@ kGSErrNoPublic
Definition: XrdSecProtocolgsi.hh:137
Definition: XrdOucGMap.hh:49
char * srvnames
Definition: XrdSecProtocolgsi.hh:199
int crlrefresh
Definition: XrdSecProtocolgsi.hh:182
static int AuthzPxyWhat
Definition: XrdSecProtocolgsi.hh:346
@ kGSErrExportPuK
Definition: XrdSecProtocolgsi.hh:125
@ kGSErrLoadCrypto
Definition: XrdSecProtocolgsi.hh:118
short debug
Definition: XrdSecProtocolgsi.hh:168
@ kgST_more
Definition: XrdSecProtocolgsi.hh:82
static String SrvAllowedNames
Definition: XrdSecProtocolgsi.hh:349
@ kGSErrNoRndmTag
Definition: XrdSecProtocolgsi.hh:128
static XrdSecgsiAuthz_t AuthzFun
Definition: XrdSecProtocolgsi.hh:341
static bool TrustDNS
Definition: XrdSecProtocolgsi.hh:355
int AddSerialized(char opt, kXR_int32 step, String ID, XrdSutBuffer *bls, XrdSutBuffer *buf, kXR_int32 type, XrdCryptoCipher *cip)
char * crldir
Definition: XrdSecProtocolgsi.hh:172
String ID
Definition: XrdSecProtocolgsi.hh:501
static int Debug
Definition: XrdSecProtocolgsi.hh:383
@ kGSErrNoCreds
Definition: XrdSecProtocolgsi.hh:130
int Decrypt(const char *inbuf, int inlen, XrdSecBuffer **outbuf)
char * clist
Definition: XrdSecProtocolgsi.hh:170
static int AuthzCacheTimeOut
Definition: XrdSecProtocolgsi.hh:344
XrdSecgsiAuthzInit_t XrdSecgsiVOMSInit_t
Definition: XrdSecProtocolgsi.hh:160
static int GMAPOpt
Definition: XrdSecProtocolgsi.hh:337
Definition: XrdSecProtocolgsi.hh:248
int Verify(const char *inbuf, int inlen, const char *sigbuf, int siglen)
char * authzfunparms
Definition: XrdSecProtocolgsi.hh:192
int options
Definition: XrdSecProtocolgsi.hh:393
static String DefMD
Definition: XrdSecProtocolgsi.hh:334
int moninfo
Definition: XrdSecProtocolgsi.hh:206
int ServerDoCert(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
char * vomsfunparms
Definition: XrdSecProtocolgsi.hh:205
const char * cert
Definition: XrdSecProtocolgsi.hh:238
Definition: XrdNetAddrInfo.hh:54
static int cryptID[XrdCryptoMax]
Definition: XrdSecProtocolgsi.hh:360
int bits
Definition: XrdSecProtocolgsi.hh:244
static XrdCryptoX509Crl * LoadCRL(XrdCryptoX509 *xca, const char *sjhash, XrdCryptoFactory *CF, int dwld, int &err)
static int AuthzPxyWhere
Definition: XrdSecProtocolgsi.hh:347
XrdSecProtocolgsi(int opts, const char *hname, XrdNetAddrInfo &endPoint, const char *parms=0)
Definition: XrdOucHash.hh:128
@ kGSErrInit
Definition: XrdSecProtocolgsi.hh:140
XrdCryptoX509Crl * Crl
Definition: XrdSecProtocolgsi.hh:505
static XrdOucGMap * servGMap
Definition: XrdSecProtocolgsi.hh:372
Definition: XrdCryptoX509Chain.hh:80
XrdSutBucket * bucketKey
Definition: XrdSecProtocolgsi.hh:396
int ca
Definition: XrdSecProtocolgsi.hh:181
int dlgpxy
Definition: XrdSecProtocolgsi.hh:196
time_t TimeStamp
Definition: XrdSecProtocolgsi.hh:495
static String CAdir
Definition: XrdSecProtocolgsi.hh:317
String CryptoMod
Definition: XrdSecProtocolgsi.hh:496
XrdCryptoCipher * sessionKey
Definition: XrdSecProtocolgsi.hh:395
static int GetCA(const char *cahash, XrdCryptoFactory *cryptof, gsiHSVars *hs=0)
XrdNetAddrInfo epAddr
Definition: XrdSecProtocolgsi.hh:313
Definition: XrdSecProtocolgsi.hh:237
XrdSecCredentials * getCredentials(XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0)
static XrdSecgsiAuthz_t LoadAuthzFun(const char *plugin, const char *parms, int &fmt)
bool srvMode
Definition: XrdSecProtocolgsi.hh:401
Definition: XrdSutPFEntry.hh:78
static XrdSysError eDest
Definition: XrdSecProtocolgsi.hh:389
static int CACheck
Definition: XrdSecProtocolgsi.hh:328
static XrdCryptoFactory * cryptF[XrdCryptoMax]
Definition: XrdSecProtocolgsi.hh:359
int ParseCrypto(String cryptlist)
int setKey(char *kbuf, int klen)
static time_t lastGMAPCheck
Definition: XrdSecProtocolgsi.hh:379
int getKey(char *kbuf=0, int klen=0)
static String DefCRLext
Definition: XrdSecProtocolgsi.hh:319
@ kOptsPxFile
Definition: XrdSecProtocolgsi.hh:109
static XrdSutCache cacheCA
Definition: XrdSecProtocolgsi.hh:365
char * expectedHost
Definition: XrdSecProtocolgsi.hh:402
bool useIV
Definition: XrdSecProtocolgsi.hh:403
char * md
Definition: XrdSecProtocolgsi.hh:179
const char * out
Definition: XrdSecProtocolgsi.hh:241
@ kGSErrCreateBuffer
Definition: XrdSecProtocolgsi.hh:122
int HashAlg
Definition: XrdSecProtocolgsi.hh:511
void Delete()
Delete the protocol object. DO NOT use C++ delete() on this object.
@ kXGC_none
Definition: XrdSecProtocolgsi.hh:87
static int MonInfoOpt
Definition: XrdSecProtocolgsi.hh:353
Definition: XrdSecProtocolgsi.hh:492
XrdSysMutex mtx
Definition: XrdSecProtocolgsi.hh:264
kgsiClientSteps
Definition: XrdSecProtocolgsi.hh:86
static String CRLdir
Definition: XrdSecProtocolgsi.hh:318
@ kOptsPxCred
Definition: XrdSecProtocolgsi.hh:111
@ kGSErrUnmarshal
Definition: XrdSecProtocolgsi.hh:133
@ kGSErrMarshal
Definition: XrdSecProtocolgsi.hh:132
@ kGSErrGenCipher
Definition: XrdSecProtocolgsi.hh:124
@ kGSErrNoCipher
Definition: XrdSecProtocolgsi.hh:129
static int DefBits
Definition: XrdSecProtocolgsi.hh:327
@ kGSErrRefCipher
Definition: XrdSecProtocolgsi.hh:136
static XrdSecgsiGMAP_t LoadGMAPFun(const char *plugin, const char *parms)
static XrdSutCache cachePxy
Definition: XrdSecProtocolgsi.hh:367
X509Chain * Chain
Definition: XrdSecProtocolgsi.hh:504
int RemVers
Definition: XrdSecProtocolgsi.hh:497
static String DefCipher
Definition: XrdSecProtocolgsi.hh:333
kgsiStatus
Definition: XrdSecProtocolgsi.hh:79
char * key
Definition: XrdSecProtocolgsi.hh:176
static bool VerifyCA(int opt, X509Chain *cca, XrdCryptoFactory *cf)
static int VOMSAttrOpt
Definition: XrdSecProtocolgsi.hh:350
static String UsrKey
Definition: XrdSecProtocolgsi.hh:324
@ kGSErrEncRndmTag
Definition: XrdSecProtocolgsi.hh:126
virtual ~XrdSecProtocolgsi()
Definition: XrdSecProtocolgsi.hh:286
kgsiHandshakeOpts
Definition: XrdSecProtocolgsi.hh:104
static int ncrypt
Definition: XrdSecProtocolgsi.hh:358
int(* XrdSecgsiAuthzInit_t)(const char *)
Definition: XrdSecProtocolgsi.hh:156
XrdCryptoFactory * sessionCF
Definition: XrdSecProtocolgsi.hh:394
static String UsrProxy
Definition: XrdSecProtocolgsi.hh:322
int ParseClientInput(XrdSutBuffer *br, XrdSutBuffer **bm, String &emsg)
static int AuthzCertFmt
Definition: XrdSecProtocolgsi.hh:343
int deplen
Definition: XrdSecProtocolgsi.hh:185
#define SafeDelete(x)
Definition: XrdSecProtocolgsi.hh:149
static XrdSecgsiVOMS_t VOMSFun
Definition: XrdSecProtocolgsi.hh:351
gsiHSVars * hs
Definition: XrdSecProtocolgsi.hh:406
int Sign(const char *inbuf, int inlen, XrdSecBuffer **outbuf)
bool trustdns
Definition: XrdSecProtocolgsi.hh:209
const char * key
Definition: XrdSecProtocolgsi.hh:239
@ kgST_error
Definition: XrdSecProtocolgsi.hh:80
@ kGSErrAddBucket
Definition: XrdSecProtocolgsi.hh:138
int ErrS(String ID, XrdOucErrInfo *einfo, XrdSutBuffer *b1, XrdSutBuffer *b2, XrdSutBuffer *b3, kXR_int32 ecode, const char *msg1=0, const char *msg2=0, const char *msg3=0)
@ kXGS_pxyreq
Definition: XrdSecProtocolgsi.hh:99
void Del(T *t)
Definition: XrdSecProtocolgsi.hh:257
int sigpxy
Definition: XrdSecProtocolgsi.hh:198
Definition: XrdSecProtocolgsi.hh:230
static int AuthzAlways
Definition: XrdSecProtocolgsi.hh:348
static int VOMSCertFmt
Definition: XrdSecProtocolgsi.hh:352
char * valid
Definition: XrdSecProtocolgsi.hh:184
@ kXGC_cert
Definition: XrdSecProtocolgsi.hh:89
X509Chain * chain
Definition: XrdSecProtocolgsi.hh:231
int authzto
Definition: XrdSecProtocolgsi.hh:194
void CopyEntity(XrdSecEntity *in, XrdSecEntity *out, int *lout=0)
static String UsrCert
Definition: XrdSecProtocolgsi.hh:323
int ClientDoCert(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
@ kGSErrBadOpt
Definition: XrdSecProtocolgsi.hh:131
XrdCryptoRSA * sessionKsig
Definition: XrdSecProtocolgsi.hh:398
static int CRLDownload
Definition: XrdSecProtocolgsi.hh:330
void Print(XrdOucTrace *t)
X509Chain * PxyChain
Definition: XrdSecProtocolgsi.hh:506
static void ErrF(XrdOucErrInfo *einfo, kXR_int32 ecode, const char *msg1, const char *msg2=0, const char *msg3=0)
Definition: XrdSutCache.hh:49
static XrdSysMutex mutexGMAP
Definition: XrdSecProtocolgsi.hh:380
int ServerDoCertreq(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
int gmapto
Definition: XrdSecProtocolgsi.hh:188
static String PxyValid
Definition: XrdSecProtocolgsi.hh:325
XrdSutBuffer * Parms
Definition: XrdSecProtocolgsi.hh:512
@ kgST_ok
Definition: XrdSecProtocolgsi.hh:81
Definition: XrdSysLogger.hh:53
int vomsat
Definition: XrdSecProtocolgsi.hh:203
static int CRLRefresh
Definition: XrdSecProtocolgsi.hh:331
gsiHSVars()
Definition: XrdSecProtocolgsi.hh:514
XrdCryptoCipher * Rcip
Definition: XrdSecProtocolgsi.hh:498
@ kOptsFwdPxy
Definition: XrdSecProtocolgsi.hh:106
@ kOptsSigReq
Definition: XrdSecProtocolgsi.hh:107
int bits
Definition: XrdSecProtocolgsi.hh:186
Generic structure to pass security information back and forth.
Definition: XrdSecInterface.hh:51
@ kXGS_init
Definition: XrdSecProtocolgsi.hh:97
@ kGSErrBadCreds
Definition: XrdSecProtocolgsi.hh:141
char * gridmap
Definition: XrdSecProtocolgsi.hh:187
bool CheckRtag(XrdSutBuffer *bm, String &emsg)
Definition: XrdSutCacheEntry.hh:100
Definition: XrdSecProtocolgsi.hh:273
static bool Server
Definition: XrdSecProtocolgsi.hh:384
XrdSutPFEntry * Pent
Definition: XrdSecProtocolgsi.hh:503
XrdSecgsiAuthz_t XrdSecgsiVOMS_t
Definition: XrdSecProtocolgsi.hh:159
bool HasPad
Definition: XrdSecProtocolgsi.hh:499
char * proxy
Definition: XrdSecProtocolgsi.hh:183
static bool GMAPuseDNname
Definition: XrdSecProtocolgsi.hh:338
@ kXGC_sigpxy
Definition: XrdSecProtocolgsi.hh:90
static bool HashCompatibility
Definition: XrdSecProtocolgsi.hh:354
char * crlext
Definition: XrdSecProtocolgsi.hh:173
XrdSecCredentials * ErrC(XrdOucErrInfo *einfo, XrdSutBuffer *b1, XrdSutBuffer *b2, XrdSutBuffer *b3, kXR_int32 ecode, const char *msg1=0, const char *msg2=0, const char *msg3=0)
int ogmap
Definition: XrdSecProtocolgsi.hh:195
Definition: XrdSutCacheEntry.hh:75
const char * certdir
Definition: XrdSecProtocolgsi.hh:240
Definition: XrdSecInterface.hh:131
X509Chain * proxyChain
Definition: XrdSecProtocolgsi.hh:400
int deplen
Definition: XrdSecProtocolgsi.hh:243
int(* XrdSecgsiAuthz_t)(XrdSecEntity &)
Definition: XrdSecProtocolgsi.hh:155
static GSIStack< XrdCryptoX509Crl > stackCRL
Definition: XrdSecProtocolgsi.hh:376
int LastStep
Definition: XrdSecProtocolgsi.hh:509
static String DefError
Definition: XrdSecProtocolgsi.hh:335
int ParseServerInput(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
char * gmapfunparms
Definition: XrdSecProtocolgsi.hh:190
static XrdSecgsiGMAP_t GMAPFun
Definition: XrdSecProtocolgsi.hh:340
const char * valid
Definition: XrdSecProtocolgsi.hh:242
char * cipher
Definition: XrdSecProtocolgsi.hh:178
static char * Init(gsiOptions o, XrdOucErrInfo *erp)
int authzcall
Definition: XrdSecProtocolgsi.hh:193
char * certdir
Definition: XrdSecProtocolgsi.hh:171
bool ServerCertNameOK(const char *subject, const char *hname, String &e)
@ kXGS_cert
Definition: XrdSecProtocolgsi.hh:98
int ServerDoSigpxy(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
static int DepLength
Definition: XrdSecProtocolgsi.hh:326
void Cleanup(bool keepCA=0)
static XrdSecgsiAuthzKey_t AuthzKey
Definition: XrdSecProtocolgsi.hh:342
~gsiHSVars()
Definition: XrdSecProtocolgsi.hh:520
static XrdOucTrace * EnableTracing()
@ kGSErrError
Definition: XrdSecProtocolgsi.hh:142
void UnLock()
Definition: XrdSysPthread.hh:224
int authzpxy
Definition: XrdSecProtocolgsi.hh:201
static XrdSysLogger Logger
Definition: XrdSecProtocolgsi.hh:388
bool CheckTimeStamp(XrdSutBuffer *b, int skew, String &emsg)
XrdCryptoRSA * ksig
Definition: XrdSecProtocolgsi.hh:232
static XrdSecgsiVOMS_t LoadVOMSFun(const char *plugin, const char *parms, int &fmt)
static XrdCryptoCipher * refcip[XrdCryptoMax]
Definition: XrdSecProtocolgsi.hh:362
@ kXGS_none
Definition: XrdSecProtocolgsi.hh:96
static int VerifyCRL(XrdCryptoX509Crl *crl, XrdCryptoX509 *xca, XrdOucString crldir, XrdCryptoFactory *CF, int hashalg)
static XrdOucTrace * GSITrace
Definition: XrdSecProtocolgsi.hh:390
Definition: XrdCryptoRSA.hh:51
@ Hash_count
Definition: XrdOucHash.hh:54
void FreeEntity(XrdSecEntity *in)
int hashcomp
Definition: XrdSecProtocolgsi.hh:207
@ kXGS_reserved
Definition: XrdSecProtocolgsi.hh:100
Definition: XrdSecEntity.hh:64
kgsiServerSteps
Definition: XrdSecProtocolgsi.hh:95
static String SrvKey
Definition: XrdSecProtocolgsi.hh:321
void Lock()
Definition: XrdSysPthread.hh:222
Definition: XrdCryptoX509.hh:51
Definition: XrdOucErrInfo.hh:99
static String cryptName[XrdCryptoMax]
Definition: XrdSecProtocolgsi.hh:361
#define XrdCryptoMax
Definition: XrdSecProtocolgsi.hh:69
@ kOptsDlgPxy
Definition: XrdSecProtocolgsi.hh:105
XrdOucHash< T > stack
Definition: XrdSecProtocolgsi.hh:265
XrdCryptogsiX509Chain X509Chain
Definition: XrdSecProtocolgsi.hh:62
@ kXGC_reserved
Definition: XrdSecProtocolgsi.hh:91
void Add(T *t)
Definition: XrdSecProtocolgsi.hh:250
Definition: XrdCryptogsiX509Chain.hh:50
char * vomsfun
Definition: XrdSecProtocolgsi.hh:204
static int QueryProxy(bool checkcache, XrdSutCache *cache, const char *tag, XrdCryptoFactory *cf, time_t timestamp, ProxyIn_t *pi, ProxyOut_t *po)
@ kGSErrBadProtocol
Definition: XrdSecProtocolgsi.hh:119
int crl
Definition: XrdSecProtocolgsi.hh:180
char * authzfun
Definition: XrdSecProtocolgsi.hh:191
@ kGSErrBadRndmTag
Definition: XrdSecProtocolgsi.hh:127
int ClientDoInit(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
Definition: XrdOucTrace.hh:36
@ kGSErrSerialBuffer
Definition: XrdSecProtocolgsi.hh:123
XrdCryptoRSA * sessionKver
Definition: XrdSecProtocolgsi.hh:399
@ kGSErrDuplicateBucket
Definition: XrdSecProtocolgsi.hh:121
@ kOptsSrvReq
Definition: XrdSecProtocolgsi.hh:108
@ kGSErrFinCipher
Definition: XrdSecProtocolgsi.hh:139
static int GMAPCacheTimeOut
Definition: XrdSecProtocolgsi.hh:339
Definition: XrdSysError.hh:90
XrdCryptoMsgDigest * sessionMD
Definition: XrdSecProtocolgsi.hh:397
static int InitProxy(ProxyIn_t *pi, XrdCryptoFactory *cf, X509Chain *ch=0, XrdCryptoRSA **key=0)
char * exppxy
Definition: XrdSecProtocolgsi.hh:200
Definition: XrdCryptoX509Crl.hh:49
@ kGSErrParseBuffer
Definition: XrdSecProtocolgsi.hh:116
char mode
Definition: XrdSecProtocolgsi.hh:169
static String GMAPFile
Definition: XrdSecProtocolgsi.hh:336
virtual ~gsiOptions()
Definition: XrdSecProtocolgsi.hh:222
static String SrvCert
Definition: XrdSecProtocolgsi.hh:320
int(* XrdSecgsiAuthzKey_t)(XrdSecEntity &, char **)
Definition: XrdSecProtocolgsi.hh:157
@ kGSErrCreateBucket
Definition: XrdSecProtocolgsi.hh:120
char * gmapfun
Definition: XrdSecProtocolgsi.hh:189
Definition: XrdOucString.hh:254
XrdSutBucket * Cbck
Definition: XrdSecProtocolgsi.hh:500
static int TimeSkew
Definition: XrdSecProtocolgsi.hh:385
Definition: XrdCryptoFactory.hh:122
XrdSutPFEntry * Cref
Definition: XrdSecProtocolgsi.hh:502
static int CRLCheck
Definition: XrdSecProtocolgsi.hh:329
@ kXGC_certreq
Definition: XrdSecProtocolgsi.hh:88
Definition: XrdSutBucket.hh:44
XrdSutBucket * cbck
Definition: XrdSecProtocolgsi.hh:233
bool Tty
Definition: XrdSecProtocolgsi.hh:508
int ClientDoPxyreq(XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
bool RtagOK
Definition: XrdSecProtocolgsi.hh:507
void Dump(XrdSecProtocolgsi *p=0)
kgsiErrors
Definition: XrdSecProtocolgsi.hh:115
@ kGSErrSaveCreds
Definition: XrdSecProtocolgsi.hh:134
XrdOucString String
Definition: XrdSecProtocolgsi.hh:61