alt_prof.c (krb5_aprof_init): If the user specifies the config file
authorTheodore Tso <tytso@mit.edu>
Thu, 7 Nov 1996 17:11:19 +0000 (17:11 +0000)
committerTheodore Tso <tytso@mit.edu>
Thu, 7 Nov 1996 17:11:19 +0000 (17:11 +0000)
using a configuration file, it must exist.  Otherwise,
krb5_aprof_init will return an error.

(kadm5_get_config_params): If aprof_init returns an error, it should
return an error as well.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@9319 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/kadm5/ChangeLog
src/lib/kadm5/alt_prof.c

index 169c2e99f5a9d836104b121a8363eaa0e3170608..0d735ce5e2e72b4db03a6335542d6153ad3c8b4a 100644 (file)
@@ -1,3 +1,11 @@
+Mon Nov  4 21:16:01 1996  Theodore Y. Ts'o  <tytso@mit.edu>
+
+       * alt_prof.c (krb5_aprof_init): If the user specifies the config
+               file using a configuration file, it must exist.
+               Otherwise, krb5_aprof_init will return an error.
+               (kadm5_get_config_params): If aprof_init returns an error,
+               it should return an error as well.
+
 Wed Nov  6 17:45:43 1996  Barry Jaspan  <bjaspan@mit.edu>
 
        * kadm_rpc_xdr.c (xdr_krb5_principal): handle a NULL principal
index 374e22706e017cfe0ebf17430fc156282bf38245..247050d493f5044e48680d556bfb32871fd4bbba 100644 (file)
@@ -55,18 +55,24 @@ krb5_aprof_init(fname, envname, acontextp)
     profile = (profile_t) NULL;
     if (envname) {
        if ((namelist[0] = getenv(envname))) {
-           if (!(kret = profile_init(namelist, &profile))) {
-               *acontextp = (krb5_pointer) profile;
-               return(0);
-           }
+           kret = profile_init(namelist, &profile);
+           if (kret)
+               return kret;
+           *acontextp = (krb5_pointer) profile;
+           return 0;
        }
     }
     profile = (profile_t) NULL;
-    if (fname && !(kret = profile_init_path(fname, &profile))) {
+    if (fname) {
+       kret = profile_init_path(fname, &profile);
+       if (kret == ENOENT) {
+           profile = 0;
+       } else if (kret)
+           return kret;
        *acontextp = (krb5_pointer) profile;
-       return(0);
+       return 0;
     }
-    return(kret);
+    return 0;
 }
 
 /*
@@ -319,8 +325,9 @@ krb5_error_code kadm5_get_config_params(context, kdcprofile, kdcenv,
         if (context->profile_secure == TRUE) envname = 0;
     }
 
-    /* ignore failures */
-    (void) krb5_aprof_init(filename, envname, &aprofile);
+    kret = krb5_aprof_init(filename, envname, &aprofile);
+    if (kret)
+           goto cleanup;
     
     /* Initialize realm parameters */
     hierarchy[0] = "realms";