XrdSecProtocolkrb5 Class Reference

Inheritance diagram for XrdSecProtocolkrb5:

XrdSecProtocol List of all members.

Public Member Functions

int Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0)
XrdSecCredentialsgetCredentials (XrdSecParameters *parm=0, XrdOucErrInfo *einfo=0)
 XrdSecProtocolkrb5 (const char *KP, const char *hname, const struct sockaddr *ipadd)
void Delete ()

Static Public Member Functions

static char * getPrincipal ()
static int Init (XrdOucErrInfo *einfo, char *KP=0, char *kfn=0)
static void setOpts (int opts)
static void setClientOpts (int opts)
static void setParms (char *param)
static void setExpFile (char *expfile)

Private Member Functions

 ~XrdSecProtocolkrb5 ()
int exp_krbTkn (XrdSecCredentials *cred, XrdOucErrInfo *erp)
int get_krbFwdCreds (char *KP, krb5_data *outdata)

Static Private Member Functions

static int Fatal (XrdOucErrInfo *erp, int rc, const char *msg1, char *KP=0, int krc=0)
static int get_krbCreds (char *KP, krb5_creds **krb_creds)

Private Attributes

sockaddr hostaddr
char CName [256]
char * Service
char Step
krb5_auth_context AuthContext
krb5_auth_context AuthClientContext
krb5_ticket * Ticket
krb5_creds * Creds

Static Private Attributes

static XrdSysMutex krbContext
static XrdSysMutex krbClientContext
static int options
static int client_options
static krb5_context krb_context
static krb5_context krb_client_context
static krb5_ccache krb_client_ccache
static krb5_ccache krb_ccache
static krb5_keytab krb_keytab
static uid_t krb_kt_uid
static gid_t krb_kt_gid
static krb5_principal krb_principal
static char * Principal
static char * Parms
static char ExpFile [XrdSecMAXPATHLEN]

Friends

class XrdSecProtocolDummy

Detailed Description

Definition at line 67 of file XrdSecProtocolkrb5.cc.


Constructor & Destructor Documentation

XrdSecProtocolkrb5::XrdSecProtocolkrb5 ( const char *  KP,
const char *  hname,
const struct sockaddr *  ipadd 
) [inline]

Definition at line 96 of file XrdSecProtocolkrb5.cc.

References AuthClientContext, AuthContext, CName, Creds, XrdSecProtocol::Entity, XrdSecEntity::host, hostaddr, XrdSecEntity::name, Service, Step, and Ticket.

XrdSecProtocolkrb5::~XrdSecProtocolkrb5 (  )  [inline, private]

Definition at line 116 of file XrdSecProtocolkrb5.cc.


Member Function Documentation

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

Implements XrdSecProtocol.

Definition at line 376 of file XrdSecProtocolkrb5.cc.

References AuthContext, buf, XrdSecBuffer::buffer, CLDBG, CName, emsg(), XrdSecProtocol::Entity, error, exp_krbTkn(), Fatal(), hostaddr, krb_context, krb_keytab, krb_kt_gid, krb_kt_uid, krb_principal, krbContext, len, XrdSysMutex::Lock(), malloc(), NULL, options, Principal, XrdSecEntity::prot, XrdSecBuffer::size, snprintf, sprintf(), Step, Ticket, XrdSysMutex::UnLock(), XrdSysPrivGuard::Valid(), XrdSecEXPTKN, XrdSecNOIPCHK, XrdSecPROTOIDENT, and XrdSecPROTOIDLEN.

XrdSecCredentials * XrdSecProtocolkrb5::getCredentials ( XrdSecParameters parm = 0,
XrdOucErrInfo einfo = 0 
) [virtual]

Implements XrdSecProtocol.

Definition at line 195 of file XrdSecProtocolkrb5.cc.

References AuthClientContext, CLDBG, client_options, CLPRT, Creds, error, Fatal(), free(), get_krbCreds(), get_krbFwdCreds(), getenv(), krb_client_ccache, krb_client_context, krbClientContext, XrdSysMutex::Lock(), m, malloc(), putenv, Service, size_t, sprintf(), Step, strcpy(), XrdSysMutex::UnLock(), XrdSecEXPTKN, XrdSecINITTKN, XrdSecPROTOIDENT, and XrdSecPROTOIDLEN.

