XrdSecProtocolpwd Class Reference

#include <XrdSecProtocolpwd.hh>

Inheritance diagram for XrdSecProtocolpwd:
Inheritance graph
[legend]
Collaboration diagram for XrdSecProtocolpwd:
Collaboration graph
[legend]

List of all members.

Public Member Functions

int Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0)
XrdSecCredentialsgetCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0)
 XrdSecProtocolpwd (int opts, const char *hname, XrdNetAddrInfo &endPoint, const char *parms=0)
virtual ~XrdSecProtocolpwd ()
void Delete ()
 Delete the protocol object. DO NOT use C++ delete() on this object.

Static Public Member Functions

static char * Init (pwdOptions o, XrdOucErrInfo *erp)
static void PrintTimeStat ()
static XrdOucTraceEnableTracing ()

Private Member Functions

int ParseClientInput (XrdSutBuffer *br, XrdSutBuffer **bm, String &emsg)
int ParseServerInput (XrdSutBuffer *br, XrdSutBuffer **bm, String &cmsg)
int ParseCrypto (XrdSutBuffer *buf)
XrdSecCredentialsErrC (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)
XrdSutBucketQueryCreds (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

XrdNetAddrInfo epAddr
int options
char CName [256]
bool srvMode
pwdHSVarshs
XrdSecCredentialsclientCreds

Static Private Attributes

static XrdSysMutex pwdContext
static String FileAdmin
static String FileExpCreds
static String FileUser
static String FileCrypt
static String FileSrvPuk
static String SrvID
static String SrvEmail
static String DefCrypto
static String DefError
static XrdSutPFile PFAdmin
static XrdSutPFile PFAlog
static XrdSutPFile PFSrvPuk
static int ncrypt
static int cryptID [XrdCryptoMax]
static String cryptName [XrdCryptoMax]
static XrdCryptoCipherloccip [XrdCryptoMax]
static XrdCryptoCipherrefcip [XrdCryptoMax]
static XrdSutPFCache cacheAdmin
static XrdSutPFCache cacheSrvPuk
static XrdSutPFCache cacheUser
static XrdSutPFCache cacheAlog
static int Debug
static bool Server
static int UserPwd
static bool SysPwd
static int VeriClnt
static int VeriSrv
static int AutoReg
static int LifeCreds
static int MaxPrompts
static int MaxFailures
static int AutoLogin
static int TimeSkew
static bool KeepCreds
static int FmtExpCreds
static XrdSysLogger Logger
static XrdSysError eDest
static XrdOucTracePWDTrace

Constructor & Destructor Documentation

XrdSecProtocolpwd::XrdSecProtocolpwd ( int  opts,
const char *  hname,
XrdNetAddrInfo endPoint,
const char *  parms = 0 
)
virtual XrdSecProtocolpwd::~XrdSecProtocolpwd (  )  [inline, virtual]

Member Function Documentation

int XrdSecProtocolpwd::AddSerialized ( char  opt,
kXR_int32  step,
String  ID,
XrdSutBuffer bls,
XrdSutBuffer buf,
kXR_int32  type,
XrdCryptoCipher cip 
) [private]
int XrdSecProtocolpwd::Authenticate ( XrdSecCredentials cred,
XrdSecParameters **  parms,
XrdOucErrInfo einfo = 0 
) [virtual]

Authenticate a client.

Parameters:
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.
Returns:
> 0 -> parms present (more authentication needed) = 0 -> Entity present (authentication suceeded) < 0 -> einfo present (error has occured)

Implements XrdSecProtocol.

bool XrdSecProtocolpwd::CheckCreds ( XrdSutBucket creds,
int  credtype 
) [private]
bool XrdSecProtocolpwd::CheckCredsAFS ( XrdSutBucket creds,
int  ctype 
) [private]
bool XrdSecProtocolpwd::CheckRtag ( XrdSutBuffer bm,
String emsg 
) [private]
bool XrdSecProtocolpwd::CheckTimeStamp ( XrdSutBuffer b,
int  skew,
String emsg 
) [private]
void XrdSecProtocolpwd::Delete (  )  [virtual]

Delete the protocol object. DO NOT use C++ delete() on this object.

Implements XrdSecProtocol.

int XrdSecProtocolpwd::DoubleHash ( XrdCryptoFactory cf,
XrdSutBucket bck,
XrdSutBucket s1,
XrdSutBucket s2 = 0,
const char *  tag = 0 
) [private]
static XrdOucTrace* XrdSecProtocolpwd::EnableTracing (  )  [static]
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]
static void XrdSecProtocolpwd::ErrF ( XrdOucErrInfo einfo,
kXR_int32  ecode,
const char *  msg1,
const char *  msg2 = 0,
const char *  msg3 = 0 
) [static, private]
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]
int XrdSecProtocolpwd::ExportCreds ( XrdSutBucket creds  )  [private]
XrdSecCredentials* XrdSecProtocolpwd::getCredentials ( XrdSecParameters parm = 0,
XrdOucErrInfo einfo = 0 
) [virtual]

