summaryrefslogtreecommitdiffstats
path: root/src/kadmin/cli
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2004-06-24 20:10:05 +0000
committerTom Yu <tlyu@mit.edu>2004-06-24 20:10:05 +0000
commitad63c45bd47c783309e6f75ec3690cf224ceec7c (patch)
treec6ee7909316e7e22f333c1bb53e35e5677cf7012 /src/kadmin/cli
parent95958185e42ef7b83836bae66536433b31c34316 (diff)
downloadkrb5-ad63c45bd47c783309e6f75ec3690cf224ceec7c.tar.gz
krb5-ad63c45bd47c783309e6f75ec3690cf224ceec7c.tar.xz
krb5-ad63c45bd47c783309e6f75ec3690cf224ceec7c.zip
use host-based service name for kadmin client
* kadmin.c (kadmin_startup): Use host-based service name from kadm5_get_admin_service_name() for SEAM compatibility when old AUTH_GSSAPI not requested. ticket: new component: krb5-admin git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16510 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/cli')
-rw-r--r--src/kadmin/cli/ChangeLog6
-rw-r--r--src/kadmin/cli/kadmin.c19
2 files changed, 22 insertions, 3 deletions
diff --git a/src/kadmin/cli/ChangeLog b/src/kadmin/cli/ChangeLog
index 4bfa42652..28502c6ab 100644
--- a/src/kadmin/cli/ChangeLog
+++ b/src/kadmin/cli/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-24 Tom Yu <tlyu@mit.edu>
+
+ * kadmin.c (kadmin_startup): Use host-based service name from
+ kadm5_get_admin_service_name() for SEAM compatibility when old
+ AUTH_GSSAPI not requested.
+
2004-06-15 Tom Yu <tlyu@mit.edu>
* kadmin.c (kadmin_startup): Add option to force old AUTH_GSSAPI
diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c
index 3eef8529b..06d23b813 100644
--- a/src/kadmin/cli/kadmin.c
+++ b/src/kadmin/cli/kadmin.c
@@ -183,6 +183,8 @@ char *kadmin_startup(argc, argv)
krb5_ccache cc;
krb5_principal princ;
kadm5_config_params params;
+ char svcnamebuf[MAXHOSTNAMELEN + 8];
+ char *svcname;
memset((char *) &params, 0, sizeof(params));
@@ -261,6 +263,17 @@ char *kadmin_startup(argc, argv)
params.mask |= KADM5_CONFIG_REALM;
params.realm = def_realm;
+ retval = kadm5_get_admin_service_name(context, def_realm, svcnamebuf,
+ sizeof(svcnamebuf));
+ if (retval) {
+ fprintf(stderr, "%s: failed to get admin service name", whoami);
+ exit(1);
+ }
+ if (params.mask & KADM5_CONFIG_OLD_AUTH_GSSAPI)
+ svcname = KADM5_ADMIN_SERVICE;
+ else
+ svcname = svcnamebuf;
+
/*
* Set cc to an open credentials cache, either specified by the -c
* argument or the default.
@@ -404,7 +417,7 @@ char *kadmin_startup(argc, argv)
printf("Authenticating as principal %s with existing credentials.\n",
princstr);
retval = kadm5_init_with_creds(princstr, cc,
- KADM5_ADMIN_SERVICE,
+ svcname,
&params,
KADM5_STRUCT_VERSION,
KADM5_API_VERSION_2,
@@ -417,7 +430,7 @@ char *kadmin_startup(argc, argv)
printf("Authenticating as principal %s with default keytab.\n",
princstr);
retval = kadm5_init_with_skey(princstr, keytab_name,
- KADM5_ADMIN_SERVICE,
+ svcname,
&params,
KADM5_STRUCT_VERSION,
KADM5_API_VERSION_2,
@@ -426,7 +439,7 @@ char *kadmin_startup(argc, argv)
printf("Authenticating as principal %s with password.\n",
princstr);
retval = kadm5_init_with_password(princstr, password,
- KADM5_ADMIN_SERVICE,
+ svcname,
&params,
KADM5_STRUCT_VERSION,
KADM5_API_VERSION_2,