xrootd
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdSecServer Class Reference

#include <XrdSecServer.hh>

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

Public Member Functions

const char * getParms (int &size, const char *hname=0)
 
XrdSecProtocolgetProtocol (const char *host, const struct sockaddr &hadr, const XrdSecCredentials *cred, XrdOucErrInfo *einfo=0)
 
int Configure (const char *cfn)
 
 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 xpbind (XrdOucStream &Config, XrdSysError &Eroute)
 
int xpparm (XrdOucStream &Config, XrdSysError &Eroute)
 
int xprot (XrdOucStream &Config, XrdSysError &Eroute)
 
int xtrace (XrdOucStream &Config, XrdSysError &Eroute)
 
- Private Member Functions inherited from XrdSecService
 XrdSecService ()
 Constructor. More...
 
virtual ~XrdSecService ()
 Destructor. More...
 

Private Attributes

XrdSysError eDest
 
XrdOucTraceSecTrace
 
XrdSecProtBindbpFirst
 
XrdSecProtBindbpLast
 
XrdSecProtBindbpDefault
 
char * SToken
 
char * STBuff
 
int STBlen
 
int Enforce
 
int 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 *  pid,
char **  tokbuff,
int &  toklen,
XrdSecPMask_t pmask 
)
private

References XrdSysError::Emsg(), XrdSecPManager::Find(), and PManager.

Referenced by xpbind(), and xprot().

int XrdSecServer::ConfigFile ( const char *  cfn)
private
int XrdSecServer::Configure ( const char *  cfn)

References ConfigFile(), eDest, and XrdSysError::Say().

Referenced by XrdSecgetService().

int XrdSecServer::ConfigXeq ( char *  var,
XrdOucStream Config,
XrdSysError Eroute 
)
private
const char * XrdSecServer::getParms ( int &  size,
const char *  hname = 0 
)
virtual

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

Parameters
sizeWhere the length of the return parameters are to be placed.
hnameThe client's host name which may be an IP address. 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.

References bpDefault, bpFirst, XrdSecBuffer::buffer, DEBUG, EPNAME, XrdSecProtBind::Match(), XrdSecProtBind::next, XrdSecProtBind::SecToken, and XrdSecBuffer::size.

XrdSecProtocol * XrdSecServer::getProtocol ( const char *  host,
const struct sockaddr &  hadr,
const XrdSecCredentials cred,
XrdOucErrInfo einfo = 0 
)
virtual

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

Parameters
hostThe client's host name which may be an IP address.
hadrThe client host address encoded in sockaddr.
credThe initial credentials supplied by the client, the pointer may be null if the client did not supply credentials.
einfoThe 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: 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.

References bpFirst, XrdSecBuffer::buffer, Enforce, XrdSecPManager::Find(), XrdSecProtBind::Find(), XrdSecPManager::Get(), PManager, XrdOucErrInfo::setErrInfo(), XrdSecBuffer::size, and XrdSecProtBind::ValidProts.

int XrdSecServer::ProtBind_Complete ( 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

XrdSecProtBind* XrdSecServer::bpDefault
private
XrdSecProtBind* XrdSecServer::bpFirst
private
XrdSecProtBind* XrdSecServer::bpLast
private

Referenced by xpbind(), and XrdSecServer().

XrdSysError XrdSecServer::eDest
private

Referenced by ConfigFile(), Configure(), and XrdSecServer().

int XrdSecServer::Enforce
private

Referenced by getProtocol(), xpbind(), and XrdSecServer().

int XrdSecServer::implauth
private
XrdSecPManager XrdSecServer::PManager
staticprivate
XrdOucTrace* XrdSecServer::SecTrace
private

Referenced by XrdSecServer(), and xtrace().

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

Referenced by ProtBind_Complete(), and XrdSecServer().


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