|
xrootd
|


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 | |
| struct 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 = 0 |
| static int | client_options = 0 |
| 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 = NULL |
| static uid_t | krb_kt_uid = 0 |
| static gid_t | krb_kt_gid = 0 |
| static krb5_principal | krb_principal |
| static char * | Principal = 0 |
| static char * | Parms = 0 |
| static char | ExpFile [XrdSecMAXPATHLEN] = "/tmp/krb5cc_<uid>" |
Friends | |
| class | XrdSecProtocolDummy |
| XrdSecProtocolkrb5::XrdSecProtocolkrb5 | ( | const char * | KP, |
| const char * | hname, | ||
| const struct sockaddr * | ipadd | ||
| ) | [inline] |
References AuthClientContext, AuthContext, CName, Creds, XrdSecProtocol::Entity, XrdSecEntity::host, hostaddr, XrdSecEntity::name, Service, Step, and Ticket.
| XrdSecProtocolkrb5::~XrdSecProtocolkrb5 | ( | ) | [inline, private] |
| int XrdSecProtocolkrb5::Authenticate | ( | XrdSecCredentials * | cred, |
| XrdSecParameters ** | parms, | ||
| XrdOucErrInfo * | einfo = 0 |
||
| ) | [virtual] |
Implements XrdSecProtocol.
References AuthContext, XrdSecBuffer::buffer, CLDBG, CName, emsg(), XrdSecProtocol::Entity, exp_krbTkn(), Fatal(), hostaddr, krb_context, krb_keytab, krb_kt_gid, krb_kt_uid, krb_principal, krbContext, XrdSysMutex::Lock(), options, Principal, XrdSecEntity::prot, XrdSecBuffer::size, snprintf, Step, Ticket, XrdSysMutex::UnLock(), XrdSysPrivGuard::Valid(), XrdSecEXPTKN, XrdSecNOIPCHK, XrdSecPROTOIDENT, and XrdSecPROTOIDLEN.
| void XrdSecProtocolkrb5::Delete | ( | ) | [virtual] |
Implements XrdSecProtocol.
References AuthClientContext, AuthContext, Creds, XrdSecProtocol::Entity, XrdSecEntity::host, krb_client_context, krb_context, Parms, Service, and Ticket.
| int XrdSecProtocolkrb5::exp_krbTkn | ( | XrdSecCredentials * | cred, |
| XrdOucErrInfo * | erp | ||
| ) | [private] |
References AuthContext, XrdSecBuffer::buffer, CName, ExpFile, Fatal(), hostaddr, krb_context, krb_principal, krbContext, XrdSysMutex::Lock(), XrdSecBuffer::size, Ticket, XrdSysPrivGuard::Valid(), XrdSecMAXPATHLEN, and XrdSecPROTOIDLEN.
Referenced by Authenticate().
| int XrdSecProtocolkrb5::Fatal | ( | XrdOucErrInfo * | erp, |
| int | rc, | ||
| const char * | msg1, | ||
| char * | KP = 0, |
||
| int | krc = 0 |
||
| ) | [static, private] |
References 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] |
References CLDBG, krb_client_ccache, krb_client_context, and krb_etxt.
Referenced by getCredentials().
| int XrdSecProtocolkrb5::get_krbFwdCreds | ( | char * | KP, |
| krb5_data * | outdata | ||
| ) | [private] |
References AuthClientContext, CLDBG, krb_client_ccache, krb_client_context, and krb_etxt.
Referenced by getCredentials().
| XrdSecCredentials * XrdSecProtocolkrb5::getCredentials | ( | XrdSecParameters * | parm = 0, |
| XrdOucErrInfo * | einfo = 0 |
||
| ) | [virtual] |
Implements XrdSecProtocol.
References AuthClientContext, CLDBG, client_options, CLPRT, Creds, Fatal(), get_krbCreds(), get_krbFwdCreds(), krb_client_ccache, krb_client_context, krbClientContext, XrdSysMutex::Lock(), Service, Step, XrdSysMutex::UnLock(), XrdSecEXPTKN, XrdSecINITTKN, XrdSecPROTOIDENT, and XrdSecPROTOIDLEN.
| static char* XrdSecProtocolkrb5::getPrincipal | ( | ) | [inline, static] |
References Principal.
Referenced by XrdSecProtocolkrb5Init().
| int XrdSecProtocolkrb5::Init | ( | XrdOucErrInfo * | einfo, |
| char * | KP = 0, |
||
| char * | kfn = 0 |
||
| ) | [static] |
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::setClientOpts | ( | int | opts | ) | [inline, static] |
References client_options, and opts.
Referenced by XrdSecProtocolkrb5Init().
| static void XrdSecProtocolkrb5::setExpFile | ( | char * | expfile | ) | [inline, static] |
References ExpFile, and XrdSecMAXPATHLEN.
Referenced by XrdSecProtocolkrb5Init().
| static void XrdSecProtocolkrb5::setOpts | ( | int | opts | ) | [inline, static] |
Referenced by XrdSecProtocolkrb5Init().
| static void XrdSecProtocolkrb5::setParms | ( | char * | param | ) | [inline, static] |
References Parms.
Referenced by XrdSecProtocolkrb5Init().
friend class XrdSecProtocolDummy [friend] |
krb5_auth_context XrdSecProtocolkrb5::AuthClientContext [private] |
Referenced by Delete(), get_krbFwdCreds(), getCredentials(), and XrdSecProtocolkrb5().
krb5_auth_context XrdSecProtocolkrb5::AuthContext [private] |
Referenced by Authenticate(), Delete(), exp_krbTkn(), and XrdSecProtocolkrb5().
int XrdSecProtocolkrb5::client_options = 0 [static, private] |
Referenced by getCredentials(), and setClientOpts().
char XrdSecProtocolkrb5::CName[256] [private] |
Referenced by Authenticate(), exp_krbTkn(), and XrdSecProtocolkrb5().
krb5_creds* XrdSecProtocolkrb5::Creds [private] |
Referenced by Delete(), getCredentials(), and XrdSecProtocolkrb5().
char XrdSecProtocolkrb5::ExpFile = "/tmp/krb5cc_<uid>" [static, private] |
Referenced by exp_krbTkn(), and setExpFile().
struct sockaddr XrdSecProtocolkrb5::hostaddr [private] |
Referenced by Authenticate(), exp_krbTkn(), and XrdSecProtocolkrb5().
krb5_ccache XrdSecProtocolkrb5::krb_ccache [static, private] |
Referenced by Init().
krb5_ccache XrdSecProtocolkrb5::krb_client_ccache [static, private] |
Referenced by get_krbCreds(), get_krbFwdCreds(), getCredentials(), and Init().
krb5_context XrdSecProtocolkrb5::krb_client_context [static, private] |
Referenced by Delete(), get_krbCreds(), get_krbFwdCreds(), getCredentials(), and Init().
krb5_context XrdSecProtocolkrb5::krb_context [static, private] |
Referenced by Authenticate(), Delete(), exp_krbTkn(), and Init().
krb5_keytab XrdSecProtocolkrb5::krb_keytab = NULL [static, private] |
Referenced by Authenticate(), and Init().
gid_t XrdSecProtocolkrb5::krb_kt_gid = 0 [static, private] |
Referenced by Authenticate(), and Init().
uid_t XrdSecProtocolkrb5::krb_kt_uid = 0 [static, private] |
Referenced by Authenticate(), and Init().
krb5_principal XrdSecProtocolkrb5::krb_principal [static, private] |
Referenced by Authenticate(), exp_krbTkn(), and Init().
XrdSysMutex XrdSecProtocolkrb5::krbClientContext [static, private] |
Referenced by getCredentials().
XrdSysMutex XrdSecProtocolkrb5::krbContext [static, private] |
Referenced by Authenticate(), and exp_krbTkn().
int XrdSecProtocolkrb5::options = 0 [static, private] |
Referenced by Authenticate(), and setOpts().
char * XrdSecProtocolkrb5::Parms = 0 [static, private] |
Referenced by Delete(), and setParms().
char * XrdSecProtocolkrb5::Principal = 0 [static, private] |
Referenced by Authenticate(), getPrincipal(), and Init().
char* XrdSecProtocolkrb5::Service [private] |
Referenced by Delete(), getCredentials(), and XrdSecProtocolkrb5().
char XrdSecProtocolkrb5::Step [private] |
Referenced by Authenticate(), getCredentials(), and XrdSecProtocolkrb5().
krb5_ticket* XrdSecProtocolkrb5::Ticket [private] |
Referenced by Authenticate(), Delete(), exp_krbTkn(), and XrdSecProtocolkrb5().
1.7.3