xrootd
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends

XrdSecProtocolssl Class Reference

#include <XrdSecProtocolssl.hh>

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

List of all members.

Classes

struct  sslverify_t

Public Member Functions

 XrdSecProtocolssl (const char *hostname, const struct sockaddr *ipaddr)
virtual void secClient (int theFD, XrdOucErrInfo *einfo)
virtual void secServer (int theFD, XrdOucErrInfo *einfo=0)
virtual void Delete ()
 ~XrdSecProtocolssl ()

Static Public Member Functions

static int dummy (const char *key, XrdSecProtocolssl *ssl, void *Arg)
static int GenerateSession (const SSL *ssl, unsigned char *id, unsigned int *id_len)
static int NewSession (SSL *ssl, SSL_SESSION *pNew)
static int GetSession (SSL *ssl, SSL_SESSION *pNew)
static void ReloadGridMapFile ()
static void ReloadVomsMapFile ()
static bool VomsMapGroups (const char *groups, XrdOucString &allgroups, XrdOucString &defaultgroup)
static void GetEnvironment ()
static int Fatal (XrdOucErrInfo *erp, const char *msg, int rc)

Public Attributes

int sessionfd
X509 * client_cert
X509 * server_cert
XrdOucString host
char proxyBuff [16384]
SSL_CTX * clientctx
XrdSysMutex SSLMutex
bool terminate
struct sockaddr hostaddr
char * credBuff
int Step
int sd
int listen_sd
struct sockaddr_in sa_serv
struct sockaddr_in sa_cli
SSL * ssl

Static Public Attributes

static char * SessionIdContext = "xrootdssl"
static char * sslcadir = 0
static char * sslvomsdir = 0
static char * sslserverkeyfile = 0
static char * sslkeyfile = 0
static char * sslcertfile = 0
static char * sslproxyexportdir = (char*)0
static bool sslproxyexportplain = 1
static char sslserverexportpassword [EXPORTKEYSTRENGTH+1]
static int threadsinuse = 0
static char * gridmapfile = "/etc/grid-security/grid-mapfile"
static char * vomsmapfile = "/etc/grid-security/voms-mapfile"
static bool mapuser = false
static bool mapnobody = false
static bool mapgroup = false
static bool mapcerncertificates = false
static int debug = 0
static time_t sslsessionlifetime = 86400
static int sslselecttimeout = 10
static int sslsessioncachesize = 2000
static char * procdir = ""
static XrdSecProtocolsslProcproc = (XrdSecProtocolsslProc*)0
static int errortimeout = 0
static int errorverify = 0
static int errorqueue = 0
static int erroraccept = 0
static int errorabort = 0
static int errorread = 0
static int forwardedproxies = 0
static bool isServer = 0
static bool forwardProxy = 0
static bool allowSessions = 0
static X509_STORE * store = 0
static X509_LOOKUP * lookup = 0
static int verifydepth = 10
static int verifyindex = 0
static XrdOucHash< XrdOucStringgridmapstore
static XrdOucHash< XrdOucStringvomsmapstore
static XrdOucHash< XrdOucStringstringstore
static XrdSysMutex StoreMutex
static XrdSysMutex VomsMapMutex
static XrdSysMutex GridMapMutex
static XrdSysMutexCryptoMutexPool [PROTOCOLSSL_MAX_CRYPTO_MUTEX]
static XrdSysMutex ThreadsInUseMutex
static XrdSysMutex ErrorMutex
static XrdSysLogger Logger
static XrdSysError ssleDest
static time_t storeLoadTime
static SSL_CTX * ctx = 0

Friends

class XrdSecProtocolDummy

Constructor & Destructor Documentation

XrdSecProtocolssl::XrdSecProtocolssl ( const char *  hostname,
const struct sockaddr *  ipaddr 
) [inline]
XrdSecProtocolssl::~XrdSecProtocolssl ( ) [inline]

Member Function Documentation

virtual void XrdSecProtocolssl::Delete ( ) [inline, virtual]
static int XrdSecProtocolssl::dummy ( const char *  key,
XrdSecProtocolssl ssl,
void *  Arg 
) [inline, static]
int XrdSecProtocolssl::Fatal ( XrdOucErrInfo erp,
const char *  msg,
int  rc 
) [static]
int XrdSecProtocolssl::GenerateSession ( const SSL *  ssl,
unsigned char *  id,
unsigned int *  id_len 
) [static]

References EPNAME, MAX_SESSION_ID_ATTEMPTS, and TRACE.

Referenced by XrdSecProtocolsslInit().

