xrootd
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdSecProtocolpwd Class Reference

#include <XrdSecProtocolpwd.hh>

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

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.
 
- Public Member Functions inherited from XrdSecProtocol
virtual int Encrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff)
 
virtual int Decrypt (const char *inbuff, int inlen, XrdSecBuffer **outbuff)
 
virtual int Sign (const char *inbuff, int inlen, XrdSecBuffer **outbuff)
 
virtual int Verify (const char *inbuff, int inlen, const char *sigbuff, int siglen)
 
virtual int getKey (char *buff=0, int size=0)
 
virtual int setKey (char *buff, int size)
 
virtual bool needTLS ()
 Check if this protocol requires TLS to properly function.
 
 XrdSecProtocol (const char *pName)
 Constructor.
 

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
 

Additional Inherited Members

- Public Attributes inherited from XrdSecProtocol
XrdSecEntity Entity
 
- Protected Member Functions inherited from XrdSecProtocol
virtual ~XrdSecProtocol ()
 Destructor (prevents use of direct delete).
 

Constructor & Destructor Documentation

◆ XrdSecProtocolpwd()

XrdSecProtocolpwd::XrdSecProtocolpwd ( int  opts,
const char *  hname,
XrdNetAddrInfo endPoint,
const char *  parms = 0 
)

◆ ~XrdSecProtocolpwd()

virtual XrdSecProtocolpwd::~XrdSecProtocolpwd ( )
inlinevirtual

Member Function Documentation

◆ AddSerialized()

int XrdSecProtocolpwd::AddSerialized ( char  opt,
kXR_int32  step,
String  ID,
XrdSutBuffer bls,
XrdSutBuffer buf,
kXR_int32  type,
XrdCryptoCipher cip 
)
private

◆ Authenticate()

int XrdSecProtocolpwd::Authenticate ( XrdSecCredentials cred,
XrdSecParameters **  parms,
XrdOucErrInfo einfo = 0 
)
virtual

Authenticate a client.

Parameters
credCredentials supplied by the client.
parmsPlace where the address of additional authentication data is to be placed for another autrhentication handshake.
einfoThe 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 occurred)

Implements XrdSecProtocol.

◆ CheckCreds()

bool XrdSecProtocolpwd::CheckCreds ( XrdSutBucket creds,
int  credtype 
)
private

◆ CheckCredsAFS()

bool XrdSecProtocolpwd::CheckCredsAFS ( XrdSutBucket creds,
int  ctype 
)
private

◆ CheckRtag()

bool XrdSecProtocolpwd::CheckRtag ( XrdSutBuffer bm,
String emsg 
)
private

◆ CheckTimeStamp()

bool XrdSecProtocolpwd::CheckTimeStamp ( XrdSutBuffer b,
int  skew,
String emsg 
)
private

◆ Delete()

void XrdSecProtocolpwd::Delete ( )
virtual

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

Implements XrdSecProtocol.

◆ DoubleHash()

int XrdSecProtocolpwd::DoubleHash ( XrdCryptoFactory cf,
XrdSutBucket bck,
XrdSutBucket s1,
XrdSutBucket s2 = 0,
const char *  tag = 0 
)
private

◆ EnableTracing()

static XrdOucTrace * XrdSecProtocolpwd::EnableTracing ( )
static

◆ ErrC()

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

◆ ErrF()

static void XrdSecProtocolpwd::ErrF ( XrdOucErrInfo einfo,
kXR_int32  ecode,
const char *  msg1,
const char *  msg2 = 0,
const char *  msg3 = 0 
)
staticprivate

◆ ErrS()

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

◆ ExportCreds()

int XrdSecProtocolpwd::ExportCreds ( XrdSutBucket creds)
private

◆ getCredentials()

XrdSecCredentials * XrdSecProtocolpwd::getCredentials ( XrdSecParameters parm = 0,
XrdOucErrInfo einfo = 0 
)
virtual

Generate client credentials to be used in the authentication process.

Parameters
parmPointer to the information returned by the server either in the initial login response or the authmore response.
einfoThe 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.

◆ GetUserHost()

int XrdSecProtocolpwd::GetUserHost ( String usr,
String host 
)
private

◆ Init()

static char * XrdSecProtocolpwd::Init ( pwdOptions  o,
XrdOucErrInfo erp 
)
static

◆ ParseClientInput()

int XrdSecProtocolpwd::ParseClientInput ( XrdSutBuffer br,
XrdSutBuffer **  bm,
String emsg 
)
private

◆ ParseCrypto()

int XrdSecProtocolpwd::ParseCrypto ( XrdSutBuffer buf)
private

◆ ParseServerInput()

int XrdSecProtocolpwd::ParseServerInput ( XrdSutBuffer br,
XrdSutBuffer **  bm,
String cmsg 
)
private

◆ PrintTimeStat()

static void XrdSecProtocolpwd::PrintTimeStat ( )
static

◆ QueryCreds()

XrdSutBucket * XrdSecProtocolpwd::QueryCreds ( XrdSutBuffer bm,
bool  netrc,
int &  status 
)
private

