From b53166b10eae8a61b6d9e298a39901efb7f8fa48 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Mon, 17 May 1999 14:36:51 +0000 Subject: [PATCH] (get_cred_cache): figure out principal git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6251 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/kadm5/init_c.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/kadm5/init_c.c b/lib/kadm5/init_c.c index 4b3b6c334..477c1dbbf 100644 --- a/lib/kadm5/init_c.c +++ b/lib/kadm5/init_c.c @@ -226,11 +226,21 @@ get_cred_cache(krb5_context context, if(client == NULL) client = default_client; - if(client == NULL) - /* client_name not passed, and - couldn't get principal from cache */ - return -1; - + if(client == NULL) { + char *user; + struct passwd *pw; + user = getlogin(); + if(user == NULL) { + pw = getpwuid(getuid()); + user = pw->pw_name; + } + if(user == NULL) + return KADM5_FAILURE; + ret = krb5_make_principal(context, &client, + NULL, user, "admin", NULL); + if(ret) + return ret; + } if(client != default_client) { krb5_free_principal(context, default_client); default_client = NULL;