void XrdSecProtocolssl::GetEnvironment ( ) [static]
static int XrdSecProtocolssl::GetSession ( SSL *  ssl,
SSL_SESSION *  pNew 
) [static]
int XrdSecProtocolssl::NewSession ( SSL *  ssl,
SSL_SESSION *  pNew 
) [static]

References DEBUG, EPNAME, sslsessionlifetime, and TRACE.

Referenced by XrdSecProtocolsslInit().

void XrdSecProtocolssl::ReloadGridMapFile ( ) [static]
void XrdSecProtocolssl::ReloadVomsMapFile ( ) [static]
void XrdSecProtocolssl::secClient ( int  theFD,
XrdOucErrInfo einfo 
) [virtual]
void XrdSecProtocolssl::secServer ( int  theFD,
XrdOucErrInfo einfo = 0 
) [virtual]
bool XrdSecProtocolssl::VomsMapGroups ( const char *  groups,
XrdOucString allgroups,
XrdOucString defaultgroup 
) [static]

Friends And Related Function Documentation

friend class XrdSecProtocolDummy [friend]

Member Data Documentation

Referenced by GetEnvironment(), main(), and secClient().

Referenced by secClient(), and XrdSecProtocolssl().

Referenced by Delete(), and XrdSecProtocolssl().

SSL_CTX * XrdSecProtocolssl::ctx = 0 [static]

Referenced by secServer(), and XrdSecProtocolsslInit().

int XrdSecProtocolssl::debug = 0 [static]

Referenced by Fatal(), and secServer().

Referenced by Fatal(), secClient(), and secServer().

Referenced by secClient(), and secServer().

Referenced by Fatal(), and secServer().

int XrdSecProtocolssl::errorread = 0 [static]

Referenced by Fatal(), secClient(), and secServer().

Referenced by Fatal(), secClient(), and secServer().

Referenced by Fatal(), and secServer().

Referenced by secServer().

Referenced by GetEnvironment(), and secClient().

char * XrdSecProtocolssl::gridmapfile = "/etc/grid-security/grid-mapfile" [static]

Referenced by ReloadGridMapFile(), and secServer().

Referenced by ReloadGridMapFile(), and secServer().

Referenced by secClient(), and XrdSecProtocolssl().

struct sockaddr XrdSecProtocolssl::hostaddr
bool XrdSecProtocolssl::isServer = 0 [static]

Reimplemented from XrdSecTLayer.

Referenced by XrdSecProtocolsslInit().

X509_LOOKUP * XrdSecProtocolssl::lookup = 0 [static]

Referenced by secServer(), and XrdSecProtocolsslInit().

bool XrdSecProtocolssl::mapgroup = false [static]

Referenced by secServer(), and XrdSecProtocolsslInit().

bool XrdSecProtocolssl::mapnobody = false [static]

Referenced by secServer(), and XrdSecProtocolsslInit().

bool XrdSecProtocolssl::mapuser = false [static]

Referenced by secServer(), and XrdSecProtocolsslInit().

Referenced by XrdSecProtocolsslInit().

char * XrdSecProtocolssl::procdir = "" [static]

Referenced by XrdSecProtocolsslInit().

struct sockaddr_in XrdSecProtocolssl::sa_cli
struct sockaddr_in XrdSecProtocolssl::sa_serv
char * XrdSecProtocolssl::SessionIdContext = "xrootdssl" [static]

Referenced by XrdSecProtocolsslInit().

char * XrdSecProtocolssl::sslcadir = 0 [static]
char * XrdSecProtocolssl::sslcertfile = 0 [static]

Referenced by XrdSecProtocolsslInit().

char * XrdSecProtocolssl::sslkeyfile = 0 [static]

Referenced by Delete(), secClient(), and secServer().

char * XrdSecProtocolssl::sslproxyexportdir = (char*)0 [static]

Referenced by XrdSecProtocolsslInit().

Referenced by secServer(), and XrdSecProtocolsslInit().

time_t XrdSecProtocolssl::sslsessionlifetime = 86400 [static]
char * XrdSecProtocolssl::sslvomsdir = 0 [static]
X509_STORE * XrdSecProtocolssl::store = 0 [static]

Referenced by secServer(), and XrdSecProtocolsslInit().

Referenced by secServer(), and XrdSecProtocolsslInit().

Referenced by secServer().

int XrdSecProtocolssl::verifydepth = 10 [static]
char * XrdSecProtocolssl::vomsmapfile = "/etc/grid-security/voms-mapfile" [static]

Referenced by ReloadVomsMapFile().

Referenced by ReloadVomsMapFile().


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