static char* XrdSecProtocolkrb5::getPrincipal (  )  [inline, static]

Definition at line 79 of file XrdSecProtocolkrb5.cc.

References Principal.

Referenced by XrdSecProtocolkrb5Init().

int XrdSecProtocolkrb5::Init ( XrdOucErrInfo einfo,
char *  KP = 0,
char *  kfn = 0 
) [static]

Definition at line 514 of file XrdSecProtocolkrb5.cc.

References Fatal(), krb_ccache, krb_client_ccache, krb_client_context, krb_context, krb_keytab, krb_kt_gid, krb_kt_uid, krb_principal, Principal, snprintf, and stat.

Referenced by XrdSecProtocolkrb5Init().

static void XrdSecProtocolkrb5::setOpts ( int  opts  )  [inline, static]

Definition at line 83 of file XrdSecProtocolkrb5.cc.

References options.

Referenced by XrdSecProtocolkrb5Init().

static void XrdSecProtocolkrb5::setClientOpts ( int  opts  )  [inline, static]

Definition at line 84 of file XrdSecProtocolkrb5.cc.

References client_options.

Referenced by XrdSecProtocolkrb5Init().

static void XrdSecProtocolkrb5::setParms ( char *  param  )  [inline, static]

Definition at line 85 of file XrdSecProtocolkrb5.cc.

References Parms.

Referenced by XrdSecProtocolkrb5Init().

static void XrdSecProtocolkrb5::setExpFile ( char *  expfile  )  [inline, static]

Definition at line 86 of file XrdSecProtocolkrb5.cc.

References ExpFile, and XrdSecMAXPATHLEN.

Referenced by XrdSecProtocolkrb5Init().

void XrdSecProtocolkrb5::Delete (  )  [virtual]

Implements XrdSecProtocol.

Definition at line 179 of file XrdSecProtocolkrb5.cc.

References AuthClientContext, AuthContext, Creds, XrdSecProtocol::Entity, free(), XrdSecEntity::host, krb_client_context, krb_context, Parms, Service, and Ticket.

int XrdSecProtocolkrb5::Fatal ( XrdOucErrInfo erp,
int  rc,
const char *  msg1,
char *  KP = 0,
int  krc = 0 
) [static, private]

Definition at line 605 of file XrdSecProtocolkrb5.cc.

References i, k, krb_etxt, and XrdOucErrInfo::setErrInfo().

Referenced by Authenticate(), exp_krbTkn(), getCredentials(), and Init().

int XrdSecProtocolkrb5::get_krbCreds ( char *  KP,
krb5_creds **  krb_creds 
) [static, private]

Definition at line 634 of file XrdSecProtocolkrb5.cc.

References CLDBG, krb_client_ccache, krb_client_context, and krb_etxt.

Referenced by getCredentials().

int XrdSecProtocolkrb5::exp_krbTkn ( XrdSecCredentials cred,
XrdOucErrInfo erp 
) [private]

Definition at line 727 of file XrdSecProtocolkrb5.cc.

References AuthContext, XrdSecBuffer::buffer, CName, ExpFile, Fatal(), hostaddr, int, krb_context, krb_principal, krbContext, XrdSysMutex::Lock(), memmove, passwd::pw_gid, passwd::pw_uid, XrdSecBuffer::size, sprintf(), strcpy(), Ticket, XrdSysPrivGuard::Valid(), XrdSecMAXPATHLEN, and XrdSecPROTOIDLEN.

Referenced by Authenticate().

int XrdSecProtocolkrb5::get_krbFwdCreds ( char *  KP,
krb5_data *  outdata 
) [private]

Definition at line 681 of file XrdSecProtocolkrb5.cc.

References AuthClientContext, CLDBG, krb_client_ccache, krb_client_context, and krb_etxt.

Referenced by getCredentials().


Friends And Related Function Documentation

friend class XrdSecProtocolDummy [friend]

Definition at line 70 of file XrdSecProtocolkrb5.cc.


Member Data Documentation

