#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, 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 XrdOucTrace * | EnableTracing () |
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 | |
XrdNetAddrInfo | epAddr |
int | options |
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 |
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 XrdCryptoCipher * | loccip [XrdCryptoMax] |
static XrdCryptoCipher * | refcip [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 XrdOucTrace * | PWDTrace |
XrdSecProtocolpwd::XrdSecProtocolpwd | ( | int | opts, | |
const char * | hname, | |||
XrdNetAddrInfo & | endPoint, | |||
const char * | parms = 0 | |||
) |
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] |
int XrdSecProtocolpwd::Authenticate | ( | XrdSecCredentials * | cred, | |
XrdSecParameters ** | parms, | |||
XrdOucErrInfo * | einfo = 0 | |||
) | [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.
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.
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.
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::QueryUser | ( | int & | status, | |
String & | cmsg | |||
) | [private] |
int XrdSecProtocolpwd::SaveCreds | ( | XrdSutBucket * | creds | ) | [private] |
int XrdSecProtocolpwd::UpdateAlog | ( | ) | [private] |
int XrdSecProtocolpwd::AutoLogin [static, private] |
int XrdSecProtocolpwd::AutoReg [static, private] |
XrdSutPFCache XrdSecProtocolpwd::cacheAdmin [static, private] |
XrdSutPFCache XrdSecProtocolpwd::cacheAlog [static, private] |
XrdSutPFCache XrdSecProtocolpwd::cacheSrvPuk [static, private] |
XrdSutPFCache XrdSecProtocolpwd::cacheUser [static, private] |
XrdSecCredentials* XrdSecProtocolpwd::clientCreds [private] |
char XrdSecProtocolpwd::CName[256] [private] |
int XrdSecProtocolpwd::cryptID[XrdCryptoMax] [static, private] |
String XrdSecProtocolpwd::cryptName[XrdCryptoMax] [static, private] |
int XrdSecProtocolpwd::Debug [static, private] |
String XrdSecProtocolpwd::DefCrypto [static, private] |
String XrdSecProtocolpwd::DefError [static, private] |
XrdSysError XrdSecProtocolpwd::eDest [static, private] |
XrdNetAddrInfo XrdSecProtocolpwd::epAddr [private] |
String XrdSecProtocolpwd::FileAdmin [static, private] |
String XrdSecProtocolpwd::FileCrypt [static, private] |
String XrdSecProtocolpwd::FileExpCreds [static, private] |
String XrdSecProtocolpwd::FileSrvPuk [static, private] |
String XrdSecProtocolpwd::FileUser [static, private] |
int XrdSecProtocolpwd::FmtExpCreds [static, private] |
pwdHSVars* XrdSecProtocolpwd::hs [private] |
bool XrdSecProtocolpwd::KeepCreds [static, private] |
int XrdSecProtocolpwd::LifeCreds [static, private] |
XrdCryptoCipher* XrdSecProtocolpwd::loccip[XrdCryptoMax] [static, private] |
XrdSysLogger XrdSecProtocolpwd::Logger [static, private] |
int XrdSecProtocolpwd::MaxFailures [static, private] |
int XrdSecProtocolpwd::MaxPrompts [static, private] |
int XrdSecProtocolpwd::ncrypt [static, private] |
int XrdSecProtocolpwd::options [private] |
XrdSutPFile XrdSecProtocolpwd::PFAdmin [static, private] |
XrdSutPFile XrdSecProtocolpwd::PFAlog [static, private] |
XrdSutPFile XrdSecProtocolpwd::PFSrvPuk [static, private] |
XrdSysMutex XrdSecProtocolpwd::pwdContext [static, private] |
XrdOucTrace* XrdSecProtocolpwd::PWDTrace [static, private] |
XrdCryptoCipher* XrdSecProtocolpwd::refcip[XrdCryptoMax] [static, private] |
bool XrdSecProtocolpwd::Server [static, private] |
String XrdSecProtocolpwd::SrvEmail [static, private] |
String XrdSecProtocolpwd::SrvID [static, private] |
bool XrdSecProtocolpwd::srvMode [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] |