xrootd
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdSecProtocolsss Class Reference

#include <XrdSecProtocolsss.hh>

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

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.
 
XrdSecCredentialsgetCredentials (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, XrdNetAddrInfo &endPoint)
 
- Public Member Functions inherited from XrdSecProtocol
virtual int Encrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff)
 
virtual int Decrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff)
 
virtual int Sign (const char *inbuff, int inlen, XrdSecBuffer **outbuff)
 
virtual int Verify (const char *inbuff, int inlen, const char *sigbuff, int siglen)
 
virtual int getKey (char *buff=0, int size=0)
 
virtual int setKey (char *buff, int size)
 
virtual bool needTLS ()
 Check if this protocol requires TLS to properly function.
 
 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)
 

Private Member Functions

 ~XrdSecProtocolsss ()
 
int Decode (XrdOucErrInfo *error, XrdSecsssKT::ktEnt &decKey, char *iBuff, XrdSecsssRR_DataHdr *rrDHdr, int iSize)
 
XrdSecCredentialsEncode (XrdOucErrInfo *error, XrdSecsssKT::ktEnt &encKey, XrdSecsssRR_Hdr *rrHdr, XrdSecsssRR_DataHdr *rrDHdr, int dLen)
 
int getCred (XrdOucErrInfo *, XrdSecsssRR_DataHdr *&, const char *, const char *)
 
int getCred (XrdOucErrInfo *, XrdSecsssRR_DataHdr *&, const char *, const char *, XrdSecParameters *)
 
char * getLID (char *buff, int blen)
 
int myClock ()
 
char * setID (char *id, char **idP)
 
void setIP (XrdNetAddrInfo &endPoint)
 

Static Private Member Functions

static XrdCryptoLiteLoad_Crypto (XrdOucErrInfo *erp, const char *eN)
 
static XrdCryptoLiteLoad_Crypto (XrdOucErrInfo *erp, const char eT)
 

Private Attributes

char * urName
 
char urIP [48]
 
char urIQ [48]
 
XrdNetAddrInfoepAddr
 
XrdSecsssKTkeyTab
 
XrdCryptoLiteCrypto
 
char * idBuff
 
int dataOpts
 
char Sequence
 
bool v2EndPnt
 

Static Private Attributes

static struct Crypto CryptoTab []
 
static int deltaTime
 
static bool isMutual
 
static bool isMapped
 
static bool ktFixed
 
static XrdSecsssKTktObject
 
static XrdCryptoLiteCryptObj
 
static XrdSecsssIDidMap
 
static char * aProts
 
static XrdSecsssEntstaticID
 

Friends

class XrdSecProtocolDummy
 

Additional Inherited Members

- Public Attributes inherited from XrdSecProtocol
XrdSecEntity Entity
 
- Protected Member Functions inherited from XrdSecProtocol
virtual ~XrdSecProtocol ()
 Destructor (prevents use of direct delete).
 

Constructor & Destructor Documentation

◆ XrdSecProtocolsss()

XrdSecProtocolsss::XrdSecProtocolsss ( const char *  hname,
XrdNetAddrInfo endPoint 
)
inline

References setIP(), and urName.

◆ ~XrdSecProtocolsss()

XrdSecProtocolsss::~XrdSecProtocolsss ( )
inlineprivate

Member Function Documentation

◆ Authenticate()

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

Implements XrdSecProtocol.

◆ Decode()

int XrdSecProtocolsss::Decode ( XrdOucErrInfo error,
XrdSecsssKT::ktEnt decKey,
char *  iBuff,
XrdSecsssRR_DataHdr rrDHdr,
int  iSize 
)
private

◆ Delete()

void XrdSecProtocolsss::Delete ( )
virtual

Delete the protocol object. DO NOT use C++ delete() on this object.

Implements XrdSecProtocol.

◆ eMsg()

static int XrdSecProtocolsss::eMsg ( const char *  epn,
int  rc,
const char *  txt1,
const char *  txt2 = 0,
const char *  txt3 = 0,
const char *  txt4 = 0 
)
static

◆ Encode()

