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