diff options
author | Tom Yu <tlyu@mit.edu> | 1999-05-13 21:25:21 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 1999-05-13 21:25:21 +0000 |
commit | 833740fd62b9d9f866bb2daaa5405b9236ba229c (patch) | |
tree | 7d11f735a1084426b37d723ba69784782e63289f /src/lib/kadm5/clnt/client_init.c | |
parent | 4f64ef04dfb38b93e1b131edfbc8a96eb73a03f1 (diff) | |
download | krb5-833740fd62b9d9f866bb2daaa5405b9236ba229c.zip krb5-833740fd62b9d9f866bb2daaa5405b9236ba229c.tar.gz krb5-833740fd62b9d9f866bb2daaa5405b9236ba229c.tar.bz2 |
* client_init.c (_kadm5_init_any): Use gss_krb5_ccache_name() to
set the gssapi ccache name.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11439 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kadm5/clnt/client_init.c')
-rw-r--r-- | src/lib/kadm5/clnt/client_init.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/lib/kadm5/clnt/client_init.c b/src/lib/kadm5/clnt/client_init.c index 96c5907..e86fbe8 100644 --- a/src/lib/kadm5/clnt/client_init.c +++ b/src/lib/kadm5/clnt/client_init.c @@ -429,11 +429,14 @@ static kadm5_ret_t _kadm5_init_any(char *client_name, */ /* use the kadm5 cache */ - ccname_orig = getenv("KRB5CCNAME"); + gssstat = gss_krb5_ccache_name(&minor_stat, handle->cache_name, + &ccname_orig); + if (gssstat != GSS_S_COMPLETE) { + code = KADM5_GSS_ERROR; + goto error; + } if (ccname_orig) ccname_orig = strdup(ccname_orig); - - (void) krb5_setenv("KRB5CCNAME", handle->cache_name, 1); #ifndef INIT_TEST input_name.value = full_service_name; @@ -494,11 +497,19 @@ static kadm5_ret_t _kadm5_init_any(char *client_name, #endif /* ! INIT_TEST */ if (ccname_orig) { - (void) krb5_setenv("KRB5CCNAME", ccname_orig, 1); - free(ccname_orig); - } else - (void) krb5_unsetenv("KRB5CCNAME"); - + gssstat = gss_krb5_ccache_name(&minor_stat, ccname_orig, NULL); + if (gssstat) { + code = KADM5_GSS_ERROR; + goto error; + } + free(ccname_orig); + } else { + gssstat = gss_krb5_ccache_name(&minor_stat, NULL, NULL); + if (gssstat) { + code = KADM5_GSS_ERROR; + goto error; + } + } if (handle->clnt->cl_auth == NULL) { code = KADM5_GSS_ERROR; |