|
xrootd
|
#include <XrdSecsssKT.hh>

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) |
| ktEnt * | keyList () |
| 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) |
| ktEnt * | getKeyTab (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) |
| ktEnt * | ktDecode0 (XrdOucStream &kTab, XrdOucErrInfo *eInfo) |
Private Attributes | |
| XrdSysMutex | myMutex |
| char * | ktPath |
| ktEnt * | ktList |
| time_t | ktMtime |
| xMode | ktMode |
| time_t | ktRefT |
| int | kthiID |
Static Private Attributes | |
| static int | randFD = -1 |
| enum XrdSecsssKT::xMode |
| XrdSecsssKT::XrdSecsssKT | ( | XrdOucErrInfo * | eInfo, |
| const char * | kPath, | ||
| xMode | oMode, | ||
| int | refr = 60*60 |
||
| ) |
| XrdSecsssKT::~XrdSecsssKT | ( | ) |
References myMutex, XrdSysMutex::Lock(), ktPath, ktList, XrdSecsssKT::ktEnt::Next, and XrdSysMutex::UnLock().
| void XrdSecsssKT::addKey | ( | ktEnt & | ktNew | ) |
| int XrdSecsssKT::delKey | ( | ktEnt & | ktDel | ) |
References ktList, isKey(), and XrdSecsssKT::ktEnt::Next.
Referenced by XrdSecsssAdmin_delKey().
| 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 XrdSecsssKT(), Refresh(), and getKeyTab().
| mode_t XrdSecsssKT::fileMode | ( | const char * | Path | ) | [private] |
References S_IRUSR, S_IWUSR, and S_IRGRP.
Referenced by Rewrite(), and getKeyTab().
| char * XrdSecsssKT::genFN | ( | ) | [static] |
References snprintf.
Referenced by XrdSecProtocolsss::Load_Client(), XrdSecProtocolsss::Load_Server(), and main().
| void XrdSecsssKT::genKey | ( | char * | Buff, |
| int | blen | ||
| ) | [static] |
References randFD, read(), and gettimeofday().
Referenced by XrdSecProtocolsss::Encode(), and addKey().
| int XrdSecsssKT::getKey | ( | ktEnt & | ktEql | ) |
References myMutex, XrdSysMutex::Lock(), ktList, XrdSecsssKT::ktEnt::Data, XrdSecsssKT::ktEnt::ktData::Name, XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssKT::ktEnt::Next, XrdSecsssKT::ktEnt::ktData::Exp, and XrdSysMutex::UnLock().
Referenced by XrdSecProtocolsss::getCredentials(), and XrdSecProtocolsss::Decode().
| XrdSecsssKT::ktEnt * XrdSecsssKT::getKeyTab | ( | XrdOucErrInfo * | eInfo, |
| time_t | Mtime, | ||
| mode_t | Amode | ||
| ) | [private] |
References S_IRWXG, ktMtime, fileMode(), ktPath, XrdOucErrInfo::setErrInfo(), eMsg(), open(), STDIN_FILENO, XrdOucStream::Attach(), XrdOucStream::GetLine(), XrdOucStream::GetToken(), ktDecode0(), XrdOucErrInfo::getErrText(), ktMode, isAdmin, XrdSecsssKT::ktEnt::Data, XrdSecsssKT::ktEnt::ktData::Exp, XrdSecsssKT::ktEnt::ktData::ID, kthiID, isKey(), XrdSecsssKT::ktEnt::Next, isClient, XrdSecsssKT::ktEnt::Set(), XrdSecsssKT::ktEnt::ktData::Crt, XrdOucStream::LastError(), XrdOucErrInfo::setErrCode(), and XrdOucStream::Close().
Referenced by XrdSecsssKT(), and Refresh().
References XrdSecsssKT::ktEnt::Data, XrdSecsssKT::ktEnt::ktData::Name, XrdSecsssKT::ktEnt::ktData::User, XrdSecsssKT::ktEnt::ktData::Grup, and XrdSecsssKT::ktEnt::ktData::ID.
Referenced by addKey(), delKey(), Rewrite(), and getKeyTab().
| void XrdSecsssKT::keyB2X | ( | ktEnt * | theKT, |
| char * | buff | ||
| ) | [private] |
References XrdSecsssKT::ktEnt::Data, XrdSecsssKT::ktEnt::ktData::Len, and XrdSecsssKT::ktEnt::ktData::Val.
Referenced by Rewrite().
| ktEnt* XrdSecsssKT::keyList | ( | ) | [inline] |
References ktList.
Referenced by XrdSecsssAdmin_delKey(), XrdSecsssAdmin_insKey(), and XrdSecsssAdmin_lstKey().
| void XrdSecsssKT::keyX2B | ( | ktEnt * | theKT, |
| char * | xKey | ||
| ) | [private] |
References XrdSecsssKT::ktEnt::maxKLen, XrdSecsssKT::ktEnt::Data, XrdSecsssKT::ktEnt::ktData::Val, and XrdSecsssKT::ktEnt::ktData::Len.
Referenced by ktDecode0().
| XrdSecsssKT::ktEnt * XrdSecsssKT::ktDecode0 | ( | XrdOucStream & | kTab, |
| XrdOucErrInfo * | eInfo | ||
| ) | [private] |
| void XrdSecsssKT::Refresh | ( | ) |
References stat(), ktPath, ktMtime, getKeyTab(), XrdOucErrInfo::getErrInfo(), myMutex, XrdSysMutex::Lock(), ktList, XrdSysMutex::UnLock(), XrdSecsssKT::ktEnt::Next, and eMsg().
Referenced by XrdSecsssKTRefresh().
| time_t XrdSecsssKT::RefrTime | ( | ) | [inline] |
References ktRefT.
Referenced by XrdSecsssKTRefresh().
| int XrdSecsssKT::Rewrite | ( | int | Keep, |
| int & | numKeys, | ||
| int & | numTot, | ||
| int & | numExp | ||
| ) |
References fileMode(), ktPath, rindex, XrdOucUtils::makePath(), S_IRWXU, S_IRGRP, S_IXGRP, S_IROTH, S_IXOTH, open(), XrdSecsssKT::ktEnt::Data, XrdSecsssKT::ktEnt::ktData::Name, XrdSecsssKT::ktEnt::ktData::User, XrdSecsssKT::ktEnt::ktData::Grup, ktList, XrdSecsssKT::ktEnt::Next, XrdSecsssKT::ktEnt::ktData::Exp, isKey(), XrdSecsssKT::ktEnt::NUG(), XrdSecsssKT::ktEnt::ktData::ID, XrdSecsssKT::ktEnt::ktData::Crt, keyB2X(), write(), XrdSecsssKT::ktEnt::ktData::Len, close, rename(), and unlink().
Referenced by XrdSecsssAdmin_addKey(), XrdSecsssAdmin_delKey(), and XrdSecsssAdmin_insKey().
| 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().
int XrdSecsssKT::kthiID [private] |
Referenced by XrdSecsssKT(), addKey(), and getKeyTab().
ktEnt* XrdSecsssKT::ktList [private] |
Referenced by XrdSecsssKT(), ~XrdSecsssKT(), addKey(), delKey(), getKey(), Refresh(), Rewrite(), and keyList().
xMode XrdSecsssKT::ktMode [private] |
Referenced by XrdSecsssKT(), and getKeyTab().
time_t XrdSecsssKT::ktMtime [private] |
Referenced by Refresh(), and getKeyTab().
char* XrdSecsssKT::ktPath [private] |
Referenced by XrdSecsssKT(), ~XrdSecsssKT(), Refresh(), Rewrite(), getKeyTab(), Same(), and setPath().
time_t XrdSecsssKT::ktRefT [private] |
Referenced by XrdSecsssKT(), and RefrTime().
XrdSysMutex XrdSecsssKT::myMutex [private] |
Referenced by ~XrdSecsssKT(), getKey(), and Refresh().
int XrdSecsssKT::randFD = -1 [static, private] |
Referenced by XrdSecsssKT(), and genKey().
1.7.5