XrdSecCredentials * XrdSecProtocolsss::Encode ( XrdOucErrInfo error,
XrdSecsssKT::ktEnt encKey,
XrdSecsssRR_Hdr rrHdr,
XrdSecsssRR_DataHdr rrDHdr,
int  dLen 
)
private

◆ Fatal()

static int XrdSecProtocolsss::Fatal ( XrdOucErrInfo erP,
const char *  epn,
int  rc,
const char *  etxt 
)
static

◆ getCred() [1/2]

int XrdSecProtocolsss::getCred ( XrdOucErrInfo ,
XrdSecsssRR_DataHdr *&  ,
const char *  ,
const char *   
)
private

◆ getCred() [2/2]

int XrdSecProtocolsss::getCred ( XrdOucErrInfo ,
XrdSecsssRR_DataHdr *&  ,
const char *  ,
const char *  ,
XrdSecParameters  
)
private

◆ getCredentials()

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.

◆ getLID()

char * XrdSecProtocolsss::getLID ( char *  buff,
int  blen 
)
private

◆ Init_Client()

int XrdSecProtocolsss::Init_Client ( XrdOucErrInfo erp,
const char *  Parms 
)

◆ Init_Server()

int XrdSecProtocolsss::Init_Server ( XrdOucErrInfo erp,
const char *  Parms 
)

◆ Load_Client()

static char * XrdSecProtocolsss::Load_Client ( XrdOucErrInfo erp,
const char *  Parms 
)
static

◆ Load_Crypto() [1/2]

static XrdCryptoLite * XrdSecProtocolsss::Load_Crypto ( XrdOucErrInfo erp,
const char *  eN 
)
staticprivate

◆ Load_Crypto() [2/2]

static XrdCryptoLite * XrdSecProtocolsss::Load_Crypto ( XrdOucErrInfo erp,
const char  eT 
)
staticprivate

◆ Load_Server()

static char * XrdSecProtocolsss::Load_Server ( XrdOucErrInfo erp,
const char *  Parms 
)
static

◆ myClock()

int XrdSecProtocolsss::myClock ( )
private

◆ setID()

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

◆ setIP()

void XrdSecProtocolsss::setIP ( XrdNetAddrInfo endPoint)
private

Referenced by XrdSecProtocolsss().

Friends And Related Symbol Documentation

◆ XrdSecProtocolDummy

friend class XrdSecProtocolDummy
friend

Member Data Documentation

◆ aProts

char* XrdSecProtocolsss::aProts
staticprivate

◆ Crypto

◆ CryptObj

XrdCryptoLite* XrdSecProtocolsss::CryptObj
staticprivate

◆ CryptoTab

struct Crypto XrdSecProtocolsss::CryptoTab[]
staticprivate

◆ dataOpts

int XrdSecProtocolsss::dataOpts
private

◆ deltaTime

int XrdSecProtocolsss::deltaTime
staticprivate

◆ epAddr

XrdNetAddrInfo* XrdSecProtocolsss::epAddr
private

◆ idBuff

char* XrdSecProtocolsss::idBuff
private

◆ idMap

XrdSecsssID* XrdSecProtocolsss::idMap
staticprivate

◆ isMapped

bool XrdSecProtocolsss::isMapped
staticprivate

◆ isMutual

bool XrdSecProtocolsss::isMutual
staticprivate

◆ keyTab

XrdSecsssKT* XrdSecProtocolsss::keyTab
private

◆ ktFixed

bool XrdSecProtocolsss::ktFixed
staticprivate

◆ ktObject

XrdSecsssKT* XrdSecProtocolsss::ktObject
staticprivate

◆ Sequence

char XrdSecProtocolsss::Sequence
private

◆ staticID

XrdSecsssEnt* XrdSecProtocolsss::staticID
staticprivate

◆ urIP

char XrdSecProtocolsss::urIP[48]
private

◆ urIQ

char XrdSecProtocolsss::urIQ[48]
private

◆ urName

char* XrdSecProtocolsss::urName
private

Referenced by XrdSecProtocolsss().

◆ v2EndPnt

bool XrdSecProtocolsss::v2EndPnt
private

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