(_krb5_get_default_principal_local): add, for use of functions that in
ccache layer to avoid recursive calls. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14831 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -50,23 +50,21 @@ get_env_user(void)
|
||||
return user;
|
||||
}
|
||||
|
||||
krb5_error_code KRB5_LIB_FUNCTION
|
||||
krb5_get_default_principal (krb5_context context,
|
||||
krb5_principal *princ)
|
||||
/*
|
||||
* Will only use operating-system dependant operation to get the
|
||||
* default principal, for use of functions that in ccache layer to
|
||||
* avoid recursive calls.
|
||||
*/
|
||||
|
||||
krb5_error_code
|
||||
_krb5_get_default_principal_local (krb5_context context,
|
||||
krb5_principal *princ)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
krb5_ccache id;
|
||||
const char *user;
|
||||
uid_t uid;
|
||||
|
||||
ret = krb5_cc_default (context, &id);
|
||||
if (ret == 0) {
|
||||
ret = krb5_cc_get_principal (context, id, princ);
|
||||
krb5_cc_close (context, id);
|
||||
if (ret == 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
*princ = NULL;
|
||||
|
||||
uid = getuid();
|
||||
if(uid == 0) {
|
||||
@@ -93,6 +91,27 @@ krb5_get_default_principal (krb5_context context,
|
||||
}
|
||||
ret = krb5_make_principal(context, princ, NULL, user, NULL);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
krb5_error_code KRB5_LIB_FUNCTION
|
||||
krb5_get_default_principal (krb5_context context,
|
||||
krb5_principal *princ)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
krb5_ccache id;
|
||||
const char *user;
|
||||
uid_t uid;
|
||||
|
||||
*princ = NULL;
|
||||
|
||||
ret = krb5_cc_default (context, &id);
|
||||
if (ret == 0) {
|
||||
ret = krb5_cc_get_principal (context, id, princ);
|
||||
krb5_cc_close (context, id);
|
||||
if (ret == 0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return _krb5_get_default_principal_local(context, princ);
|
||||
}
|
||||
|
Reference in New Issue
Block a user