XrdSecServer Class Reference

#include <XrdSecServer.hh>

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

List of all members.

Public Member Functions

const char * getParms (int &size, XrdNetAddrInfo *endPoint=0)
XrdSecProtocolgetProtocol (const char *host, XrdNetAddrInfo &endPoint, const XrdSecCredentials *cred, XrdOucErrInfo &einfo)
bool PostProcess (XrdSecEntity &entity, XrdOucErrInfo &einfo)
int Configure (const char *cfn)
const char * protTLS ()
 XrdSecServer (XrdSysLogger *lp)
 ~XrdSecServer ()

Private Member Functions

int add2token (XrdSysError &erp, char *, char **, int &, XrdSecPMask_t &)
int ConfigFile (const char *cfn)
int ConfigXeq (char *var, XrdOucStream &Config, XrdSysError &Eroute)
int ProtBind_Complete (XrdSysError &Eroute)
int xenlib (XrdOucStream &Config, XrdSysError &Eroute)
int xlevel (XrdOucStream &Config, XrdSysError &Eroute)
int xpbind (XrdOucStream &Config, XrdSysError &Eroute)
int xpparm (XrdOucStream &Config, XrdSysError &Eroute)
int xprot (XrdOucStream &Config, XrdSysError &Eroute)
int xtrace (XrdOucStream &Config, XrdSysError &Eroute)

Private Attributes

union {
   XrdSecPinInfo *   pinInfo
   XrdSecEntityPin *   secEntityPin
}; 
XrdSysError eDest
const char * configFN
XrdOucTraceSecTrace
XrdSecProtBind * bpFirst
XrdSecProtBind * bpLast
XrdSecProtBind * bpDefault
char * pidList
char * SToken
char * STBuff
int STBlen
bool Enforce
bool implauth

Static Private Attributes

static XrdSecPManager PManager

Constructor & Destructor Documentation

XrdSecServer::XrdSecServer ( XrdSysLogger lp  ) 
XrdSecServer::~XrdSecServer (  )  [inline]

Member Function Documentation

int XrdSecServer::add2token ( XrdSysError erp,
char *  ,
char **  ,
int &  ,
XrdSecPMask_t  
) [private]
int XrdSecServer::ConfigFile ( const char *  cfn  )  [private]
int XrdSecServer::Configure ( const char *  cfn  ) 
int XrdSecServer::ConfigXeq ( char *  var,
XrdOucStream Config,
XrdSysError Eroute 
) [private]
const char* XrdSecServer::getParms ( int &  size,
XrdNetAddrInfo endPoint = 0 
) [virtual]

Obtain security parameters to be sent to the client upon initial contact.

Parameters:
size Where the length of the return parameters are to be placed.
endPoint The client's address information. It may also be a null pointer if the client's host is immaterial.
Returns:
EITHER The address of the parameter string (which may be host-specific if hname was supplied). The length of the string must be returned in size parameter. OR A null pointer if authentication need not occur for the client. The size parameter should be set to zero as well.

Implements XrdSecService.

XrdSecProtocol* XrdSecServer::getProtocol ( const char *  host,
XrdNetAddrInfo endPoint,
const XrdSecCredentials cred,
XrdOucErrInfo einfo 
) [virtual]

Obtain a protocol object suitable for authentication based on cred and possibly based on the hostname or host address, as needed.

Parameters:
host The client's host name or the IP address as text. An IP may be supplied if the host address is not resolvable or resolution has been suppressed (i.e. nodnr). Use endPoint to get the hostname if it's actually needed.
endPoint the XrdNetAddrInfo object describing the client end-point.
cred The initial credentials supplied by the client, the pointer may be null if the client did not supply credentials.
einfo The structure to record any error messages. These are normally sent to the client.
Returns:
Success: Address of protocol object to be used for authentication. If cred was null, a host protocol object shouldpo be returned if so allowed. Failure: Null, no protocol can be returned. The einfo parameter, if supplied, has the reason.

Implements XrdSecService.

bool XrdSecServer::PostProcess ( XrdSecEntity entity,
XrdOucErrInfo einfo 
) [virtual]

Post process a fully authenticated XrdSecEntity object.

Parameters:
entity The fully authenticated entity object.
einfo The structure to record any error messages. These are normally sent to the client. If einfo is a null pointer, the messages should be sent to standard error via an XrdSysError object using the supplied XrdSysLogger when the the plugin was initialized.
Returns:
Success: True should be returned. Failure: False should be returned and the einfo object should hold the reason. In this case the authentication fails.

Reimplemented from XrdSecService.

int XrdSecServer::ProtBind_Complete ( XrdSysError Eroute  )  [private]
const char* XrdSecServer::protTLS (  )  [inline, virtual]

Get a list of authentication protocols that require TLS.

Returns:
Pointer to a list of protocols that require TLS or a nil if none.

Implements XrdSecService.

References PManager, and XrdSecPManager::protTLS().

int XrdSecServer::xenlib ( XrdOucStream Config,
XrdSysError Eroute 
) [private]
int XrdSecServer::xlevel ( XrdOucStream Config,
XrdSysError Eroute 
) [private]
int XrdSecServer::xpbind ( XrdOucStream Config,
XrdSysError Eroute 
) [private]
int XrdSecServer::xpparm ( XrdOucStream Config,
XrdSysError Eroute 
) [private]
int XrdSecServer::xprot ( XrdOucStream Config,
XrdSysError Eroute 
) [private]
int XrdSecServer::xtrace ( XrdOucStream Config,
XrdSysError Eroute 
) [private]

Member Data Documentation

union { ... } [private]
XrdSecProtBind* XrdSecServer::bpDefault [private]
XrdSecProtBind* XrdSecServer::bpFirst [private]
XrdSecProtBind* XrdSecServer::bpLast [private]
const char* XrdSecServer::configFN [private]
bool XrdSecServer::Enforce [private]
bool XrdSecServer::implauth [private]
char* XrdSecServer::pidList [private]
XrdSecPinInfo* XrdSecServer::pinInfo

Referenced by protTLS().

int XrdSecServer::STBlen [private]
char* XrdSecServer::STBuff [private]
char* XrdSecServer::SToken [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 7 Jul 2020 for xrootd by  doxygen 1.6.1