xrootd
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends
XrdSecProtocolsss Class Reference

#include <XrdSecProtocolsss.hh>

Inheritance diagram for XrdSecProtocolsss:
Inheritance graph
[legend]
Collaboration diagram for XrdSecProtocolsss:
Collaboration graph
[legend]

List of all members.

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.
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.

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).

Constructor & Destructor Documentation

XrdSecProtocolsss::XrdSecProtocolsss ( const char *  hname,
const struct sockaddr *  ipadd 
)
inline

References setIP(), and urName.

XrdSecProtocolsss::~XrdSecProtocolsss ( )
inlineprivate

Member Function Documentation

int XrdSecProtocolsss::Authenticate ( XrdSecCredentials *  cred,
XrdSecParameters **  parms,
XrdOucErrInfo *  einfo = 0 
)
virtual

Authenticate a client.

Parameters:
credCredentials supplied by the client.
parmsPlace where the address of additional authentication data is to be placed for another autrhentication handshake.
einfoThe 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.
Returns:
> 0 -> parms present (more authentication needed) = 0 -> Entity present (authentication suceeded) < 0 -> einfo present (error has occured)

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.

int XrdSecProtocolsss::Decode ( XrdOucErrInfo *  error,
XrdSecsssKT::ktEnt &  decKey,
char *  iBuff,
XrdSecsssRR_Data *  rrData,
int  iSize 
)
private
void XrdSecProtocolsss::Delete ( )
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().

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
int XrdSecProtocolsss::Fatal ( XrdOucErrInfo *  erP,
const char *  epn,
int  rc,
const char *  etxt 
)
static
int XrdSecProtocolsss::getCred ( XrdOucErrInfo *  einfo,
XrdSecsssRR_Data &  rrData 
)
private
int XrdSecProtocolsss::getCred ( XrdOucErrInfo *  einfo,
XrdSecsssRR_Data &  rrData,
XrdSecParameters *  parm 
)
private
XrdSecCredentials * XrdSecProtocolsss::getCredentials ( XrdSecParameters *  parm = 0,
XrdOucErrInfo *  einfo = 0 
)
virtual

Generate client credentials to be used in the authentication process.

Parameters:
parmPointer to the information returned by the server either in the initial login response or the authmore response.
einfoThe 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.
Returns:
Success: Pointer to credentials to sent to the server. The caller is responsible for deleting the object. Failure: Null pointer with einfo, if supplied, containing the reason for the failure.

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.

char * XrdSecProtocolsss::getLID ( char *  buff,
int  blen 
)
private
int XrdSecProtocolsss::Init_Client ( XrdOucErrInfo *  erp,
const char *  Parms 
)
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
XrdCryptoLite * XrdSecProtocolsss::Load_Crypto ( XrdOucErrInfo *  erp,
const char *  eN 
)
staticprivate

References XrdCryptoLite::Create(), CryptoTab, and Fatal().

Referenced by Init_Client(), and Load_Server().

XrdCryptoLite * XrdSecProtocolsss::Load_Crypto ( XrdOucErrInfo *  erp,
const char  eT 
)
staticprivate
char * XrdSecProtocolsss::Load_Server ( XrdOucErrInfo *  erp,
const char *  Parms 
)
static
int XrdSecProtocolsss::myClock ( )
private

Referenced by Decode(), and Encode().

char * XrdSecProtocolsss::setID ( char *  id,
char **  idP 
)
private

Referenced by Authenticate().

void XrdSecProtocolsss::setIP ( const struct sockaddr *  sockP)
private

References XrdSysDNS::IPFormat(), and urIP.

Referenced by XrdSecProtocolsss().

static void XrdSecProtocolsss::setOpts ( int  opts)
inlinestatic

References options, and opts.

Referenced by XrdSecProtocolsssInit().


Friends And Related Function Documentation

friend class XrdSecProtocolDummy
friend

Member Data Documentation

XrdSecProtocolsss::bf32
XrdCryptoLite * XrdSecProtocolsss::CryptObj = 0
staticprivate
struct Crypto XrdSecProtocolsss::CryptoTab[]
staticprivate

Referenced by Load_Crypto().

int XrdSecProtocolsss::deltaTime = 13
staticprivate

Referenced by Decode(), Init_Client(), and Load_Server().

char* XrdSecProtocolsss::idBuff
private

Referenced by Authenticate(), and Delete().

XrdSecsssID * XrdSecProtocolsss::idMap = 0
staticprivate

Referenced by getCred(), and Load_Client().

int XrdSecProtocolsss::isMutual = 0
staticprivate

Referenced by getCred(), and Load_Client().

XrdSecsssKT* XrdSecProtocolsss::keyTab
private
int XrdSecProtocolsss::ktFixed = 0
staticprivate
XrdSecsssKT * XrdSecProtocolsss::ktObject = 0
staticprivate
const char * XrdSecProtocolsss::myName
staticprivate

Referenced by Encode(), and Load_Client().

int XrdSecProtocolsss::myNLen
staticprivate

Referenced by Encode(), and Load_Client().

int XrdSecProtocolsss::options = 0
staticprivate

Referenced by setOpts().

int XrdSecProtocolsss::Sequence
private

Referenced by getCred(), and getCredentials().

char * XrdSecProtocolsss::staticID = 0
staticprivate

Referenced by getCred(), and Load_Client().

int XrdSecProtocolsss::staticIDsz = 0
staticprivate

Referenced by getCred(), and Load_Client().

char XrdSecProtocolsss::urIP[64]
private

Referenced by Authenticate(), and setIP().

char* XrdSecProtocolsss::urName
private

The documentation for this class was generated from the following files: