Fix initialization and terminal disassociation broken by previous rev
authorPaul Park <pjpark@mit.edu>
Fri, 30 Jun 1995 20:16:55 +0000 (20:16 +0000)
committerPaul Park <pjpark@mit.edu>
Fri, 30 Jun 1995 20:16:55 +0000 (20:16 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6207 dc483132-0cff-0310-8789-dd5450dbe970

src/kadmin/v5server/srv_main.c

index 4cb1a3e71b32f7fa6e666d0f92973244e24a4e09..866e064fec2a8c639be2c24bdd45662abaee15ed 100644 (file)
@@ -204,19 +204,13 @@ main(argc, argv)
        usage(argv[0]);
        return(1);
     }
-    krb5_init_context(&kcontext);
-    krb5_init_ets(kcontext);
-    krb5_klog_init(kcontext, "admin_server", programname, 1);
-       error = key_init(kcontext, debug_level, enc_type, key_type,
-                        master_key_name, manual_entry, db_file, db_realm,
-                        keytab_name);
 
 #ifndef        DEBUG
     /*
      * If we're not debugging and we didn't specify -n, then detach from our
      * controlling terminal and exit.
      */
-    if (!nofork && daemon(0, 0)) {
+    if (!nofork && daemon(0, (manual_entry != 0))) {
        fprintf(stderr, daemon_err, argv[0]);
        perror(argv[0]);
        return(2);
@@ -235,6 +229,9 @@ main(argc, argv)
 #else  /* DEBUG */
     programname = argv[0];
 #endif /* DEBUG */
+    krb5_init_context(&kcontext);
+    krb5_init_ets(kcontext);
+    krb5_klog_init(kcontext, "admin_server", programname, 1);
 
     if ((signal_number =
 #if    POSIX_SETJMP
@@ -274,6 +271,9 @@ main(argc, argv)
        /*
         * Initialize our modules.
         */
+       error = key_init(kcontext, debug_level, enc_type, key_type,
+                        master_key_name, manual_entry, db_file, db_realm,
+                        keytab_name);
        if (!error) {
            error = acl_init(kcontext, debug_level, acl_file);
            if (!error) {