|
xrootd
|
#include <XrdSecProtocolsss.hh>


Classes | |
| struct | Crypto |
Public Member Functions | |
| int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0) |
| void | Delete () |
| Delete the protocol object. DO NOT use C++ delete() on this object. More... | |
| XrdSecCredentials * | getCredentials (XrdSecParameters *parms=0, XrdOucErrInfo *einfo=0) |
| int | Init_Client (XrdOucErrInfo *erp, const char *Parms) |
| int | Init_Server (XrdOucErrInfo *erp, const char *Parms) |
| XrdSecProtocolsss (const char *hname, const struct sockaddr *ipadd) | |
Public Member Functions inherited from XrdSecProtocol | |
| virtual int | Encrypt (const char *, int, XrdSecBuffer **) |
| virtual int | Decrypt (const char *, int, XrdSecBuffer **) |
| virtual int | Sign (const char *, int, XrdSecBuffer **) |
| virtual int | Verify (const char *, int, const char *, int) |
| virtual int | getKey (char *=0, int=0) |
| virtual int | setKey (char *, int) |
| XrdSecProtocol (const char *pName) | |
| Constructor. More... | |
Static Public Member Functions | |
| static int | eMsg (const char *epn, int rc, const char *txt1, const char *txt2=0, const char *txt3=0, const char *txt4=0) |
| static int | Fatal (XrdOucErrInfo *erP, const char *epn, int rc, const char *etxt) |
| static char * | Load_Client (XrdOucErrInfo *erp, const char *Parms) |
| static char * | Load_Server (XrdOucErrInfo *erp, const char *Parms) |
| static void | setOpts (int opts) |
Public Attributes | |
| bf32 | |
Public Attributes inherited from XrdSecProtocol | |
| XrdSecEntity | Entity |
Private Member Functions | |
| ~XrdSecProtocolsss () | |
| int | Decode (XrdOucErrInfo *error, XrdSecsssKT::ktEnt &decKey, char *iBuff, XrdSecsssRR_Data *rrData, int iSize) |
| XrdSecCredentials * | Encode (XrdOucErrInfo *error, XrdSecsssKT::ktEnt &encKey, XrdSecsssRR_Hdr *rrHdr, XrdSecsssRR_Data *rrData, int dLen) |
| int | getCred (XrdOucErrInfo *, XrdSecsssRR_Data &) |
| int | getCred (XrdOucErrInfo *, XrdSecsssRR_Data &, XrdSecParameters *) |
| char * | getLID (char *buff, int blen) |
| int | myClock () |
| char * | setID (char *id, char **idP) |
| void | setIP (const struct sockaddr *sockP) |
Static Private Member Functions | |
| static XrdCryptoLite * | Load_Crypto (XrdOucErrInfo *erp, const char *eN) |
| static XrdCryptoLite * | Load_Crypto (XrdOucErrInfo *erp, const char eT) |
Private Attributes | |
| char * | urName |
| char | urIP [64] |
| XrdSecsssKT * | keyTab |
| XrdCryptoLite * | Crypto |
| char * | idBuff |
| int | Sequence |
Static Private Attributes | |
| static struct Crypto | CryptoTab [] |
| static const char * | myName |
| static int | myNLen |
| static int | options = 0 |
| static int | isMutual = 0 |
| static int | deltaTime =13 |
| static int | ktFixed = 0 |
| static XrdSecsssKT * | ktObject = 0 |
| static XrdCryptoLite * | CryptObj = 0 |
| static XrdSecsssID * | idMap = 0 |
| static char * | staticID = 0 |
| static int | staticIDsz = 0 |
Friends | |
| class | XrdSecProtocolDummy |
Additional Inherited Members | |
Protected Member Functions inherited from XrdSecProtocol | |
| virtual | ~XrdSecProtocol () |
| Destructor (prevents use of direct delete). More... | |
|
inline |
|
inlineprivate |
|
virtual |
Authenticate a client.
| cred | Credentials supplied by the client. |
| parms | Place where the address of additional authentication data is to be placed for another autrhentication handshake. |
| einfo | The error information object where error messages should be placed. The messages are returned to the client. Should einfo be null, messages should be written to stderr. |
Implements XrdSecProtocol.
References XrdSecsssKT::ktEnt::anyGRP, XrdSecsssKT::ktEnt::anyUSR, XrdSecBuffer::buffer, CLDBG, XrdSecsssRR_Data::Data, XrdSecsssKT::ktEnt::Data, Decode(), Encode(), XrdSecEntity::endorsements, XrdSecProtocol::Entity, Fatal(), getLID(), XrdSecEntity::grps, XrdSecsssKT::ktEnt::ktData::Grup, idBuff, XrdSecEntity::name, XrdSecsssRR_Data::Options, XrdSecsssKT::ktEnt::ktData::Opts, XrdOucPup::Pack(), XrdSecEntity::role, setID(), XrdSecBuffer::size, XrdSecsssRR_Data::SndLID, XrdSecsssRR_Data::theEndo, XrdSecsssRR_Data::theGrps, XrdSecsssRR_Data::theHost, XrdSecsssRR_Data::theLgid, XrdSecsssRR_Data::theName, XrdSecsssRR_Data::theRand, XrdSecsssRR_Data::theRole, XrdSecsssRR_Data::theVorg, XrdOucPup::Unpack(), urIP, urName, XrdSecsssKT::ktEnt::ktData::User, XrdSecsssKT::ktEnt::usrGRP, and XrdSecEntity::vorg.
|
private |
References XrdSecsssKT::ktEnt::Data, XrdSecsssRR_Data::DataSz, deltaTime, emsg(), XrdSecsssRR_Hdr::EncType, Fatal(), XrdSecsssRR_Data::GenTime, XrdSecsssKT::getKey(), XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssRR_Hdr::KeyID, keyTab, XrdSecsssKT::ktEnt::ktData::Len, myClock(), XrdSecsssKT::ktEnt::ktData::Name, XrdSecsssRR_Hdr::ProtID, XrdSecsssKT::ktEnt::ktData::Val, and XrdSecPROTOIDENT.
Referenced by Authenticate(), and getCred().
|
virtual |
Delete the protocol object. DO NOT use C++ delete() on this object.
Implements XrdSecProtocol.
References XrdSecProtocol::Entity, XrdSecEntity::host, idBuff, keyTab, ktObject, and urName.
Referenced by XrdSecProtocolsssObject().
|
static |
Referenced by Fatal().
|
private |
References CLDBG, XrdSecsssRR_Data::Data, XrdSecsssKT::ktEnt::Data, Fatal(), XrdSecsssKT::genKey(), XrdSecsssRR_Data::GenTime, XrdOucEnv::Get(), XrdOucErrInfo::getEnv(), XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssKT::ktEnt::ktData::Len, myClock(), myName, myNLen, XrdOucPup::Pack(), XrdSecsssRR_Data::Pad, XrdSecsssRR_Data::Rand, XrdSecsssRR_Data::theHost, XrdSecsssRR_Data::theRand, and XrdSecsssKT::ktEnt::ktData::Val.
Referenced by Authenticate(), and getCredentials().
|
static |
References CLDBG, eMsg(), and XrdOucErrInfo::setErrInfo().
Referenced by Authenticate(), Decode(), Encode(), getCred(), getCredentials(), Init_Client(), Load_Client(), Load_Crypto(), Load_Server(), and XrdSecProtocolsssObject().
|
private |
References XrdSecsssRR_Data::Data, isMutual, XrdSecsssRR_Data::Options, Sequence, XrdSecsssRR_Data::SndLID, staticID, staticIDsz, and XrdSecsssRR_Data_HdrLen.
Referenced by getCredentials().
|
private |
References XrdSecBuffer::buffer, XrdSecsssRR_Data::Data, Decode(), Fatal(), XrdSecsssID::Find(), idMap, XrdSecsssRR_Data::Options, XrdSecBuffer::size, staticID, staticIDsz, XrdSecsssRR_Data::theLgid, XrdSecsssRR_Data::theRand, XrdOucPup::Unpack(), XrdSecsssRR_Data::UseData, and XrdSecsssRR_Data_HdrLen.
|
virtual |
Generate client credentials to be used in the authentication process.
| parm | Pointer to the information returned by the server either in the initial login response or the authmore response. |
| einfo | The error information object where error messages should be placed. The messages are returned to the client. Should einfo be null, messages should be written to stderr. |
Implements XrdSecProtocol.
References XrdSecsssKT::ktEnt::Data, Encode(), XrdSecsssRR_Hdr::EncType, Fatal(), getCred(), XrdSecsssKT::getKey(), XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssRR_Hdr::KeyID, keyTab, XrdSecsssRR_Hdr::Pad, XrdSecsssRR_Hdr::ProtID, Sequence, and XrdSecPROTOIDENT.
|
private |
References XrdSecProtocol::Entity, and XrdSecEntity::tident.
Referenced by Authenticate().
| int XrdSecProtocolsss::Init_Client | ( | XrdOucErrInfo * | erp, |
| const char * | Parms | ||
| ) |
References CLDBG, deltaTime, Fatal(), XrdOucErrInfo::getErrInfo(), XrdSecsssKT::isClient, keyTab, ktFixed, ktObject, Load_Crypto(), XrdSecsssKT::Same(), and stat().
Referenced by XrdSecProtocolsssObject().
| int XrdSecProtocolsss::Init_Server | ( | XrdOucErrInfo * | erp, |
| const char * | Parms | ||
| ) |
References CryptObj, keyTab, and ktObject.
Referenced by XrdSecProtocolsssObject().
|
static |
References CLDBG, Fatal(), XrdSecsssKT::genFN(), XrdOucErrInfo::getErrInfo(), XrdSysDNS::getHostName(), XrdSecsssID::getObj(), XrdSecsssID::idDynamic, idMap, XrdSecsssID::idStatic, XrdSecsssID::idStaticM, XrdSecsssKT::isClient, isMutual, ktFixed, ktObject, myName, myNLen, stat(), staticID, and staticIDsz.
Referenced by XrdSecProtocolsssInit().
|
staticprivate |
References XrdCryptoLite::Create(), CryptoTab, and Fatal().
Referenced by Init_Client(), and Load_Server().
|
staticprivate |
References XrdCryptoLite::Create(), CryptObj, CryptoTab, Fatal(), and XrdCryptoLite::Type().
|
static |
References CLDBG, CryptObj, deltaTime, Fatal(), XrdSecsssKT::genFN(), XrdOucErrInfo::getErrInfo(), XrdOucTokenizer::GetLine(), XrdOucTokenizer::GetToken(), XrdSecsssKT::isServer, ktFixed, ktObject, Load_Crypto(), strlcpy(), and XrdCryptoLite::Type().
Referenced by XrdSecProtocolsssInit().
|
private |
Referenced by Authenticate().
|
private |
References XrdSysDNS::IPFormat(), and urIP.
Referenced by XrdSecProtocolsss().
|
inlinestatic |
Referenced by XrdSecProtocolsssInit().
|
friend |
| XrdSecProtocolsss::bf32 |
|
private |
|
staticprivate |
Referenced by Init_Server(), Load_Crypto(), and Load_Server().
|
staticprivate |
Referenced by Load_Crypto().
|
staticprivate |
Referenced by Decode(), Init_Client(), and Load_Server().
|
private |
Referenced by Authenticate(), and Delete().
|
staticprivate |
Referenced by getCred(), and Load_Client().
|
staticprivate |
Referenced by getCred(), and Load_Client().
|
private |
Referenced by Decode(), Delete(), getCredentials(), Init_Client(), and Init_Server().
|
staticprivate |
Referenced by Init_Client(), Load_Client(), and Load_Server().
|
staticprivate |
Referenced by Delete(), Init_Client(), Init_Server(), Load_Client(), and Load_Server().
|
staticprivate |
Referenced by Encode(), and Load_Client().
|
staticprivate |
Referenced by Encode(), and Load_Client().
|
staticprivate |
Referenced by setOpts().
|
private |
Referenced by getCred(), and getCredentials().
|
staticprivate |
Referenced by getCred(), and Load_Client().
|
staticprivate |
Referenced by getCred(), and Load_Client().
|
private |
Referenced by Authenticate(), and setIP().
|
private |
Referenced by Authenticate(), Delete(), and XrdSecProtocolsss().
1.8.3.1