diff --git a/kadmin/kadmin.c b/kadmin/kadmin.c index b045125c9..4d14be029 100644 --- a/kadmin/kadmin.c +++ b/kadmin/kadmin.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997 - 2001 Kungliga Tekniska Högskolan + * Copyright (c) 1997 - 2001, 2003 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -221,7 +221,7 @@ int main(int argc, char **argv) { krb5_error_code ret; - krb5_config_section *cf = NULL; + char **files; kadm5_config_params conf; int optind = 0; @@ -248,8 +248,17 @@ main(int argc, char **argv) if (config_file == NULL) config_file = HDB_DB_DIR "/kdc.conf"; - if(krb5_config_parse_file(context, config_file, &cf) == 0) { - const char *p = krb5_config_get_string (context, cf, + ret = krb5_prepend_config_files_default(config_file, &files); + if (ret) + krb5_err(context, 1, ret, "getting configuration files"); + + ret = krb5_set_config_files(context, files); + krb5_free_config_files(files); + if(ret) + krb5_err(context, 1, ret, "reading configuration files"); + + { + const char *p = krb5_config_get_string (context, NULL, "kdc", "key-file", NULL); if (p) keyfile = strdup(p); @@ -316,7 +325,6 @@ main(int argc, char **argv) ret = sl_loop (actual_cmds, "kadmin> ") != 0; kadm5_destroy(kadm_handle); - krb5_config_file_free (context, cf); krb5_free_context(context); return ret; } diff --git a/kadmin/kadmind.c b/kadmin/kadmind.c index 51a37412c..bf34ce230 100644 --- a/kadmin/kadmind.c +++ b/kadmin/kadmind.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997-2002 Kungliga Tekniska Högskolan + * Copyright (c) 1997-2003 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -100,7 +100,7 @@ int main(int argc, char **argv) { krb5_error_code ret; - krb5_config_section *cf; + char **files; int optind = 0; int e; krb5_log_facility *logf; @@ -136,8 +136,17 @@ main(int argc, char **argv) if (config_file == NULL) config_file = HDB_DB_DIR "/kdc.conf"; - if(krb5_config_parse_file(context, config_file, &cf) == 0) { - const char *p = krb5_config_get_string (context, cf, + ret = krb5_prepend_config_files_default(config_file, &files); + if (ret) + krb5_err(context, 1, ret, "getting configuration files"); + + ret = krb5_set_config_files(context, files); + krb5_free_config_files(files); + if(ret) + krb5_err(context, 1, ret, "reading configuration files"); + + { + const char *p = krb5_config_get_string (context, NULL, "kdc", "key-file", NULL); if (p) keyfile = strdup(p);