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   10600
 
#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 244 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 237 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 72 of file XrdSecProtocolgsi.hh.

◆ REL1

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

Definition at line 150 of file XrdSecProtocolgsi.hh.

◆ REL2

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

Definition at line 151 of file XrdSecProtocolgsi.hh.

◆ REL3

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

Definition at line 152 of file XrdSecProtocolgsi.hh.

◆ SafeDelArray

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

Definition at line 155 of file XrdSecProtocolgsi.hh.

◆ SafeDelete

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

Definition at line 154 of file XrdSecProtocolgsi.hh.

◆ SafeFree

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

Definition at line 156 of file XrdSecProtocolgsi.hh.

◆ XrdCryptoMax

#define XrdCryptoMax   10

Definition at line 70 of file XrdSecProtocolgsi.hh.

◆ XrdSecDEBUG

#define XrdSecDEBUG   0x1000

Definition at line 69 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVersCertKey

#define XrdSecgsiVersCertKey   10600

Definition at line 77 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVersDHsigned

#define XrdSecgsiVersDHsigned   10400

Definition at line 75 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVERSION

#define XrdSecgsiVERSION   10600

Definition at line 67 of file XrdSecProtocolgsi.hh.

◆ XrdSecNOIPCHK

#define XrdSecNOIPCHK   0x0001

Definition at line 68 of file XrdSecProtocolgsi.hh.

◆ XrdSecPROTOIDENT

#define XrdSecPROTOIDENT   "gsi"

Definition at line 65 of file XrdSecProtocolgsi.hh.

◆ XrdSecPROTOIDLEN

#define XrdSecPROTOIDLEN   sizeof(XrdSecPROTOIDENT)

Definition at line 66 of file XrdSecProtocolgsi.hh.

Typedef Documentation

◆ String

Definition at line 62 of file XrdSecProtocolgsi.hh.

◆ X509Chain

Definition at line 63 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiAuthz_t

typedef int(* XrdSecgsiAuthz_t) (XrdSecEntity &)

Definition at line 160 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiAuthzInit_t

typedef int(* XrdSecgsiAuthzInit_t) (const char *)

Definition at line 161 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiAuthzKey_t

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

Definition at line 162 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiGMAP_t

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

Definition at line 159 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVOMS_t

Definition at line 164 of file XrdSecProtocolgsi.hh.

◆ XrdSecgsiVOMSInit_t

Enumeration Type Documentation

◆ kgsiClientSteps

Enumerator
kXGC_none 
kXGC_certreq 
kXGC_cert 
kXGC_sigpxy 
kXGC_reserved 

Definition at line 89 of file XrdSecProtocolgsi.hh.

89  {
90  kXGC_none = 0,
91  kXGC_certreq = 1000, // 1000: request server certificate
92  kXGC_cert, // 1001: packet with (proxy) certificate
93  kXGC_sigpxy, // 1002: packet with signed proxy certificate
94  kXGC_reserved //
95 };
@ 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 120 of file XrdSecProtocolgsi.hh.

120  {
121  kGSErrParseBuffer = 10000, // 10000
122  kGSErrDecodeBuffer, // 10001
123  kGSErrLoadCrypto, // 10002
124  kGSErrBadProtocol, // 10003
125  kGSErrCreateBucket, // 10004
126  kGSErrDuplicateBucket, // 10005
127  kGSErrCreateBuffer, // 10006
128  kGSErrSerialBuffer, // 10007
129  kGSErrGenCipher, // 10008
130  kGSErrExportPuK, // 10009
131  kGSErrEncRndmTag, // 10010
132  kGSErrBadRndmTag, // 10011
133  kGSErrNoRndmTag, // 10012
134  kGSErrNoCipher, // 10013
135  kGSErrNoCreds, // 10014
136  kGSErrBadOpt, // 10015
137  kGSErrMarshal, // 10016
138  kGSErrUnmarshal, // 10017
139  kGSErrSaveCreds, // 10018
140  kGSErrNoBuffer, // 10019
141  kGSErrRefCipher, // 10020
142  kGSErrNoPublic, // 10021
143  kGSErrAddBucket, // 10022
144  kGSErrFinCipher, // 10023
145  kGSErrInit, // 10024
146  kGSErrBadCreds, // 10025
147  kGSErrError // 10026
148 };
@ 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 107 of file XrdSecProtocolgsi.hh.

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

◆ kgsiServerSteps

Enumerator
kXGS_none 
kXGS_init 
kXGS_cert 
kXGS_pxyreq 
kXGS_reserved 

Definition at line 98 of file XrdSecProtocolgsi.hh.

98  {
99  kXGS_none = 0,
100  kXGS_init = 2000, // 2000: fake code used the first time
101  kXGS_cert, // 2001: packet with certificate
102  kXGS_pxyreq, // 2002: packet with proxy req to be signed
103  kXGS_reserved //
104 };
@ kXGS_cert
@ kXGS_none
@ kXGS_pxyreq
@ kXGS_init
@ kXGS_reserved

◆ kgsiStatus

enum kgsiStatus
Enumerator
kgST_error 
kgST_ok 
kgST_more 

Definition at line 82 of file XrdSecProtocolgsi.hh.

82  {
83  kgST_error = -1, // error occurred
84  kgST_ok = 0, // ok
85  kgST_more = 1 // need more info
86 };
@ kgST_ok
@ kgST_error
@ kgST_more