xrootd
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdSecsssKT Class Reference

#include <XrdSecsssKT.hh>

Collaboration diagram for XrdSecsssKT:
Collaboration graph
[legend]

Classes

class  ktEnt
 

Public Types

enum  xMode { isAdmin = 0, isClient, isServer }
 

Public Member Functions

void addKey (ktEnt &ktNew)
 
int delKey (ktEnt &ktDel)
 
int getKey (ktEnt &ktEql)
 
ktEntkeyList ()
 
void Refresh ()
 
time_t RefrTime ()
 
int Rewrite (int Keep, int &numKeys, int &numTot, int &numExp)
 
int Same (const char *path)
 
void setPath (const char *Path)
 
 XrdSecsssKT (XrdOucErrInfo *, const char *, xMode, int refr=60 *60)
 
 ~XrdSecsssKT ()
 

Static Public Member Functions

static char * genFN ()
 
static void genKey (char *Buff, int blen)
 

Private Member Functions

int eMsg (const char *epn, int rc, const char *txt1, const char *txt2=0, const char *txt3=0, const char *txt4=0)
 
ktEntgetKeyTab (XrdOucErrInfo *eInfo, time_t Mtime, mode_t Amode)
 
mode_t fileMode (const char *Path)
 
int isKey (ktEnt &ktRef, ktEnt *ktP, int Full=1)
 
void keyB2X (ktEnt *theKT, char *buff)
 
void keyX2B (ktEnt *theKT, char *xKey)
 
ktEntktDecode0 (XrdOucStream &kTab, XrdOucErrInfo *eInfo)
 

Private Attributes

XrdSysMutex myMutex
 
char * ktPath
 
ktEntktList
 
time_t ktMtime
 
xMode ktMode
 
time_t ktRefT
 
int kthiID
 
pthread_t ktRefID
 

Static Private Attributes

static int randFD = -1
 

Member Enumeration Documentation

Enumerator
isAdmin 
isClient 
isServer 

Constructor & Destructor Documentation

XrdSecsssKT::XrdSecsssKT ( XrdOucErrInfo eInfo,
const char *  kPath,
xMode  oMode,
int  refr = 60*60 
)
XrdSecsssKT::~XrdSecsssKT ( )

Member Function Documentation

void XrdSecsssKT::addKey ( ktEnt ktNew)
int XrdSecsssKT::delKey ( ktEnt ktDel)
int XrdSecsssKT::eMsg ( const char *  epn,
int  rc,
const char *  txt1,
const char *  txt2 = 0,
const char *  txt3 = 0,
const char *  txt4 = 0 
)
private

Referenced by getKeyTab(), Refresh(), and XrdSecsssKT().

mode_t XrdSecsssKT::fileMode ( const char *  Path)
private

Referenced by getKeyTab(), and Rewrite().

char * XrdSecsssKT::genFN ( )
static
void XrdSecsssKT::genKey ( char *  Buff,
int  blen 
)
static

References randFD, and read().

Referenced by addKey(), and XrdSecProtocolsss::Encode().

int XrdSecsssKT::getKey ( ktEnt ktEql)
XrdSecsssKT::ktEnt * XrdSecsssKT::getKeyTab ( XrdOucErrInfo eInfo,
time_t  Mtime,
mode_t  Amode 
)
private
int XrdSecsssKT::isKey ( ktEnt ktRef,
ktEnt ktP,
int  Full = 1 
)
private
void XrdSecsssKT::keyB2X ( ktEnt theKT,
char *  buff 
)
private
ktEnt* XrdSecsssKT::keyList ( )
inline
void XrdSecsssKT::keyX2B ( ktEnt theKT,
char *  xKey 
)
private
XrdSecsssKT::ktEnt * XrdSecsssKT::ktDecode0 ( XrdOucStream kTab,
XrdOucErrInfo eInfo 
)
private
void XrdSecsssKT::Refresh ( )
time_t XrdSecsssKT::RefrTime ( )
inline

References ktRefT.

Referenced by XrdSecsssKTRefresh().

int XrdSecsssKT::Rewrite ( int  Keep,
int &  numKeys,
int &  numTot,
int &  numExp 
)
int XrdSecsssKT::Same ( const char *  path)
inline

References ktPath.

Referenced by XrdSecProtocolsss::Init_Client().

void XrdSecsssKT::setPath ( const char *  Path)
inline

References ktPath.

Referenced by XrdSecsssAdmin_insKey().

Member Data Documentation

int XrdSecsssKT::kthiID
private

Referenced by addKey(), getKeyTab(), and XrdSecsssKT().

ktEnt* XrdSecsssKT::ktList
private
xMode XrdSecsssKT::ktMode
private

Referenced by getKeyTab(), and XrdSecsssKT().

time_t XrdSecsssKT::ktMtime
private

Referenced by getKeyTab(), and Refresh().

char* XrdSecsssKT::ktPath
private
pthread_t XrdSecsssKT::ktRefID
private

Referenced by XrdSecsssKT(), and ~XrdSecsssKT().

time_t XrdSecsssKT::ktRefT
private

Referenced by RefrTime(), and XrdSecsssKT().

XrdSysMutex XrdSecsssKT::myMutex
private

Referenced by getKey(), Refresh(), and ~XrdSecsssKT().

int XrdSecsssKT::randFD = -1
staticprivate

Referenced by genKey(), and XrdSecsssKT().


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