xrootd
|
#include <XrdSecProtocolpwd.hh>
Public Member Functions | |
int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0) |
XrdSecCredentials * | getCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0) |
XrdSecProtocolpwd (int opts, const char *hname, const struct sockaddr *ipadd, const char *parms=0) | |
virtual | ~XrdSecProtocolpwd () |
void | Delete () |
Static Public Member Functions | |
static char * | Init (pwdOptions o, XrdOucErrInfo *erp) |
static void | PrintTimeStat () |
Private Member Functions | |
int | ParseClientInput (XrdSutBuffer *br, XrdSutBuffer **bm, String &emsg) |
int | ParseServerInput (XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg) |
int | ParseCrypto (XrdSutBuffer *buf) |
XrdSecCredentials * | ErrC (XrdOucErrInfo *einfo, XrdSutBuffer *b1, XrdSutBuffer *b2, XrdSutBuffer *b3, kXR_int32 ecode, const char *msg1=0, const char *msg2=0, const char *msg3=0) |
int | ErrS (String ID, XrdOucErrInfo *einfo, XrdSutBuffer *b1, XrdSutBuffer *b2, XrdSutBuffer *b3, kXR_int32 ecode, const char *msg1=0, const char *msg2=0, const char *msg3=0) |
XrdSutBucket * | QueryCreds (XrdSutBuffer *bm, bool netrc, int &status) |
int | QueryUser (int &status, String &cmsg) |
int | QueryCrypt (String &fn, String &pwhash) |
int | QueryNetRc (String host, String &passwd, int &status) |
bool | CheckCreds (XrdSutBucket *creds, int credtype) |
bool | CheckCredsAFS (XrdSutBucket *creds, int ctype) |
bool | CheckTimeStamp (XrdSutBuffer *b, int skew, String &emsg) |
bool | CheckRtag (XrdSutBuffer *bm, String &emsg) |
int | ExportCreds (XrdSutBucket *creds) |
int | SaveCreds (XrdSutBucket *creds) |
int | UpdateAlog () |
int | GetUserHost (String &usr, String &host) |
int | AddSerialized (char opt, kXR_int32 step, String ID, XrdSutBuffer *bls, XrdSutBuffer *buf, kXR_int32 type, XrdCryptoCipher *cip) |
int | DoubleHash (XrdCryptoFactory *cf, XrdSutBucket *bck, XrdSutBucket *s1, XrdSutBucket *s2=0, const char *tag=0) |
Static Private Member Functions | |
static void | ErrF (XrdOucErrInfo *einfo, kXR_int32 ecode, const char *msg1, const char *msg2=0, const char *msg3=0) |
Private Attributes | |
int | options |
struct sockaddr | hostaddr |
char | CName [256] |
bool | srvMode |
pwdHSVars * | hs |
XrdSecCredentials * | clientCreds |
Static Private Attributes | |
static XrdSysMutex | pwdContext |
static String | FileAdmin = "" |
static String | FileExpCreds = "" |
static String | FileUser = "" |
static String | FileCrypt = "/.xrdpass" |
static String | FileSrvPuk = "" |
static String | SrvID = "" |
static String | SrvEmail = "" |
static String | DefCrypto = "ssl" |
static String | DefError = "insufficient credentials - contact " |
static XrdSutPFile | PFAdmin |
static XrdSutPFile | PFAlog |
static XrdSutPFile | PFSrvPuk |
static int | ncrypt = 0 |
static int | cryptID [XrdCryptoMax] = {0} |
static String | cryptName [XrdCryptoMax] = {0} |
static XrdCryptoCipher * | loccip [XrdCryptoMax] |
static XrdCryptoCipher * | refcip [XrdCryptoMax] = {0} |
static XrdSutCache | cacheAdmin |
static XrdSutCache | cacheSrvPuk |
static XrdSutCache | cacheUser |
static XrdSutCache | cacheAlog |
static int | Debug = 0 |
static bool | Server = 1 |
static int | UserPwd = 0 |
static bool | SysPwd = 0 |
static int | VeriClnt = 2 |
static int | VeriSrv = 1 |
static int | AutoReg = kpAR_none |
static int | LifeCreds = 0 |
static int | MaxPrompts = 3 |
static int | MaxFailures = 10 |
static int | AutoLogin = 0 |
static int | TimeSkew = 300 |
static bool | KeepCreds = 0 |
static XrdSysLogger | Logger |
static XrdSysError | eDest |
static XrdOucTrace * | SecTrace = 0 |
XrdSecProtocolpwd::XrdSecProtocolpwd | ( | int | opts, |
const char * | hname, | ||
const struct sockaddr * | ipadd, | ||
const char * | parms = 0 |
||
) |
References AutoLogin, XrdOucString::c_str(), pwdHSVars::CF, clientCreds, CName, pwdHSVars::Cref, pwdHSVars::CryptoMod, DEBUG, XrdSecProtocol::Entity, EPNAME, pwdHSVars::Hcip, XrdSecEntity::host, hostaddr, hs, pwdHSVars::ID, XrdOucString::insert(), pwdHSVars::LastStep, XrdOucString::length(), XrdSutPFile::Name(), options, opts, pwdHSVars::Parms, pwdHSVars::Pent, PFAlog, PRINT, QTRACE, pwdHSVars::Rcip, pwdHSVars::RemVers, XrdOucString::resize(), pwdHSVars::RtagOK, Server, srvMode, pwdHSVars::Step, pwdHSVars::Tag, pwdHSVars::TimeStamp, pwdHSVars::Tty, pwdHSVars::User, VeriSrv, Version, XrdSecPROTOIDENT, and XrdSecPROTOIDLEN.
virtual XrdSecProtocolpwd::~XrdSecProtocolpwd | ( | ) | [inline, virtual] |
int XrdSecProtocolpwd::AddSerialized | ( | char | opt, |
kXR_int32 | step, | ||
String | ID, | ||
XrdSutBuffer * | bls, | ||
XrdSutBuffer * | buf, | ||
kXR_int32 | type, | ||
XrdCryptoCipher * | cip | ||
) | [private] |
References XrdSutBuffer::AddBucket(), XrdSutPFEntry::buf1, XrdSutBucket::buffer, pwdHSVars::Cref, DEBUG, XrdCryptoCipher::Encrypt(), EPNAME, XrdSutBuffer::GetBucket(), XrdSutRndm::GetRndmTag(), hs, kXPC_autoreg, kXRS_rtag, kXRS_signed_rtag, kXRS_timestamp, pwdHSVars::LastStep, XrdSutBuffer::MarshalBucket(), XrdSutPFEntry::mtime, XrdSutBuffer::Serialized(), XrdSutPFBuf::SetBuf(), XrdSutBuffer::SetStep(), XrdSutBucket::size, pwdHSVars::TimeStamp, XrdSutBucket::type, XrdSutBucket::Update(), and XrdSutBuckStr().
Referenced by Authenticate(), and getCredentials().
int XrdSecProtocolpwd::Authenticate | ( | XrdSecCredentials * | cred, |
XrdSecParameters ** | parms, | ||
XrdOucErrInfo * | einfo = 0 |
||
) | [virtual] |
Implements XrdSecProtocol.
References XrdSutBuffer::AddBucket(), AddSerialized(), XrdOucString::beginswith(), XrdSutBucket::buffer, XrdSecBuffer::buffer, XrdOucString::c_str(), cacheAdmin, CheckCreds(), CheckRtag(), CheckTimeStamp(), clientCreds, ClientStepStr(), CName, XrdSutPFEntry::cnt, pwdHSVars::Cref, cryptID, CryptList, pwdStatus_t::ctype, XrdSutBuffer::Deactivate(), DEBUG, DefError, XrdSutBuffer::Dump(), XrdSecProtocol::Entity, EPNAME, pwdHSVars::ErrMsg, ErrS(), ExportCreds(), FileExpCreds, XrdSutCache::Flush(), XrdSutBuffer::GetBucket(), XrdSutBuffer::GetProtocol(), XrdSutBuffer::GetStep(), pwdHSVars::Hcip, hs, pwdHSVars::ID, KeepCreds, kOptsAFSPwd, kOptsChngPwd, kOptsClntTty, kOptsCrypPwd, kOptsExpCred, kpCT_afs, kpCT_afsenc, kpCT_crypt, kpCT_new, kpCT_normal, kPFE_allowed, kPFE_crypt, kPFE_disabled, kPFE_expired, kPFE_onetime, kpST_error, kpST_more, kpST_ok, kPWErrAddBucket, kPWErrBadCreds, kPWErrBadOpt, kPWErrBadProtocol, kPWErrBadRndmTag, kPWErrDecodeBuffer, kPWErrError, kPWErrLoadCrypto, kPWErrNoPublic, kPWErrParseBuffer, kPWErrSerialBuffer, kXPC_autoreg, kXPC_creds, kXPC_failureack, kXPC_normal, kXPC_signedrtag, kXPC_verifysrv, kXPS_credsreq, kXPS_failure, kXPS_none, kXPS_puk, kXPS_rtag, kXPS_signedrtag, kXRS_afsinfo, kXRS_creds, kXRS_main, kXRS_message, kXRS_puk, kXRS_status, XrdOucString::length(), MaxPrompts, XrdSutPFEntry::mtime, XrdSutPFEntry::name, XrdSecEntity::name, ncrypt, pwdStatus_t::options, ParseCrypto(), ParseServerInput(), pwdHSVars::Pent, XrdSecEntity::prot, pwdContext, QTRACE, QueryUser(), refcip, REL2, pwdHSVars::RemVers, pwdHSVars::RtagOK, SafeDelArray, SafeDelete, SaveCreds(), XrdSutBuffer::Serialized(), ServerStepStr(), XrdSutBucket::size, XrdSecBuffer::size, XrdSutPFEntry::status, pwdHSVars::Step, XrdSecEntity::tident, TimeSkew, pwdHSVars::TimeStamp, XrdSutBucket::ToString(), pwdHSVars::Tty, XrdSutBuffer::UpdateBucket(), pwdHSVars::User, XrdSysPrivGuard::Valid(), VeriClnt, XrdSecPROTOIDENT, XrdSecPROTOIDLEN, and XrdSutToHex().
bool XrdSecProtocolpwd::CheckCreds | ( | XrdSutBucket * | creds, |
int | credtype | ||
) | [private] |
References XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutBucket::buffer, XrdOucString::c_str(), pwdHSVars::CF, CheckCredsAFS(), DEBUG, DoubleHash(), EPNAME, hs, KeepCreds, kpCT_afs, kpCT_afsenc, kpCT_crypt, XrdSutPFBuf::len, pwdHSVars::Pent, XrdOucString::reset(), SafeDelete, XrdSutBucket::SetBuf(), and XrdSutBucket::size.
Referenced by Authenticate().
bool XrdSecProtocolpwd::CheckCredsAFS | ( | XrdSutBucket * | creds, |
int | ctype | ||
) | [private] |
Referenced by CheckCreds().
bool XrdSecProtocolpwd::CheckRtag | ( | XrdSutBuffer * | bm, |
String & | emsg | ||
) | [private] |
References XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutBucket::buffer, pwdHSVars::Cref, XrdSutBuffer::Deactivate(), DEBUG, XrdCryptoCipher::Decrypt(), EPNAME, XrdSutBuffer::GetBucket(), pwdHSVars::Hcip, hs, kXRS_signed_rtag, XrdSutPFBuf::len, pwdHSVars::RtagOK, SafeDelete, and XrdSutPFBuf::SetBuf().
Referenced by Authenticate(), and getCredentials().
bool XrdSecProtocolpwd::CheckTimeStamp | ( | XrdSutBuffer * | b, |
int | skew, | ||
String & | emsg | ||
) | [private] |
References XrdSutBuffer::Deactivate(), DEBUG, EPNAME, XrdSutBuffer::GetBucket(), hs, kXRS_timestamp, pwdHSVars::RtagOK, pwdHSVars::TimeStamp, XrdSutBuffer::UnmarshalBucket(), and VeriClnt.
Referenced by Authenticate().
void XrdSecProtocolpwd::Delete | ( | ) | [virtual] |
Implements XrdSecProtocol.
References XrdSecProtocol::Entity, XrdSecEntity::host, hs, and SafeDelete.
int XrdSecProtocolpwd::DoubleHash | ( | XrdCryptoFactory * | cf, |
XrdSutBucket * | bck, | ||
XrdSutBucket * | s1, | ||
XrdSutBucket * | s2 = 0 , |
||
const char * | tag = 0 |
||
) | [private] |
References XrdSutBucket::buffer, DEBUG, EPNAME, XrdCryptoFactory::KDFun(), KDFun, XrdCryptoFactory::KDFunLen(), KDFunLen, XrdSutBucket::SetBuf(), and XrdSutBucket::size.
Referenced by CheckCreds(), QueryCreds(), and SaveCreds().
XrdSecCredentials * XrdSecProtocolpwd::ErrC | ( | XrdOucErrInfo * | einfo, |
XrdSutBuffer * | b1, | ||
XrdSutBuffer * | b2, | ||
XrdSutBuffer * | b3, | ||
kXR_int32 | ecode, | ||
const char * | msg1 = 0 , |
||
const char * | msg2 = 0 , |
||
const char * | msg3 = 0 |
||
) | [private] |
Referenced by getCredentials().
void XrdSecProtocolpwd::ErrF | ( | XrdOucErrInfo * | einfo, |
kXR_int32 | ecode, | ||
const char * | msg1, | ||
const char * | msg2 = 0 , |
||
const char * | msg3 = 0 |
||
) | [static, private] |
References DEBUG, Debug, EPNAME, gPWErrStr, kPWErrError, kPWErrParseBuffer, QTRACE, and XrdOucErrInfo::setErrInfo().
int XrdSecProtocolpwd::ErrS | ( | String | ID, |
XrdOucErrInfo * | einfo, | ||
XrdSutBuffer * | b1, | ||
XrdSutBuffer * | b2, | ||
XrdSutBuffer * | b3, | ||
kXR_int32 | ecode, | ||
const char * | msg1 = 0 , |
||
const char * | msg2 = 0 , |
||
const char * | msg3 = 0 |
||
) | [private] |
References ErrF(), kpST_error, and REL3.
Referenced by Authenticate().
int XrdSecProtocolpwd::ExportCreds | ( | XrdSutBucket * | creds | ) | [private] |
References XrdSutPFEntry::buf1, XrdSutBucket::buffer, XrdOucString::c_str(), pwdHSVars::CF, XrdSutPFEntry::cnt, DEBUG, XrdSecProtocol::Entity, EPNAME, FileExpCreds, XrdSecEntity::grps, XrdSecEntity::host, hs, XrdCryptoFactory::ID(), kPFE_ok, XrdOucString::length(), XrdSutPFEntry::mtime, XrdSecEntity::name, XrdSutPFBuf::SetBuf(), XrdSutPFEntry::SetName(), XrdSutBucket::size, XrdSutPFEntry::status, pwdHSVars::Tag, pwdHSVars::User, XrdSecEntity::vorg, and XrdSutResolve().
Referenced by Authenticate().
XrdSecCredentials * XrdSecProtocolpwd::getCredentials | ( | XrdSecParameters * | parm = 0 , |
XrdOucErrInfo * | einfo = 0 |
||
) | [virtual] |
Implements XrdSecProtocol.
References XrdSutBuffer::AddBucket(), AddSerialized(), AutoLogin, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutBucket::buffer, XrdSecBuffer::buffer, XrdOucString::c_str(), CheckRtag(), clientCreds, ClientStepStr(), XrdSutPFEntry::cnt, CryptList, pwdHSVars::CryptoMod, pwdStatus_t::ctype, XrdSutBuffer::Deactivate(), DEBUG, XrdSutBuffer::Dump(), EPNAME, ErrC(), pwdHSVars::ErrMsg, XrdSutBuffer::GetBucket(), XrdSutBuffer::GetProtocol(), XrdSutBuffer::GetStep(), pwdHSVars::Hcip, hs, pwdHSVars::ID, pwdHSVars::Iter, kOptsChngPwd, kOptsClntTty, kpCT_afs, kpCT_crypt, kpCT_normal, kPFE_onetime, kPWErrAddBucket, kPWErrBadOpt, kPWErrBadProtocol, kPWErrBadRndmTag, kPWErrCreateBucket, kPWErrDecodeBuffer, kPWErrDuplicateBucket, kPWErrError, kPWErrLoadCrypto, kPWErrNoBuffer, kPWErrNoPublic, kPWErrNoUser, kPWErrParseBuffer, kPWErrQueryCreds, kPWErrSerialBuffer, kXPC_autoreg, kXPC_creds, kXPC_failureack, kXPC_none, kXPC_normal, kXPC_signedrtag, kXPC_verifysrv, kXPS_credsreq, kXPS_failure, kXPS_init, kXPS_newpuk, kXPS_puk, kXPS_rtag, kXPS_signedrtag, kXRS_cryptomod, kXRS_main, kXRS_message, kXRS_puk, kXRS_status, kXRS_user, kXRS_version, XrdOucString::length(), XrdSutBuffer::MarshalBucket(), XrdSutBuffer::Message(), pwdStatus_t::options, pwdHSVars::Parms, ParseClientInput(), ParseCrypto(), pwdHSVars::Pent, XrdCryptoCipher::Public(), pwdContext, QTRACE, QueryCreds(), REL2, pwdHSVars::RemVers, SafeDelArray, XrdSutBuffer::Serialized(), ServerStepStr(), XrdSutPFBuf::SetBuf(), XrdSecBuffer::size, srvMode, XrdSutPFEntry::status, pwdHSVars::Step, pwdHSVars::SysPwd, pwdHSVars::Tag, pwdHSVars::TimeStamp, pwdHSVars::Tty, XrdSutBuffer::UpdateBucket(), pwdHSVars::User, VeriSrv, Version, XrdSecPROTOIDENT, and XrdSutBuckStr().
References XrdOucString::append(), XrdOucString::c_str(), DEBUG, XrdSecProtocol::Entity, EPNAME, XrdSecEntity::host, hs, XrdOucString::length(), XrdSecEntity::name, pwdHSVars::Tty, and XrdSutGetLine().
Referenced by ParseClientInput().
char * XrdSecProtocolpwd::Init | ( | pwdOptions | o, |
XrdOucErrInfo * | erp | ||
) | [static] |
References AdminRef, pwdOptions::alog, pwdOptions::alogfile, pwdOptions::areg, AutoLogin, AutoReg, XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdOucString::c_str(), cacheAdmin, cacheAlog, cacheSrvPuk, cacheUser, XrdCryptoFactory::Cipher(), pwdOptions::clist, pwdOptions::cpass, cryptID, cryptName, cryptoTRACE_Debug, cryptoTRACE_Dump, DEBUG, pwdOptions::debug, Debug, DefCrypto, DefError, pwdOptions::dir, XrdSutCache::Dump(), eDest, XrdOucString::endswith(), EPNAME, XrdOucString::erase(), ErrF(), pwdOptions::expcreds, FileAdmin, FileCrypt, FileExpCreds, FileSrvPuk, FileUser, XrdSutCache::Get(), XrdCryptoFactory::GetCryptoFactory(), XrdCryptoFactory::ID(), XrdSutCache::Init(), XrdSutPFile::Init(), XrdOucString::insert(), XrdSutPFile::IsValid(), pwdOptions::keepcreds, KeepCreds, kPFEcreate, kPWErrError, kPWErrInit, XrdSutPFBuf::len, XrdOucString::length(), pwdOptions::lifecreds, LifeCreds, XrdSutCache::Load(), Logger, XrdSysError::logger(), pwdOptions::maxfailures, MaxFailures, pwdOptions::maxprompts, MaxPrompts, pwdOptions::mode, XrdCryptoFactory::Name(), ncrypt, PFAdmin, PFAlog, PFSrvPuk, Prefix, PRINT, QTRACE, XrdSutPFile::ReadEntry(), refcip, XrdOucString::rfind(), SecTrace, Server, XrdSutBucket::SetBuf(), XrdCryptoFactory::SetTrace(), SrvEmail, SrvID, pwdOptions::srvpuk, stat(), pwdOptions::syspwd, SysPwd, XrdOucString::tokenize(), TRACE_Authen, TRACE_Debug, pwdOptions::udir, pwdOptions::upwd, UserPwd, UserRef, XrdSysPrivGuard::Valid(), pwdOptions::vericlnt, VeriClnt, pwdOptions::verisrv, VeriSrv, Version, XrdOucTrace::What, XrdCryptoMax, XrdCryptoSetTrace(), XrdSutExpand(), XrdSutHome(), XrdSutMkdir(), and XrdSutSetTrace().
Referenced by XrdSecProtocolpwdInit().
int XrdSecProtocolpwd::ParseClientInput | ( | XrdSutBuffer * | br, |
XrdSutBuffer ** | bm, | ||
String & | emsg | ||
) | [private] |
References XrdSutCache::Add(), pwdHSVars::AFScell, XrdCryptoBasic::AsHexString(), XrdOucString::assign(), XrdSutBuckList::Begin(), XrdOucString::beginswith(), XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutBucket::buffer, XrdOucString::c_str(), cacheSrvPuk, pwdHSVars::CF, XrdCryptoFactory::Cipher(), pwdHSVars::Cref, DEBUG, XrdCryptoCipher::Decrypt(), EPNAME, XrdOucString::erase(), XrdOucString::find(), XrdSutCache::Flush(), XrdSutCache::Get(), XrdSutBuffer::GetBucket(), XrdSutBuffer::GetNBuckets(), XrdSutBuffer::GetOptions(), XrdSutBuffer::GetProtocol(), GetUserHost(), pwdHSVars::Hcip, hs, XrdCryptoFactory::ID(), XrdSutPFile::IsValid(), kXPC_autoreg, kXRS_main, kXRS_puk, pwdHSVars::LastStep, XrdSutPFBuf::len, XrdOucString::length(), XrdSutPFEntry::mtime, XrdSutBuckList::Next(), opts, PFSrvPuk, pwdHSVars::RemVers, XrdOucString::resize(), SafeDelArray, SafeDelete, XrdSutPFBuf::SetBuf(), XrdSutBucket::size, XrdSutPFEntry::status, pwdHSVars::SysPwd, pwdHSVars::Tag, TimeSkew, pwdHSVars::TimeStamp, XrdSutBucket::type, pwdHSVars::User, and Version.
Referenced by getCredentials().
int XrdSecProtocolpwd::ParseCrypto | ( | XrdSutBuffer * | buf | ) | [private] |
References XrdOucString::assign(), XrdOucString::c_str(), pwdHSVars::CF, cryptID, pwdHSVars::CryptoMod, DEBUG, EPNAME, XrdOucString::erase(), XrdOucString::find(), XrdSutBuffer::GetBucket(), XrdCryptoFactory::GetCryptoFactory(), XrdSutBuffer::GetNBuckets(), XrdSutBuffer::GetOptions(), hs, XrdCryptoFactory::ID(), kXRS_cryptomod, XrdOucString::length(), ncrypt, opts, pwdHSVars::Rcip, refcip, XrdOucString::tokenize(), XrdSutBucket::ToString(), and XrdCryptoMax.
Referenced by Authenticate(), and getCredentials().
int XrdSecProtocolpwd::ParseServerInput | ( | XrdSutBuffer * | br, |
XrdSutBuffer ** | bm, | ||
String & | cmsg | ||
) | [private] |
References XrdSutBucket::buffer, XrdOucString::c_str(), pwdHSVars::CF, XrdCryptoFactory::Cipher(), pwdHSVars::Cref, XrdSutBuffer::Deactivate(), DEBUG, XrdCryptoCipher::Decrypt(), EPNAME, XrdCryptoCipher::Finalize(), XrdSutBuffer::GetBucket(), pwdHSVars::Hcip, hs, pwdHSVars::ID, kXRS_main, kXRS_puk, kXRS_user, kXRS_version, XrdOucString::length(), XrdSutPFEntry::mtime, pwdHSVars::Rcip, pwdHSVars::RemVers, SafeDelete, XrdSutBucket::size, pwdHSVars::Tag, TimeSkew, pwdHSVars::TimeStamp, XrdSutBucket::ToString(), pwdHSVars::User, and Version.
Referenced by Authenticate().
static void XrdSecProtocolpwd::PrintTimeStat | ( | ) | [static] |
XrdSutBucket * XrdSecProtocolpwd::QueryCreds | ( | XrdSutBuffer * | bm, |
bool | netrc, | ||
int & | status | ||
) | [private] |
References XrdSutCache::Add(), pwdHSVars::AFScell, AutoLogin, XrdOucString::beginswith(), XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutBucket::buffer, XrdOucString::c_str(), cacheAlog, pwdHSVars::CF, XrdSutPFEntry::cnt, XrdSutBuffer::Deactivate(), DEBUG, DoubleHash(), EPNAME, XrdOucString::erase(), XrdOucString::find(), XrdSutCache::Get(), XrdSutBuffer::GetBucket(), hs, XrdCryptoFactory::ID(), XrdSutPFile::IsValid(), kpCI_exact, kpCI_prompt, kpCI_undef, kpCI_wildcard, kpCT_afs, kpCT_afsenc, kpCT_crypt, kpCT_new, kpCT_normal, kpCT_old, kpCT_onetime, kpCT_undef, kPFE_crypt, kPFE_ok, kPFE_onetime, kXRS_afsinfo, kXRS_creds, XrdSutPFBuf::len, XrdOucString::length(), MaxPrompts, XrdSutPFEntry::mtime, pwdHSVars::Pent, PFAlog, PRINT, QueryNetRc(), XrdSutCache::Refresh(), XrdSutPFBuf::SetBuf(), XrdSutBucket::SetBuf(), XrdSutBucket::size, snprintf, XrdSutPFEntry::status, pwdHSVars::Tag, pwdHSVars::TimeStamp, XrdSutBucket::ToString(), pwdHSVars::Tty, XrdSutBucket::type, UpdateAlog(), XrdSutBuffer::UpdateBucket(), pwdHSVars::User, XrdSutFromHex(), XrdSutGetPass(), and XrdSutMAXPPT.
Referenced by getCredentials().
References XrdOucString::c_str(), close, DEBUG, EPNAME, hs, XrdOucString::length(), open(), read(), S_IRGRP, S_IROTH, S_ISDIR, S_ISREG, S_IWGRP, S_IWOTH, stat(), pwdHSVars::User, and XrdSysPrivGuard::Valid().
Referenced by QueryUser().
References XrdOucString::c_str(), DEBUG, XrdSecProtocol::Entity, EPNAME, fclose(), fopen, XrdSecEntity::grps, XrdSecEntity::host, hs, kpCI_exact, kpCI_wildcard, XrdOucString::length(), XrdOucString::matches(), XrdSecEntity::name, S_IRGRP, S_IROTH, S_ISDIR, S_ISREG, S_IWGRP, S_IWOTH, stat(), pwdHSVars::User, XrdSecEntity::vorg, and XrdSutResolve().
Referenced by QueryCreds().
int XrdSecProtocolpwd::QueryUser | ( | int & | status, |
String & | cmsg | ||
) | [private] |
References XrdSutCache::Add(), XrdOucString::assign(), AutoReg, XrdOucString::beginswith(), XrdSutPFEntry::buf1, XrdOucString::c_str(), cacheAdmin, cacheUser, pwdHSVars::CF, XrdSutPFEntry::cnt, pwdHSVars::Cref, DEBUG, EPNAME, File, FileCrypt, FileUser, XrdSutCache::Get(), hs, XrdCryptoFactory::ID(), XrdOucString::insert(), XrdSutPFile::IsValid(), kpAR_none, kpAR_users, kPFE_allowed, kPFE_crypt, kPFE_disabled, kPFE_expired, kPFE_ok, kPFEopen, XrdOucString::length(), LifeCreds, MaxFailures, XrdSutPFEntry::mtime, pwdHSVars::Pent, PFAdmin, QueryCrypt(), XrdSutCache::Refresh(), XrdOucString::replace(), XrdOucString::resize(), XrdSutPFBuf::SetBuf(), snprintf, SrvEmail, stat(), XrdSutPFEntry::status, SysPwd, pwdHSVars::Tag, pwdHSVars::TimeStamp, pwdHSVars::User, UserPwd, XrdSysPrivGuard::Valid(), and XrdSutMAXPPT.
Referenced by Authenticate().
int XrdSecProtocolpwd::SaveCreds | ( | XrdSutBucket * | creds | ) | [private] |
References XrdSutCache::Add(), XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutBucket::buffer, XrdOucString::c_str(), cacheAdmin, pwdHSVars::CF, DEBUG, DoubleHash(), EPNAME, XrdSutCache::Flush(), XrdSutRndm::GetBuffer(), hs, XrdCryptoFactory::ID(), kPFE_ok, XrdOucString::length(), XrdSutPFEntry::mtime, XrdSutPFBuf::SetBuf(), XrdSutBucket::size, XrdSutPFEntry::status, pwdHSVars::Tag, pwdHSVars::TimeStamp, pwdHSVars::User, and XrdSysPrivGuard::Valid().
Referenced by Authenticate().
int XrdSecProtocolpwd::UpdateAlog | ( | ) | [private] |
References XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutPFEntry::buf3, XrdSutPFEntry::buf4, cacheAlog, pwdHSVars::CF, XrdSutPFEntry::cnt, DEBUG, EPNAME, XrdSutCache::Flush(), hs, XrdCryptoFactory::ID(), kPFE_ok, XrdOucString::length(), XrdSutPFEntry::mtime, pwdHSVars::Pent, XrdSutPFBuf::SetBuf(), XrdSutPFEntry::status, pwdHSVars::Tag, and pwdHSVars::TimeStamp.
Referenced by QueryCreds().
int XrdSecProtocolpwd::AutoLogin = 0 [static, private] |
Referenced by getCredentials(), Init(), QueryCreds(), and XrdSecProtocolpwd().
int XrdSecProtocolpwd::AutoReg = kpAR_none [static, private] |
Referenced by Init(), and QueryUser().
XrdSutCache XrdSecProtocolpwd::cacheAdmin [static, private] |
Referenced by Authenticate(), Init(), QueryUser(), and SaveCreds().
XrdSutCache XrdSecProtocolpwd::cacheAlog [static, private] |
Referenced by Init(), QueryCreds(), and UpdateAlog().
XrdSutCache XrdSecProtocolpwd::cacheSrvPuk [static, private] |
Referenced by Init(), and ParseClientInput().
XrdSutCache XrdSecProtocolpwd::cacheUser [static, private] |
Referenced by Init(), and QueryUser().
XrdSecCredentials* XrdSecProtocolpwd::clientCreds [private] |
Referenced by Authenticate(), getCredentials(), and XrdSecProtocolpwd().
char XrdSecProtocolpwd::CName[256] [private] |
Referenced by Authenticate(), and XrdSecProtocolpwd().
int XrdSecProtocolpwd::cryptID = {0} [static, private] |
Referenced by Authenticate(), Init(), and ParseCrypto().
String XrdSecProtocolpwd::cryptName = {0} [static, private] |
Referenced by Init().
int XrdSecProtocolpwd::Debug = 0 [static, private] |
String XrdSecProtocolpwd::DefCrypto = "ssl" [static, private] |
Referenced by Init().
String XrdSecProtocolpwd::DefError = "insufficient credentials - contact " [static, private] |
Referenced by Authenticate(), and Init().
XrdSysError XrdSecProtocolpwd::eDest [static, private] |
Referenced by Init().
String XrdSecProtocolpwd::FileAdmin = "" [static, private] |
Referenced by Init().
String XrdSecProtocolpwd::FileCrypt = "/.xrdpass" [static, private] |
Referenced by Init(), and QueryUser().
String XrdSecProtocolpwd::FileExpCreds = "" [static, private] |
Referenced by Authenticate(), ExportCreds(), and Init().
String XrdSecProtocolpwd::FileSrvPuk = "" [static, private] |
Referenced by Init().
String XrdSecProtocolpwd::FileUser = "" [static, private] |
Referenced by Init(), and QueryUser().
struct sockaddr XrdSecProtocolpwd::hostaddr [private] |
Referenced by XrdSecProtocolpwd().
pwdHSVars* XrdSecProtocolpwd::hs [private] |
Referenced by AddSerialized(), Authenticate(), CheckCreds(), CheckRtag(), CheckTimeStamp(), Delete(), ExportCreds(), getCredentials(), GetUserHost(), ParseClientInput(), ParseCrypto(), ParseServerInput(), QueryCreds(), QueryCrypt(), QueryNetRc(), QueryUser(), SaveCreds(), UpdateAlog(), and XrdSecProtocolpwd().
bool XrdSecProtocolpwd::KeepCreds = 0 [static, private] |
Referenced by Authenticate(), CheckCreds(), and Init().
int XrdSecProtocolpwd::LifeCreds = 0 [static, private] |
Referenced by Init(), and QueryUser().
XrdCryptoCipher* XrdSecProtocolpwd::loccip[XrdCryptoMax] [static, private] |
XrdSysLogger XrdSecProtocolpwd::Logger [static, private] |
Referenced by Init().
int XrdSecProtocolpwd::MaxFailures = 10 [static, private] |
Referenced by Init(), and QueryUser().
int XrdSecProtocolpwd::MaxPrompts = 3 [static, private] |
Referenced by Authenticate(), Init(), and QueryCreds().
int XrdSecProtocolpwd::ncrypt = 0 [static, private] |
Referenced by Authenticate(), Init(), and ParseCrypto().
int XrdSecProtocolpwd::options [private] |
Referenced by XrdSecProtocolpwd().
XrdSutPFile XrdSecProtocolpwd::PFAdmin [static, private] |
Referenced by Init(), and QueryUser().
XrdSutPFile XrdSecProtocolpwd::PFAlog [static, private] |
Referenced by Init(), QueryCreds(), and XrdSecProtocolpwd().
XrdSutPFile XrdSecProtocolpwd::PFSrvPuk [static, private] |
Referenced by Init(), and ParseClientInput().
XrdSysMutex XrdSecProtocolpwd::pwdContext [static, private] |
Referenced by Authenticate(), and getCredentials().
XrdCryptoCipher * XrdSecProtocolpwd::refcip = {0} [static, private] |
Referenced by Authenticate(), Init(), and ParseCrypto().
XrdOucTrace * XrdSecProtocolpwd::SecTrace = 0 [static, private] |
Referenced by Init().
bool XrdSecProtocolpwd::Server = 1 [static, private] |
Referenced by Init(), and XrdSecProtocolpwd().
String XrdSecProtocolpwd::SrvEmail = "" [static, private] |
Referenced by Init(), and QueryUser().
String XrdSecProtocolpwd::SrvID = "" [static, private] |
Referenced by Init().
bool XrdSecProtocolpwd::srvMode [private] |
Referenced by getCredentials(), and XrdSecProtocolpwd().
bool XrdSecProtocolpwd::SysPwd = 0 [static, private] |
Referenced by Init(), and QueryUser().
int XrdSecProtocolpwd::TimeSkew = 300 [static, private] |
Referenced by Authenticate(), ParseClientInput(), and ParseServerInput().
int XrdSecProtocolpwd::UserPwd = 0 [static, private] |
Referenced by Init(), and QueryUser().
int XrdSecProtocolpwd::VeriClnt = 2 [static, private] |
Referenced by Authenticate(), CheckTimeStamp(), and Init().
int XrdSecProtocolpwd::VeriSrv = 1 [static, private] |
Referenced by getCredentials(), Init(), and XrdSecProtocolpwd().