xrootd
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes
XrdSecTLayer Class Reference

#include <XrdSecTLayer.hh>

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

List of all members.

Classes

struct  TLayerRR

Public Types

enum  Initiator { isClient = 0, isServer }

Public Member Functions

 XrdSecTLayer (const char *pName, Initiator who1st=isClient)
virtual void secClient (int theFD, XrdOucErrInfo *einfo)=0
virtual void secServer (int theFD, XrdOucErrInfo *einfo)=0
virtual void Delete ()=0
virtual int Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0)
virtual XrdSecCredentialsgetCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0)
void secXeq ()

Protected Member Functions

virtual ~XrdSecTLayer ()

Protected Attributes

pthread_t secTid

Private Member Functions

int bootUp (Initiator Who)
int Read (int FD, char *Buff, int rdLen)
int secDone ()
void secDrain ()
const char * secErrno (int rc, char *buff)
void secError (const char *Msg, int rc, int iserrno=1)

Private Attributes

XrdSysSemaphore mySem
Initiator Starter
Initiator Responder
int myFD
int urFD
int Tmax
int Tcur
int eCode
char * eText
XrdOucErrInfoeDest
struct XrdSecTLayer::TLayerRR Hdr

Static Private Attributes

static const int buffSz = 8192
static const int hdrSz = sizeof(TLayerRR)
static const int dataSz = buffSz - hdrSz

Member Enumeration Documentation

Enumerator:
isClient 
isServer 

Constructor & Destructor Documentation

XrdSecTLayer::XrdSecTLayer ( const char *  pName,
Initiator  who1st = isClient 
)

References Hdr.

virtual XrdSecTLayer::~XrdSecTLayer ( ) [inline, protected, virtual]

References close, eText, and myFD.


Member Function Documentation

int XrdSecTLayer::Authenticate ( XrdSecCredentials cred,
XrdSecParameters **  parms,
XrdOucErrInfo einfo = 0 
) [virtual]
int XrdSecTLayer::bootUp ( Initiator  Who) [private]
virtual void XrdSecTLayer::Delete ( ) [pure virtual]

Implements XrdSecProtocol.

Implemented in XrdSecProtocolssl.

XrdSecCredentials * XrdSecTLayer::getCredentials ( XrdSecParameters parm = 0,
XrdOucErrInfo einfo = 0 
) [virtual]
int XrdSecTLayer::Read ( int  FD,
char *  Buff,
int  rdLen 
) [private]

References poll(), POLLHUP, POLLIN, POLLRDNORM, read(), and Tcur.

Referenced by Authenticate(), and getCredentials().

virtual void XrdSecTLayer::secClient ( int  theFD,
XrdOucErrInfo einfo 
) [pure virtual]

Implemented in XrdSecProtocolssl.

Referenced by secXeq().

int XrdSecTLayer::secDone ( ) [private]

References eCode, eText, secDrain(), and secError().

Referenced by Authenticate(), and getCredentials().

void XrdSecTLayer::secDrain ( ) [private]

References close, myFD, mySem, and XrdSysSemaphore::Wait().

Referenced by secDone(), and secError().

const char * XrdSecTLayer::secErrno ( int  rc,
char *  buff 
) [private]

Referenced by secError().

void XrdSecTLayer::secError ( const char *  Msg,
int  rc,
int  iserrno = 1 
) [private]
virtual void XrdSecTLayer::secServer ( int  theFD,
XrdOucErrInfo einfo 
) [pure virtual]

Implemented in XrdSecProtocolssl.

Referenced by secXeq().

void XrdSecTLayer::secXeq ( )

Member Data Documentation

const int XrdSecTLayer::buffSz = 8192 [static, private]
const int XrdSecTLayer::dataSz = buffSz - hdrSz [static, private]

Referenced by Authenticate(), and getCredentials().

int XrdSecTLayer::eCode [private]

Referenced by secDone(), and secXeq().

char* XrdSecTLayer::eText [private]

Referenced by secDone(), secXeq(), and ~XrdSecTLayer().

const int XrdSecTLayer::hdrSz = sizeof(TLayerRR) [static, private]

Referenced by Authenticate(), and getCredentials().

int XrdSecTLayer::myFD [private]

Referenced by secDrain(), and secXeq().

Referenced by bootUp(), and secXeq().

pthread_t XrdSecTLayer::secTid [protected]

Referenced by getCredentials().

int XrdSecTLayer::Tcur [private]

Referenced by Authenticate(), getCredentials(), and Read().

int XrdSecTLayer::Tmax [private]

Referenced by Authenticate(), and getCredentials().

int XrdSecTLayer::urFD [private]

Referenced by bootUp(), and secXeq().


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