(_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:
Love Hörnquist Åstrand
2005-04-18 19:12:19 +00:00
parent b30e1d8c06
commit 9d57c47c64

View File

@@ -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);
}