![]() |
XRootD
|
#include <XrdSecProtocolpwd.hh>
Public Member Functions | |
XrdSecProtocolpwd (int opts, const char *hname, XrdNetAddrInfo &endPoint, const char *parms=0) | |
virtual | ~XrdSecProtocolpwd () |
int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0) |
void | Delete () |
Delete the protocol object. DO NOT use C++ delete() on this object. More... | |
XrdSecCredentials * | getCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0) |
![]() | |
XrdSecProtocol (const char *pName) | |
Constructor. More... | |
virtual int | Decrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual int | Encrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual int | getKey (char *buff=0, int size=0) |
virtual bool | needTLS () |
Check if this protocol requires TLS to properly function. More... | |
virtual int | setKey (char *buff, int size) |
virtual int | Sign (const char *inbuff, int inlen, XrdSecBuffer **outbuff) |
virtual int | Verify (const char *inbuff, int inlen, const char *sigbuff, int siglen) |
Static Public Member Functions | |
static XrdOucTrace * | EnableTracing () |
static char * | Init (pwdOptions o, XrdOucErrInfo *erp) |
static void | PrintTimeStat () |
Additional Inherited Members | |
![]() | |
XrdSecEntity | Entity |
![]() | |
virtual | ~XrdSecProtocol () |
Destructor (prevents use of direct delete). More... | |
Definition at line 285 of file XrdSecProtocolpwd.hh.
XrdSecProtocolpwd::XrdSecProtocolpwd | ( | int | opts, |
const char * | hname, | ||
XrdNetAddrInfo & | endPoint, | ||
const char * | parms = 0 |
||
) |
Definition at line 252 of file XrdSecProtocolpwd.cc.
References XrdSecEntity::addrInfo, XrdOucString::c_str(), pwdHSVars::CF, pwdHSVars::Cref, pwdHSVars::CryptoMod, DEBUG, XrdSecProtocol::Entity, EPNAME, pwdHSVars::Hcip, XrdSecEntity::host, pwdHSVars::ID, XrdOucString::insert(), pwdHSVars::LastStep, XrdOucString::length(), XrdSutPFile::Name(), NOTIFY, opts, pwdHSVars::Parms, pwdHSVars::Pent, PRINT, QTRACE, pwdHSVars::Rcip, pwdHSVars::RemVers, XrdOucString::resize(), pwdHSVars::RtagOK, pwdHSVars::Step, pwdHSVars::Tag, pwdHSVars::TimeStamp, pwdHSVars::Tty, pwdHSVars::User, Version, XrdSecPROTOIDENT, and XrdSecPROTOIDLEN.
|
inlinevirtual |
Definition at line 298 of file XrdSecProtocolpwd.hh.
|
virtual |
Authenticate a client.
cred | Credentials supplied by the client. |
parms | Place where the address of additional authentication data is to be placed for another autrhentication handshake. |
einfo | The error information object where error messages should be placed. The messages are returned to the client. Should einfo be null, messages should be written to stderr. |
Implements XrdSecProtocol.
Definition at line 1169 of file XrdSecProtocolpwd.cc.
References XrdSutBuffer::AddBucket(), XrdOucString::beginswith(), XrdSecBuffer::buffer, XrdSutBucket::buffer, XrdOucString::c_str(), ClientStepStr(), XrdSutPFEntry::cnt, pwdHSVars::Cref, CryptList, pwdStatus_t::ctype, XrdSutBuffer::Deactivate(), DEBUG, XrdSutBuffer::Dump(), XrdSecProtocol::Entity, EPNAME, pwdHSVars::ErrMsg, XrdSutPFCache::Flush(), XrdSutBuffer::GetBucket(), XrdSutBuffer::GetProtocol(), XrdSutBuffer::GetStep(), pwdHSVars::Hcip, pwdHSVars::ID, 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(), XrdSutPFEntry::mtime, XrdSecEntity::name, XrdSutPFEntry::name, ncrypt, NOTIFY, pwdStatus_t::options, ParseCrypto(), pwdHSVars::Pent, PRINT, XrdSecEntity::prot, QTRACE, REL2, pwdHSVars::RemVers, pwdHSVars::RtagOK, SafeDelArray, SafeDelete, XrdSutBuffer::Serialized(), ServerStepStr(), XrdSecBuffer::size, XrdSutBucket::size, XrdSutPFEntry::status, pwdHSVars::Step, XrdSecEntity::tident, pwdHSVars::TimeStamp, XrdSutBucket::ToString(), pwdHSVars::Tty, XrdSutBuffer::UpdateBucket(), pwdHSVars::User, XrdSysPrivGuard::Valid(), XrdSecPROTOIDENT, XrdSecPROTOIDLEN, and XrdSutToHex().
|
virtual |
Delete the protocol object. DO NOT use C++ delete() on this object.
Implements XrdSecProtocol.
Definition at line 854 of file XrdSecProtocolpwd.cc.
References XrdSecProtocol::Entity, XrdSecEntity::host, and SafeDelete.
|
static |
Definition at line 1609 of file XrdSecProtocolpwd.cc.
References eDest, XrdGlobal::Logger, and XrdSysError::logger().
Referenced by XrdSecProtocolpwdInit().
|
virtual |
Generate client credentials to be used in the authentication process.
parm | Pointer to the information returned by the server either in the initial login response or the authmore response. |
einfo | The error information object where error messages should be placed. The messages are returned to the client. Should einfo be null, messages should be written to stderr. |
Implements XrdSecProtocol.
Definition at line 870 of file XrdSecProtocolpwd.cc.
References XrdSutBuffer::AddBucket(), XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSecBuffer::buffer, XrdSutBucket::buffer, XrdOucString::c_str(), ClientStepStr(), XrdSutPFEntry::cnt, CryptList, pwdHSVars::CryptoMod, pwdStatus_t::ctype, XrdSutBuffer::Deactivate(), DEBUG, XrdSutBuffer::Dump(), EPNAME, pwdHSVars::ErrMsg, XrdSutBuffer::GetBucket(), XrdSutBuffer::GetProtocol(), XrdSutBuffer::GetStep(), pwdHSVars::Hcip, 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, ParseCrypto(), pwdHSVars::Pent, PRINT, XrdCryptoCipher::Public(), QTRACE, REL2, pwdHSVars::RemVers, SafeDelArray, XrdSutBuffer::Serialized(), ServerStepStr(), XrdSutPFBuf::SetBuf(), XrdSecBuffer::size, XrdSutPFEntry::status, pwdHSVars::Step, pwdHSVars::SysPwd, pwdHSVars::Tag, pwdHSVars::TimeStamp, pwdHSVars::Tty, XrdSutBuffer::UpdateBucket(), pwdHSVars::User, Version, XrdSecPROTOIDENT, and XrdSutBuckStr().
|
static |
Definition at line 341 of file XrdSecProtocolpwd.cc.
References AdminRef, pwdOptions::alog, pwdOptions::alogfile, pwdOptions::areg, XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdOucString::c_str(), XrdCryptoFactory::Cipher(), pwdOptions::clist, pwdOptions::cpass, cryptoTRACE_Debug, cryptoTRACE_Dump, cryptoTRACE_Notify, DEBUG, pwdOptions::debug, DefCrypto, pwdOptions::dir, XrdSutPFCache::Dump(), XrdOucString::endswith(), EPNAME, XrdOucString::erase(), pwdOptions::expcreds, pwdOptions::expfmt, XrdCryptoFactory::GetCryptoFactory(), XrdCryptoFactory::ID(), if(), XrdSutPFile::Init(), XrdSutPFCache::Init(), XrdOucString::insert(), XrdSutPFile::IsValid(), pwdOptions::keepcreds, kPFEcreate, kPWErrError, kPWErrInit, XrdSutPFBuf::len, XrdOucString::length(), pwdOptions::lifecreds, XrdSutPFCache::Load(), pwdOptions::maxfailures, pwdOptions::maxprompts, pwdOptions::mode, XrdCryptoFactory::Name(), ncrypt, NetRcRef, NOTIFY, Prefix, PRINT, pwdTrace, QTRACE, XrdSutPFile::ReadEntry(), XrdOucString::rfind(), XrdSutBucket::SetBuf(), XrdCryptoFactory::SetTrace(), SrvID, pwdOptions::srvpuk, SrvPukRef, stat(), sutTRACE_Debug, sutTRACE_Dump, sutTRACE_Notify, pwdOptions::syspwd, XrdOucString::tokenize(), TRACE_ALL, TRACE_Authen, TRACE_Debug, pwdOptions::udir, XrdSutPFCacheRef::UnLock(), pwdOptions::upwd, UserRef, XrdSysPrivGuard::Valid(), pwdOptions::vericlnt, pwdOptions::verisrv, Version, XrdOucTrace::What, XrdCryptoMax, XrdCryptoSetTrace(), XrdSutExpand(), XrdSutHome(), XrdSutMkdir(), and XrdSutSetTrace().
Referenced by XrdSecProtocolpwdInit().
|
static |