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