Generate client credentials to be used in the authentication process.

Parameters:
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.
Returns:
Success: Pointer to credentials to sent to the server. The caller is responsible for deleting the object. Failure: Null pointer with einfo, if supplied, containing the reason for the failure.

Implements XrdSecProtocol.

int XrdSecProtocolpwd::GetUserHost ( String usr,
String host 
) [private]
static char* XrdSecProtocolpwd::Init ( pwdOptions  o,
XrdOucErrInfo erp 
) [static]
int XrdSecProtocolpwd::ParseClientInput ( XrdSutBuffer br,
XrdSutBuffer **  bm,
String emsg 
) [private]
int XrdSecProtocolpwd::ParseCrypto ( XrdSutBuffer buf  )  [private]
int XrdSecProtocolpwd::ParseServerInput ( XrdSutBuffer br,
XrdSutBuffer **  bm,
String cmsg 
) [private]
static void XrdSecProtocolpwd::PrintTimeStat (  )  [static]
XrdSutBucket* XrdSecProtocolpwd::QueryCreds ( XrdSutBuffer bm,
bool  netrc,
int &  status 
) [private]
int XrdSecProtocolpwd::QueryCrypt ( String fn,
String pwhash 
) [private]
int XrdSecProtocolpwd::QueryNetRc ( String  host,
String passwd,
int &  status 
) [private]
int XrdSecProtocolpwd::QueryUser ( int &  status,
String cmsg 
) [private]
int XrdSecProtocolpwd::SaveCreds ( XrdSutBucket creds  )  [private]
int XrdSecProtocolpwd::UpdateAlog (  )  [private]

Member Data Documentation

int XrdSecProtocolpwd::AutoLogin [static, private]
int XrdSecProtocolpwd::AutoReg [static, private]
char XrdSecProtocolpwd::CName[256] [private]
int XrdSecProtocolpwd::cryptID[XrdCryptoMax] [static, private]
String XrdSecProtocolpwd::cryptName[XrdCryptoMax] [static, private]
int XrdSecProtocolpwd::Debug [static, private]
int XrdSecProtocolpwd::FmtExpCreds [static, private]
bool XrdSecProtocolpwd::KeepCreds [static, private]
int XrdSecProtocolpwd::LifeCreds [static, private]
XrdCryptoCipher* XrdSecProtocolpwd::loccip[XrdCryptoMax] [static, private]
int XrdSecProtocolpwd::MaxFailures [static, private]
int XrdSecProtocolpwd::MaxPrompts [static, private]
int XrdSecProtocolpwd::ncrypt [static, private]
XrdCryptoCipher* XrdSecProtocolpwd::refcip[XrdCryptoMax] [static, private]
bool XrdSecProtocolpwd::Server [static, private]
String XrdSecProtocolpwd::SrvID [static, private]
bool XrdSecProtocolpwd::SysPwd [static, private]
int XrdSecProtocolpwd::TimeSkew [static, private]
int XrdSecProtocolpwd::UserPwd [static, private]
int XrdSecProtocolpwd::VeriClnt [static, private]
int XrdSecProtocolpwd::VeriSrv [static, private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 2 Oct 2019 for xrootd by  doxygen 1.6.1