Inheritance diagram for XrdSecProtocolkrb5:
Public Member Functions | |
int | Authenticate (XrdSecCredentials *cred, XrdSecParameters **parms, XrdOucErrInfo *einfo=0) |
XrdSecCredentials * | getCredentials (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 |
Definition at line 67 of file XrdSecProtocolkrb5.cc.
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.
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().
friend class XrdSecProtocolDummy [friend] |
Definition at line 70 of file XrdSecProtocolkrb5.cc.
XrdSysMutex XrdSecProtocolkrb5::krbContext [static, private] |
Definition at line 121 of file XrdSecProtocolkrb5.cc.
Referenced by Authenticate(), and exp_krbTkn().
XrdSysMutex XrdSecProtocolkrb5::krbClientContext [static, private] |
int XrdSecProtocolkrb5::options [static, private] |
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] |
krb5_keytab XrdSecProtocolkrb5::krb_keytab [static, private] |
uid_t XrdSecProtocolkrb5::krb_kt_uid [static, private] |
gid_t XrdSecProtocolkrb5::krb_kt_gid [static, private] |
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] |
char XrdSecProtocolkrb5::ExpFile [static, private] |
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().