|
xrootd
|
#include <XrdSecTLayer.hh>


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 |
| Delete the protocol object. DO NOT use C++ delete() on this object. More... | |
| virtual int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0) |
| virtual XrdSecCredentials * | getCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0) |
| void | secXeq () |
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. More... | |
Protected Member Functions | |
| virtual | ~XrdSecTLayer () |
Protected Member Functions inherited from XrdSecProtocol | |
| virtual | ~XrdSecProtocol () |
| Destructor (prevents use of direct delete). More... | |
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 |
| XrdOucErrInfo * | eDest |
| struct XrdSecTLayer::TLayerRR | Hdr |
Static Private Attributes | |
| static const int | buffSz = 8192 |
| static const int | hdrSz = sizeof(TLayerRR) |
| static const int | dataSz = buffSz - hdrSz |
Additional Inherited Members | |
Public Attributes inherited from XrdSecProtocol | |
| XrdSecEntity | Entity |
References Hdr, and XrdSecTLayer::TLayerRR::protName.
|
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.
References bootUp(), XrdSecBuffer::buffer, dataSz, eDest, XrdSecTLayer::TLayerRR::endData, Hdr, hdrSz, isServer, myFD, XrdSecTLayer::TLayerRR::protCode, Read(), secDone(), secError(), XrdSecBuffer::size, Tcur, Tmax, write(), and XrdSecTLayer::TLayerRR::xfrData.
|
private |
References close(), fcntl(), myFD, Responder, XrdSysThread::Run(), secError(), secTid, urFD, XrdSecTLayerBootUp(), and XRDSYSTHREAD_HOLD.
Referenced by Authenticate(), and getCredentials().
|
pure virtual |
Delete the protocol object. DO NOT use C++ delete() on this object.
Implements XrdSecProtocol.
|
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.
References bootUp(), XrdSecBuffer::buffer, dataSz, eDest, XrdSecTLayer::TLayerRR::endData, Hdr, hdrSz, isClient, isServer, myFD, XrdSecTLayer::TLayerRR::protCode, Read(), secDone(), secError(), XrdSecBuffer::size, Starter, Tcur, Tmax, write(), and XrdSecTLayer::TLayerRR::xfrData.
|
private |
Referenced by Authenticate(), and getCredentials().
|
pure virtual |
Referenced by secXeq().
|
private |
References eCode, eText, secDrain(), and secError().
Referenced by Authenticate(), and getCredentials().
|
private |
References close(), myFD, mySem, and XrdSysSemaphore::Wait().
Referenced by secDone(), and secError().
|
private |
Referenced by secError().
|
private |
References eDest, Hdr, XrdSecTLayer::TLayerRR::protName, secDrain(), secErrno(), and XrdOucErrInfo::setErrInfo().
Referenced by Authenticate(), bootUp(), getCredentials(), and secDone().
|
pure virtual |
Referenced by secXeq().
| void XrdSecTLayer::secXeq | ( | ) |
References close(), eCode, eText, XrdOucErrInfo::getErrText(), isClient, mySem, XrdSysSemaphore::Post(), Responder, secClient(), secServer(), and urFD.
Referenced by XrdSecTLayerBootUp().
|
staticprivate |
Referenced by Authenticate(), and getCredentials().
|
private |
Referenced by Authenticate(), getCredentials(), and secError().
|
private |
Referenced by secDone(), secXeq(), and ~XrdSecTLayer().
|
private |
Referenced by Authenticate(), getCredentials(), secError(), and XrdSecTLayer().
|
staticprivate |
Referenced by Authenticate(), and getCredentials().
|
private |
Referenced by Authenticate(), bootUp(), getCredentials(), secDrain(), and ~XrdSecTLayer().
|
private |
Referenced by secDrain(), and secXeq().
|
protected |
Referenced by bootUp().
|
private |
Referenced by getCredentials().
|
private |
Referenced by Authenticate(), getCredentials(), and Read().
|
private |
Referenced by Authenticate(), and getCredentials().
1.8.3.1