◆ QueryCrypt()

int XrdSecProtocolpwd::QueryCrypt ( String fn,
String pwhash 
)
private

◆ QueryNetRc()

int XrdSecProtocolpwd::QueryNetRc ( String  host,
String passwd,
int &  status 
)
private

◆ QueryUser()

int XrdSecProtocolpwd::QueryUser ( int &  status,
String cmsg 
)
private

◆ SaveCreds()

int XrdSecProtocolpwd::SaveCreds ( XrdSutBucket creds)
private

◆ UpdateAlog()

int XrdSecProtocolpwd::UpdateAlog ( )
private

Member Data Documentation

◆ AutoLogin

int XrdSecProtocolpwd::AutoLogin
staticprivate

◆ AutoReg

int XrdSecProtocolpwd::AutoReg
staticprivate

◆ cacheAdmin

XrdSutPFCache XrdSecProtocolpwd::cacheAdmin
staticprivate

◆ cacheAlog

XrdSutPFCache XrdSecProtocolpwd::cacheAlog
staticprivate

◆ cacheSrvPuk

XrdSutPFCache XrdSecProtocolpwd::cacheSrvPuk
staticprivate

◆ cacheUser

XrdSutPFCache XrdSecProtocolpwd::cacheUser
staticprivate

◆ clientCreds

XrdSecCredentials* XrdSecProtocolpwd::clientCreds
private

◆ CName

char XrdSecProtocolpwd::CName[256]
private

◆ cryptID

int XrdSecProtocolpwd::cryptID[XrdCryptoMax]
staticprivate

◆ cryptName

String XrdSecProtocolpwd::cryptName[XrdCryptoMax]
staticprivate

◆ Debug

int XrdSecProtocolpwd::Debug
staticprivate

◆ DefCrypto

String XrdSecProtocolpwd::DefCrypto
staticprivate

◆ DefError

String XrdSecProtocolpwd::DefError
staticprivate

◆ eDest

XrdSysError XrdSecProtocolpwd::eDest
staticprivate

◆ epAddr

XrdNetAddrInfo XrdSecProtocolpwd::epAddr
private

◆ FileAdmin

String XrdSecProtocolpwd::FileAdmin
staticprivate

◆ FileCrypt

String XrdSecProtocolpwd::FileCrypt
staticprivate

◆ FileExpCreds

String XrdSecProtocolpwd::FileExpCreds
staticprivate

◆ FileSrvPuk

String XrdSecProtocolpwd::FileSrvPuk
staticprivate

◆ FileUser

String XrdSecProtocolpwd::FileUser
staticprivate

◆ FmtExpCreds

int XrdSecProtocolpwd::FmtExpCreds
staticprivate

◆ hs

pwdHSVars* XrdSecProtocolpwd::hs
private

◆ KeepCreds

bool XrdSecProtocolpwd::KeepCreds
staticprivate

◆ LifeCreds

int XrdSecProtocolpwd::LifeCreds
staticprivate

◆ loccip

XrdCryptoCipher* XrdSecProtocolpwd::loccip[XrdCryptoMax]
staticprivate

◆ Logger

XrdSysLogger XrdSecProtocolpwd::Logger
staticprivate

◆ MaxFailures

int XrdSecProtocolpwd::MaxFailures
staticprivate

◆ MaxPrompts

int XrdSecProtocolpwd::MaxPrompts
staticprivate

◆ ncrypt

int XrdSecProtocolpwd::ncrypt
staticprivate

◆ options

int XrdSecProtocolpwd::options
private

◆ PFAdmin

XrdSutPFile XrdSecProtocolpwd::PFAdmin
staticprivate

◆ PFAlog

XrdSutPFile XrdSecProtocolpwd::PFAlog
staticprivate

◆ PFSrvPuk

XrdSutPFile XrdSecProtocolpwd::PFSrvPuk
staticprivate

◆ pwdContext

XrdSysMutex XrdSecProtocolpwd::pwdContext
staticprivate

◆ PWDTrace

XrdOucTrace* XrdSecProtocolpwd::PWDTrace
staticprivate

◆ refcip

XrdCryptoCipher* XrdSecProtocolpwd::refcip[XrdCryptoMax]
staticprivate

◆ Server

bool XrdSecProtocolpwd::Server
staticprivate

◆ SrvEmail

String XrdSecProtocolpwd::SrvEmail
staticprivate

◆ SrvID

String XrdSecProtocolpwd::SrvID
staticprivate

◆ srvMode

bool XrdSecProtocolpwd::srvMode
private

◆ SysPwd

bool XrdSecProtocolpwd::SysPwd
staticprivate

◆ TimeSkew

int XrdSecProtocolpwd::TimeSkew
staticprivate

◆ UserPwd

int XrdSecProtocolpwd::UserPwd
staticprivate

◆ VeriClnt

int XrdSecProtocolpwd::VeriClnt
staticprivate

◆ VeriSrv

int XrdSecProtocolpwd::VeriSrv
staticprivate

The documentation for this class was generated from the following file: