aboutsummaryrefslogtreecommitdiff
path: root/src/lib/kadm5/clnt/client_init.c
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1999-05-13 21:25:21 +0000
committerTom Yu <tlyu@mit.edu>1999-05-13 21:25:21 +0000
commit833740fd62b9d9f866bb2daaa5405b9236ba229c (patch)
tree7d11f735a1084426b37d723ba69784782e63289f /src/lib/kadm5/clnt/client_init.c
parent4f64ef04dfb38b93e1b131edfbc8a96eb73a03f1 (diff)
downloadkrb5-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.c27
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;