diff --git a/lib/kadm5/ipropd_slave.c b/lib/kadm5/ipropd_slave.c index be9c785d8..44e9ed337 100644 --- a/lib/kadm5/ipropd_slave.c +++ b/lib/kadm5/ipropd_slave.c @@ -74,11 +74,19 @@ get_creds(krb5_context context, const char *keytab_str, krb5_creds creds; char my_hostname[128]; char *server; + const char keytab_buf[256]; ret = krb5_kt_register(context, &hdb_kt_ops); if(ret) krb5_err(context, 1, ret, "krb5_kt_register"); + if (keytab_str == NULL) { + ret = krb5_kt_default_name (context, keytab_buf, sizeof(keytab_buf)); + if (ret) + krb5_err (context, 1, ret, "krb5_kt_default_name"); + keytab_str = keytab_buf; + } + ret = krb5_kt_resolve(context, keytab_str, &keytab); if(ret) krb5_err(context, 1, ret, "%s", keytab_str); @@ -305,7 +313,7 @@ receive_everything (krb5_context context, int *fd, static char *realm; static int version_flag; static int help_flag; -static char *keytab_str = "HDB:"; +static char *keytab_str; static struct getargs args[] = { { "realm", 'r', arg_string, &realm },