![]() |
XRootD
|
#include <XrdSecProtocolsss.hh>
Classes | |
struct | Crypto |
Public Member Functions | |
XrdSecProtocolsss (const char *hname, XrdNetAddrInfo &endPoint) | |
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) |
![]() | |
XrdSecProtocol (const char *pName) | |
Constructor. More... | |
virtual int | Decrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual int | Encrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual int | getKey (char *buff=0, int size=0) |
virtual bool | needTLS () |
Check if this protocol requires TLS to properly function. More... | |
virtual int | setKey (char *buff, int size) |
virtual int | Sign (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual int | Verify (const char *inbuff, int inlen, const char *sigbuff, int siglen) |
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) |
Friends | |
class | XrdSecProtocolDummy |
Additional Inherited Members | |
![]() | |
XrdSecEntity | Entity |
![]() | |
virtual | ~XrdSecProtocol () |
Destructor (prevents use of direct delete). More... | |
Definition at line 134 of file XrdSecProtocolsss.cc.
struct XrdSecProtocolsss::Crypto |
Definition at line 80 of file XrdSecProtocolsss.hh.
Class Members | ||
---|---|---|
const char * | cName | |
char | cType |
|
inline |
Definition at line 74 of file XrdSecProtocolsss.hh.
|
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.
Definition at line 151 of file XrdSecProtocolsss.cc.
References XrdSecEntityAttr::Add(), XrdSecsssKT::ktEnt::allUSR, XrdSecsssKT::ktEnt::anyGRP, XrdSecsssKT::ktEnt::anyUSR, XrdSecBuffer::buffer, XrdSecEntity::caps, CLDBG, XrdSecEntity::creds, XrdSecEntity::credslen, XrdSecsssKT::ktEnt::Data, XrdSecsssRR_Data::Data, XrdSecsssRR_DataResp::Data, XrdSecEntity::eaAPI, XrdSecEntity::endorsements, XrdSecProtocol::Entity, Fatal(), XrdOucUtils::getGID(), XrdOucUtils::getUID(), XrdSecEntity::gid, XrdSecEntity::grps, XrdSecsssKT::ktEnt::ktData::Grup, XrdSecEntity::host, XrdSecsssRR_Data::MaxDSz, XrdSecEntity::name, XrdSecsssKT::ktEnt::noIPCK, XrdSecsssRR_DataHdr::Options, XrdSecsssKT::ktEnt::ktData::Opts, XrdOucPup::Pack(), XrdSecEntity::pident, XrdSecEntity::prot, XrdSecEntity::role, XrdSecBuffer::size, XrdSecsssRR_DataHdr::SndLID, strlcpy(), XrdSecsssRR_Data::theAKey, XrdSecsssRR_Data::theAuth, XrdSecsssRR_Data::theAVal, XrdSecsssRR_Data::theCaps, XrdSecsssRR_Data::theCred, XrdSecsssRR_Data::theEndo, XrdSecsssRR_Data::theGrps, XrdSecsssRR_Data::theGrup, XrdSecsssRR_Data::theHost, XrdSecsssRR_Data::theLgid, XrdSecsssRR_Data::theName, XrdSecsssRR_Data::theRand, XrdSecsssRR_Data::theRole, XrdSecsssRR_Data::theTID, XrdSecsssRR_Data::theUser, XrdSecsssRR_Data::theVorg, XrdSecEntity::uid, XrdOucPup::Unpack(), XrdSecsssKT::ktEnt::ktData::User, XrdSecsssKT::ktEnt::usrGRP, XrdSecEntity::vorg, XrdSecPROTOIDSIZE, and XrdSecsssRR_Data_HdrLen.
|
virtual |
Delete the protocol object. DO NOT use C++ delete() on this object.
Implements XrdSecProtocol.
Definition at line 433 of file XrdSecProtocolsss.cc.
Referenced by XrdSecProtocolsssObject().
|
static |
Definition at line 450 of file XrdSecProtocolsss.cc.
References XrdSysE2T().
Referenced by Fatal().
|
static |
Definition at line 520 of file XrdSecProtocolsss.cc.
References CLDBG, eMsg(), and XrdOucErrInfo::setErrInfo().
Referenced by Authenticate(), getCredentials(), Init_Client(), Load_Client(), Load_Server(), and XrdSecProtocolsssObject().
|
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.
Definition at line 633 of file XrdSecProtocolsss.cc.
References CLDBG, XrdSecsssKT::ktEnt::Data, XrdSecsssRR_Hdr::EncType, Fatal(), XrdOucEnv::Get(), XrdOucErrInfo::getEnv(), XrdSecsssKT::getKey(), XrdSecsssKT::ktEnt::ktData::ID, XrdNetUtils::IPFormat(), XrdSecsssRR_Hdr::KeyID, XrdSecsssRR_Hdr2::keyName, XrdSecsssRR_Hdr::knSize, XrdSecsssKT::ktEnt::ktData::Name, XrdNetUtils::oldFmt, XrdSecsssRR_Hdr::Pad, XrdSecsssRR_Hdr::ProtID, XrdNetAddrInfo::SockFD(), and XrdsssPROTOIDENT.
int XrdSecProtocolsss::Init_Client | ( | XrdOucErrInfo * | erp, |
const char * | Parms | ||
) |
Definition at line 726 of file XrdSecProtocolsss.cc.
References XrdSecsssEnt::addCreds, XrdSecsssEnt::addExtra, CLDBG, Fatal(), XrdOucErrInfo::getErrInfo(), XrdSecsssKT::isClient, XrdSecsssKT::Same(), and stat().
Referenced by XrdSecProtocolsssObject().
int XrdSecProtocolsss::Init_Server | ( | XrdOucErrInfo * | erp, |
const char * | Parms | ||
) |
Definition at line 787 of file XrdSecProtocolsss.cc.
Referenced by XrdSecProtocolsssObject().
|
static |
Definition at line 801 of file XrdSecProtocolsss.cc.
References CLDBG, Fatal(), XrdSecsssKT::genFN(), XrdOucEnv::Get(), XrdOucErrInfo::getEnv(), XrdOucErrInfo::getErrInfo(), XrdSecsssID::idDynamic, XrdSecsssID::idMapped, XrdSecsssID::idMappedM, XrdSecsssID::idStatic, XrdSecsssID::idStaticM, XrdSecsssKT::isClient, XrdNetUtils::MyHostName(), XrdSecsssEnt::setHostName(), and stat().
Referenced by XrdSecProtocolsssInit().
|
static |
Definition at line 934 of file XrdSecProtocolsss.cc.
References CLDBG, Fatal(), XrdSecsssKT::genFN(), XrdOucErrInfo::getErrInfo(), XrdOucTokenizer::GetLine(), XrdOucTokenizer::GetToken(), XrdSecsssKT::isServer, strlcpy(), and XrdCryptoLite::Type().
Referenced by XrdSecProtocolsssInit().
|
friend |
Definition at line 47 of file XrdSecProtocolsss.hh.