#include <XrdSecProtocolsss.hh>
Inheritance diagram for XrdSecProtocolsss:
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) |
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 |
static int | isMutual |
static int | deltaTime |
static int | ktFixed |
static XrdSecsssKT * | ktObject |
static XrdCryptoLite * | CryptObj |
static XrdSecsssID * | idMap |
static char * | staticID |
static int | staticIDsz |
Friends | |
class | XrdSecProtocolDummy |
Classes | |
struct | Crypto |
Definition at line 56 of file XrdSecProtocolsss.cc.
XrdSecProtocolsss::XrdSecProtocolsss | ( | const char * | hname, | |
const struct sockaddr * | ipadd | |||
) | [inline] |
XrdSecProtocolsss::~XrdSecProtocolsss | ( | ) | [inline, private] |
Definition at line 62 of file XrdSecProtocolsss.hh.
int XrdSecProtocolsss::Authenticate | ( | XrdSecCredentials * | cred, | |
XrdSecParameters ** | parms, | |||
XrdOucErrInfo * | einfo = 0 | |||
) | [virtual] |
Implements XrdSecProtocol.
Definition at line 65 of file XrdSecProtocolsss.cc.
References XrdSecsssKT::ktEnt::anyGRP, XrdSecsssKT::ktEnt::anyUSR, XrdSecBuffer::buffer, XrdSecsssRR_Data::Data, XrdSecsssKT::ktEnt::Data, Decode(), Encode(), XrdSecEntity::endorsements, XrdSecProtocol::Entity, Fatal(), free(), getLID(), XrdSecEntity::grps, XrdSecsssKT::ktEnt::ktData::Grup, idBuff, malloc(), 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.
void XrdSecProtocolsss::Delete | ( | ) | [virtual] |
Implements XrdSecProtocol.
Definition at line 167 of file XrdSecProtocolsss.cc.
References XrdSecProtocol::Entity, free(), 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] |
int XrdSecProtocolsss::Fatal | ( | XrdOucErrInfo * | erP, | |
const char * | epn, | |||
int | rc, | |||
const char * | etxt | |||
) | [static] |
Definition at line 203 of file XrdSecProtocolsss.cc.
References CLDBG, eMsg(), and XrdOucErrInfo::setErrInfo().
Referenced by Authenticate(), Decode(), Encode(), getCred(), getCredentials(), Init_Client(), Load_Client(), Load_Crypto(), Load_Server(), and XrdSecProtocolsssObject().
XrdSecCredentials * XrdSecProtocolsss::getCredentials | ( | XrdSecParameters * | parms = 0 , |
|
XrdOucErrInfo * | einfo = 0 | |||
) | [virtual] |
Implements XrdSecProtocol.
Definition at line 217 of file XrdSecProtocolsss.cc.
References XrdSecsssKT::ktEnt::Data, Encode(), XrdSecsssRR_Hdr::EncType, Fatal(), getCred(), XrdSecsssKT::getKey(), htonll, XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssRR_Hdr::KeyID, keyTab, XrdSecsssRR_Hdr::Pad, XrdSecsssRR_Hdr::ProtID, Sequence, strcpy(), and XrdSecPROTOIDENT.
int XrdSecProtocolsss::Init_Client | ( | XrdOucErrInfo * | erp, | |
const char * | Parms | |||
) |
Definition at line 254 of file XrdSecProtocolsss.cc.
References CLDBG, deltaTime, Fatal(), XrdSecsssKT::isClient, keyTab, ktFixed, ktObject, Load_Crypto(), XrdSecsssKT::Same(), stat, and strtol().
Referenced by XrdSecProtocolsssObject().
int XrdSecProtocolsss::Init_Server | ( | XrdOucErrInfo * | erp, | |
const char * | Parms | |||
) |
Definition at line 307 of file XrdSecProtocolsss.cc.
References CryptObj, keyTab, and ktObject.
Referenced by XrdSecProtocolsssObject().
char * XrdSecProtocolsss::Load_Client | ( | XrdOucErrInfo * | erp, | |
const char * | Parms | |||
) | [static] |
Definition at line 321 of file XrdSecProtocolsss.cc.
References CLDBG, Fatal(), XrdSecsssKT::genFN(), getenv(), 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().
char * XrdSecProtocolsss::Load_Server | ( | XrdOucErrInfo * | erp, | |
const char * | Parms | |||
) | [static] |
Definition at line 440 of file XrdSecProtocolsss.cc.
References CLDBG, CryptObj, deltaTime, Fatal(), XrdSecsssKT::genFN(), XrdOucTokenizer::GetLine(), XrdOucTokenizer::GetToken(), XrdSecsssKT::isServer, ktFixed, ktObject, Load_Crypto(), sprintf(), strlcpy(), strtol(), and XrdCryptoLite::Type().
Referenced by XrdSecProtocolsssInit().
static void XrdSecProtocolsss::setOpts | ( | int | opts | ) | [inline, static] |
Definition at line 51 of file XrdSecProtocolsss.hh.
References options.
Referenced by XrdSecProtocolsssInit().
int XrdSecProtocolsss::Decode | ( | XrdOucErrInfo * | error, | |
XrdSecsssKT::ktEnt & | decKey, | |||
char * | iBuff, | |||
XrdSecsssRR_Data * | rrData, | |||
int | iSize | |||
) | [private] |
Definition at line 520 of file XrdSecProtocolsss.cc.
References XrdSecsssKT::ktEnt::Data, XrdSecsssRR_Data::DataSz, deltaTime, emsg(), XrdSecsssRR_Hdr::EncType, ENOTSUP, error, 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().
XrdSecCredentials * XrdSecProtocolsss::Encode | ( | XrdOucErrInfo * | error, | |
XrdSecsssKT::ktEnt & | encKey, | |||
XrdSecsssRR_Hdr * | rrHdr, | |||
XrdSecsssRR_Data * | rrData, | |||
int | dLen | |||
) | [private] |
Definition at line 580 of file XrdSecProtocolsss.cc.
References CLDBG, XrdSecsssRR_Data::Data, XrdSecsssKT::ktEnt::Data, ENOBUFS, Fatal(), XrdSecsssKT::genKey(), XrdSecsssRR_Data::GenTime, XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssKT::ktEnt::ktData::Len, malloc(), 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::getCred | ( | XrdOucErrInfo * | , | |
XrdSecsssRR_Data & | ||||
) | [private] |
Definition at line 650 of file XrdSecProtocolsss.cc.
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 * | , | |
XrdSecsssRR_Data & | , | |||
XrdSecParameters * | ||||
) | [private] |
Definition at line 673 of file XrdSecProtocolsss.cc.
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.
char * XrdSecProtocolsss::getLID | ( | char * | buff, | |
int | blen | |||
) | [private] |
Definition at line 739 of file XrdSecProtocolsss.cc.
References RootCsg::dot(), XrdSecProtocol::Entity, strcpy(), and XrdSecEntity::tident.
Referenced by Authenticate().
XrdCryptoLite * XrdSecProtocolsss::Load_Crypto | ( | XrdOucErrInfo * | erp, | |
const char * | eN | |||
) | [static, private] |
Definition at line 376 of file XrdSecProtocolsss.cc.
References XrdCryptoLite::Create(), CryptoTab, Fatal(), i, sprintf(), and strerror().
Referenced by Init_Client(), and Load_Server().
XrdCryptoLite * XrdSecProtocolsss::Load_Crypto | ( | XrdOucErrInfo * | erp, | |
const char | eT | |||
) | [static, private] |
Definition at line 405 of file XrdSecProtocolsss.cc.
References XrdCryptoLite::Create(), CryptObj, CryptoTab, Fatal(), i, sprintf(), strerror(), and XrdCryptoLite::Type().
int XrdSecProtocolsss::myClock | ( | ) | [private] |
char * XrdSecProtocolsss::setID | ( | char * | id, | |
char ** | idP | |||
) | [private] |
friend class XrdSecProtocolDummy [friend] |
Definition at line 24 of file XrdSecProtocolsss.hh.
struct Crypto XrdSecProtocolsss::CryptoTab[] [static, private] |
const char * XrdSecProtocolsss::myName [static, private] |
int XrdSecProtocolsss::myNLen [static, private] |
char* XrdSecProtocolsss::urName [private] |
Definition at line 83 of file XrdSecProtocolsss.hh.
Referenced by Authenticate(), Delete(), and XrdSecProtocolsss().
int XrdSecProtocolsss::options [static, private] |
int XrdSecProtocolsss::isMutual [static, private] |
int XrdSecProtocolsss::deltaTime [static, private] |
Definition at line 86 of file XrdSecProtocolsss.hh.
Referenced by Decode(), Init_Client(), and Load_Server().
int XrdSecProtocolsss::ktFixed [static, private] |
Definition at line 87 of file XrdSecProtocolsss.hh.
Referenced by Init_Client(), Load_Client(), and Load_Server().
XrdSecsssKT * XrdSecProtocolsss::ktObject [static, private] |
Definition at line 89 of file XrdSecProtocolsss.hh.
Referenced by Delete(), Init_Client(), Init_Server(), Load_Client(), and Load_Server().
XrdSecsssKT* XrdSecProtocolsss::keyTab [private] |
Definition at line 90 of file XrdSecProtocolsss.hh.
Referenced by Decode(), Delete(), getCredentials(), Init_Client(), and Init_Server().
XrdCryptoLite * XrdSecProtocolsss::CryptObj [static, private] |
Definition at line 92 of file XrdSecProtocolsss.hh.
Referenced by Init_Server(), Load_Crypto(), and Load_Server().
XrdCryptoLite* XrdSecProtocolsss::Crypto [private] |
Definition at line 93 of file XrdSecProtocolsss.hh.
XrdSecsssID * XrdSecProtocolsss::idMap [static, private] |
char* XrdSecProtocolsss::idBuff [private] |
char * XrdSecProtocolsss::staticID [static, private] |
int XrdSecProtocolsss::staticIDsz [static, private] |
int XrdSecProtocolsss::Sequence [private] |