XrdSysMutex XrdSecProtocolkrb5::krbContext [static, private]

Definition at line 121 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), and exp_krbTkn().

XrdSysMutex XrdSecProtocolkrb5::krbClientContext [static, private]

Definition at line 122 of file XrdSecProtocolkrb5.cc.

Referenced by getCredentials().

int XrdSecProtocolkrb5::options [static, private]

Definition at line 123 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), and setOpts().

int XrdSecProtocolkrb5::client_options [static, private]

Definition at line 124 of file XrdSecProtocolkrb5.cc.

Referenced by getCredentials(), and setClientOpts().

krb5_context XrdSecProtocolkrb5::krb_context [static, private]

Definition at line 125 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), Delete(), exp_krbTkn(), and Init().

krb5_context XrdSecProtocolkrb5::krb_client_context [static, private]

Definition at line 126 of file XrdSecProtocolkrb5.cc.

Referenced by Delete(), get_krbCreds(), get_krbFwdCreds(), getCredentials(), and Init().

krb5_ccache XrdSecProtocolkrb5::krb_client_ccache [static, private]

Definition at line 127 of file XrdSecProtocolkrb5.cc.

Referenced by get_krbCreds(), get_krbFwdCreds(), getCredentials(), and Init().

krb5_ccache XrdSecProtocolkrb5::krb_ccache [static, private]

Definition at line 128 of file XrdSecProtocolkrb5.cc.

Referenced by Init().

krb5_keytab XrdSecProtocolkrb5::krb_keytab [static, private]

Definition at line 129 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), and Init().

uid_t XrdSecProtocolkrb5::krb_kt_uid [static, private]

Definition at line 130 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), and Init().

gid_t XrdSecProtocolkrb5::krb_kt_gid [static, private]

Definition at line 131 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), and Init().

krb5_principal XrdSecProtocolkrb5::krb_principal [static, private]

Definition at line 132 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), exp_krbTkn(), and Init().

char * XrdSecProtocolkrb5::Principal [static, private]

Definition at line 134 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), getPrincipal(), and Init().

char * XrdSecProtocolkrb5::Parms [static, private]

Definition at line 135 of file XrdSecProtocolkrb5.cc.

Referenced by Delete(), and setParms().

char XrdSecProtocolkrb5::ExpFile [static, private]

Definition at line 137 of file XrdSecProtocolkrb5.cc.

Referenced by exp_krbTkn(), and setExpFile().

struct sockaddr XrdSecProtocolkrb5::hostaddr [private]

Definition at line 142 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), exp_krbTkn(), and XrdSecProtocolkrb5().

char XrdSecProtocolkrb5::CName[256] [private]

Definition at line 143 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), exp_krbTkn(), and XrdSecProtocolkrb5().

char* XrdSecProtocolkrb5::Service [private]

Definition at line 144 of file XrdSecProtocolkrb5.cc.

Referenced by Delete(), getCredentials(), and XrdSecProtocolkrb5().

char XrdSecProtocolkrb5::Step [private]

Definition at line 145 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), getCredentials(), and XrdSecProtocolkrb5().

krb5_auth_context XrdSecProtocolkrb5::AuthContext [private]

Definition at line 146 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), Delete(), exp_krbTkn(), and XrdSecProtocolkrb5().

krb5_auth_context XrdSecProtocolkrb5::AuthClientContext [private]

Definition at line 147 of file XrdSecProtocolkrb5.cc.

Referenced by Delete(), get_krbFwdCreds(), getCredentials(), and XrdSecProtocolkrb5().

krb5_ticket* XrdSecProtocolkrb5::Ticket [private]

Definition at line 148 of file XrdSecProtocolkrb5.cc.

Referenced by Authenticate(), Delete(), exp_krbTkn(), and XrdSecProtocolkrb5().

krb5_creds* XrdSecProtocolkrb5::Creds [private]

Definition at line 149 of file XrdSecProtocolkrb5.cc.

Referenced by Delete(), getCredentials(), and XrdSecProtocolkrb5().


The documentation for this class was generated from the following file:
Generated on Tue Jul 5 16:50:44 2011 for ROOT_528-00b_version by  doxygen 1.5.1