From 83721dc828e9b018f532ddba3ef240c39b65741f Mon Sep 17 00:00:00 2001 From: Tom Yu Date: Wed, 13 Nov 1996 03:35:50 +0000 Subject: * keytab.c (process_keytab): Retrieve *keytab_str using krb5_kt_default_name() to avoid global variable nastiness. * kadmin.c (kadmin_startup): Use krb5_kt_set_default_name to change the default keytab name rather than assigning to a library global variable. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@9394 dc483132-0cff-0310-8789-dd5450dbe970 --- src/kadmin/cli/kadmin.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/kadmin/cli/kadmin.c') diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c index 67c7b46416..1881c872aa 100644 --- a/src/kadmin/cli/kadmin.c +++ b/src/kadmin/cli/kadmin.c @@ -421,9 +421,24 @@ char *kadmin_startup(argc, argv) exit(1); } { -#define DEFAULT_KEYTAB "WRFILE:/etc/v5srvtab" - extern char *krb5_defkeyname; - krb5_defkeyname = DEFAULT_KEYTAB; + /* hack up the default keytab name to begin with "WRFILE:" */ + char *cp, ktdef[BUFSIZ]; + if ((retval = krb5_kt_default_name(context, ktdef, BUFSIZ))) { + com_err(whoami, retval, "while looking up default keytab name"); + exit(1); + } + if ((cp = malloc(strlen(ktdef) + 1 + 2)) == NULL) { + com_err(whoami, ENOMEM, "while editting default keytab name"); + exit(1); + } + strcpy(cp, "WR"); + strcat(cp, ktdef); + if ((retval = krb5_kt_set_default_name(context, cp))) { + com_err(whoami, retval, + "while changing default keytab name"); + exit(1); + } + free(cp); } return query; -- cgit