xrootd
|
#include <XrdSecProtocolsss.hh>
Classes | |
struct | Crypto |
Public Member Functions | |
int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0) |
void | Delete () |
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) | |
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 | |
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) |
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 |
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 |
XrdSecProtocolsss::XrdSecProtocolsss | ( | const char * | hname, |
const struct sockaddr * | ipadd | ||
) | [inline] |
References urName.
XrdSecProtocolsss::~XrdSecProtocolsss | ( | ) | [inline, private] |
int XrdSecProtocolsss::Authenticate | ( | XrdSecCredentials * | cred, |
XrdSecParameters ** | parms, | ||
XrdOucErrInfo * | einfo = 0 |
||
) | [virtual] |
Implements XrdSecProtocol.
References XrdSecsssKT::ktEnt::anyGRP, XrdSecsssKT::ktEnt::anyUSR, XrdSecBuffer::buffer, XrdSecsssKT::ktEnt::Data, XrdSecsssRR_Data::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(), urName, XrdSecsssKT::ktEnt::ktData::User, XrdSecsssKT::ktEnt::usrGRP, and XrdSecEntity::vorg.
int XrdSecProtocolsss::Decode | ( | XrdOucErrInfo * | error, |
XrdSecsssKT::ktEnt & | decKey, | ||
char * | iBuff, | ||
XrdSecsssRR_Data * | rrData, | ||
int | iSize | ||
) | [private] |
References XrdSecsssKT::ktEnt::Data, XrdSecsssRR_Data::DataSz, deltaTime, emsg(), XrdSecsssRR_Hdr::EncType, Fatal(), XrdSecsssKT::getKey(), XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssRR_Hdr::KeyID, keyTab, XrdSecsssKT::ktEnt::ktData::Len, myClock(), XrdSecsssKT::ktEnt::ktData::Name, ntohll, XrdSecsssRR_Hdr::ProtID, snprintf, XrdSecsssKT::ktEnt::ktData::Val, and XrdSecPROTOIDENT.
Referenced by Authenticate(), and getCred().
void XrdSecProtocolsss::Delete | ( | ) | [virtual] |
Implements XrdSecProtocol.
References XrdSecProtocol::Entity, XrdSecEntity::host, idBuff, keyTab, ktObject, and urName.
Referenced by XrdSecProtocolsssObject().
int XrdSecProtocolsss::eMsg | ( | const char * | epn, |
int | rc, | ||
const char * | txt1, | ||
const char * | txt2 = 0 , |
||
const char * | txt3 = 0 , |
||
const char * | txt4 = 0 |
||
) | [static] |
Referenced by Fatal().
XrdSecCredentials * XrdSecProtocolsss::Encode | ( | XrdOucErrInfo * | error, |
XrdSecsssKT::ktEnt & | encKey, | ||
XrdSecsssRR_Hdr * | rrHdr, | ||
XrdSecsssRR_Data * | rrData, | ||
int | dLen | ||
) | [private] |
References CLDBG, XrdSecsssKT::ktEnt::Data, XrdSecsssRR_Data::Data, ENOBUFS, Fatal(), XrdSecsssKT::genKey(), XrdSecsssRR_Data::GenTime, 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().
int XrdSecProtocolsss::Fatal | ( | XrdOucErrInfo * | erP, |
const char * | epn, | ||
int | rc, | ||
const char * | etxt | ||
) | [static] |
References CLDBG, eMsg(), and XrdOucErrInfo::setErrInfo().
Referenced by Authenticate(), Decode(), Encode(), getCred(), getCredentials(), Init_Client(), Load_Client(), Load_Crypto(), Load_Server(), and XrdSecProtocolsssObject().
int XrdSecProtocolsss::getCred | ( | XrdOucErrInfo * | einfo, |
XrdSecsssRR_Data & | rrData | ||
) | [private] |
References XrdSecsssRR_Data::Data, isMutual, XrdSecsssRR_Data::Options, Sequence, XrdSecsssRR_Data::SndLID, staticID, staticIDsz, and XrdSecsssRR_Data_HdrLen.
Referenced by getCredentials().
int XrdSecProtocolsss::getCred | ( | XrdOucErrInfo * | einfo, |
XrdSecsssRR_Data & | rrData, | ||
XrdSecParameters * | parm | ||
) | [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.
XrdSecCredentials * XrdSecProtocolsss::getCredentials | ( | XrdSecParameters * | parms = 0 , |
XrdOucErrInfo * | einfo = 0 |
||
) | [virtual] |
char * XrdSecProtocolsss::getLID | ( | char * | buff, |
int | blen | ||
) | [private] |
References XrdSecProtocol::Entity, index(), 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().
char * XrdSecProtocolsss::Load_Client | ( | XrdOucErrInfo * | erp, |
const char * | Parms | ||
) | [static] |
References CLDBG, Fatal(), XrdSecsssKT::genFN(), XrdOucErrInfo::getErrInfo(), XrdNetDNS::getHostName(), XrdSecsssID::getObj(), XrdSecsssID::idDynamic, idMap, XrdSecsssID::idStatic, XrdSecsssID::idStaticM, XrdSecsssKT::isClient, isMutual, ktFixed, ktObject, myName, myNLen, stat(), staticID, and staticIDsz.
Referenced by XrdSecProtocolsssInit().
XrdCryptoLite * XrdSecProtocolsss::Load_Crypto | ( | XrdOucErrInfo * | erp, |
const char * | eN | ||
) | [static, private] |
References XrdCryptoLite::Create(), CryptoTab, and Fatal().
Referenced by Init_Client(), and Load_Server().
XrdCryptoLite * XrdSecProtocolsss::Load_Crypto | ( | XrdOucErrInfo * | erp, |
const char | eT | ||
) | [static, private] |
References XrdCryptoLite::Create(), CryptObj, CryptoTab, Fatal(), and XrdCryptoLite::Type().
char * XrdSecProtocolsss::Load_Server | ( | XrdOucErrInfo * | erp, |
const char * | Parms | ||
) | [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().
char * XrdSecProtocolsss::setID | ( | char * | id, |
char ** | idP | ||
) | [private] |
Referenced by Authenticate().
static void XrdSecProtocolsss::setOpts | ( | int | opts | ) | [inline, static] |
Referenced by XrdSecProtocolsssInit().
friend class XrdSecProtocolDummy [friend] |
XrdCryptoLite* XrdSecProtocolsss::Crypto [private] |
XrdCryptoLite * XrdSecProtocolsss::CryptObj = 0 [static, private] |
Referenced by Init_Server(), Load_Crypto(), and Load_Server().
struct Crypto XrdSecProtocolsss::CryptoTab[] [static, private] |
Referenced by Load_Crypto().
int XrdSecProtocolsss::deltaTime = 13 [static, private] |
Referenced by Decode(), Init_Client(), and Load_Server().
char* XrdSecProtocolsss::idBuff [private] |
Referenced by Authenticate(), and Delete().
XrdSecsssID * XrdSecProtocolsss::idMap = 0 [static, private] |
Referenced by getCred(), and Load_Client().
int XrdSecProtocolsss::isMutual = 0 [static, private] |
Referenced by getCred(), and Load_Client().
XrdSecsssKT* XrdSecProtocolsss::keyTab [private] |
Referenced by Decode(), Delete(), getCredentials(), Init_Client(), and Init_Server().
int XrdSecProtocolsss::ktFixed = 0 [static, private] |
Referenced by Init_Client(), Load_Client(), and Load_Server().
XrdSecsssKT * XrdSecProtocolsss::ktObject = 0 [static, private] |
Referenced by Delete(), Init_Client(), Init_Server(), Load_Client(), and Load_Server().
const char * XrdSecProtocolsss::myName [static, private] |
Referenced by Encode(), and Load_Client().
int XrdSecProtocolsss::myNLen [static, private] |
Referenced by Encode(), and Load_Client().
int XrdSecProtocolsss::options = 0 [static, private] |
Referenced by setOpts().
int XrdSecProtocolsss::Sequence [private] |
Referenced by getCred(), and getCredentials().
char * XrdSecProtocolsss::staticID = 0 [static, private] |
Referenced by getCred(), and Load_Client().
int XrdSecProtocolsss::staticIDsz = 0 [static, private] |
Referenced by getCred(), and Load_Client().
char* XrdSecProtocolsss::urName [private] |
Referenced by Authenticate(), Delete(), and XrdSecProtocolsss().