diff options
Diffstat (limited to 'src/kadmin/cli')
-rw-r--r-- | src/kadmin/cli/ChangeLog | 10 | ||||
-rw-r--r-- | src/kadmin/cli/kadmin.c | 23 | ||||
-rw-r--r-- | src/kadmin/cli/keytab.c | 14 |
3 files changed, 20 insertions, 27 deletions
diff --git a/src/kadmin/cli/ChangeLog b/src/kadmin/cli/ChangeLog index 946ee6a49d..bd2e1592db 100644 --- a/src/kadmin/cli/ChangeLog +++ b/src/kadmin/cli/ChangeLog @@ -1,3 +1,13 @@ +Wed Nov 13 14:29:02 1996 Tom Yu <tlyu@mit.edu> + + * keytab.c (process_keytab): Note that krb5_defkeyname is an + internal interface. + + * kadmin.c (kadmin_startup): Note that krb5_defkeyname is an + internal interface. + + * kadmin.c, keytab.c: Revert kt_default_name changes. + Tue Nov 12 22:05:26 1996 Tom Yu <tlyu@mit.edu> * keytab.c (process_keytab): Retrieve *keytab_str using diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c index 1881c872aa..d8011f86e4 100644 --- a/src/kadmin/cli/kadmin.c +++ b/src/kadmin/cli/kadmin.c @@ -421,24 +421,11 @@ char *kadmin_startup(argc, argv) exit(1); } { - /* 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); +#define DEFAULT_KEYTAB "WRFILE:/etc/v5srvtab" + /* XXX krb5_defkeyname is an internal library global and + should go away */ + extern char *krb5_defkeyname; + krb5_defkeyname = DEFAULT_KEYTAB; } return query; diff --git a/src/kadmin/cli/keytab.c b/src/kadmin/cli/keytab.c index 5a47bf159b..df4f6ce257 100644 --- a/src/kadmin/cli/keytab.c +++ b/src/kadmin/cli/keytab.c @@ -23,6 +23,7 @@ static int remove_principal(char *keytab_str, krb5_keytab keytab, char *princ_str, char *kvno_str); static char *etype_string(krb5_enctype enctype); +extern char *krb5_defkeyname; extern char *whoami; extern krb5_context context; extern void *handle; @@ -44,15 +45,10 @@ int process_keytab(krb5_context context, char **keytab_str, int code; if (*keytab_str == NULL) { - char *keytab_str = malloc(BUFSIZ); - - if (keytab_str == NULL) { - com_err(whoami, ENOMEM, "while creating default keytab name"); - return 1; - } - if ((code = krb5_kt_default_name(context, keytab_str, BUFSIZ))) { - com_err(whoami, code, "while copying default keytab name"); - free(*keytab_str); + /* XXX krb5_defkeyname is an internal library global and + should go away */ + if (! (*keytab_str = strdup(krb5_defkeyname))) { + com_err(whoami, ENOMEM, "while creating keytab name"); return 1; } code = krb5_kt_default(context, keytab); |