Merge the remaining bits of fix for bug #60.
authorTim Potter <tpot@samba.org>
Tue, 27 May 2003 00:29:00 +0000 (00:29 +0000)
committerTim Potter <tpot@samba.org>
Tue, 27 May 2003 00:29:00 +0000 (00:29 +0000)
(This used to be commit 7c3da9b4db94add8c3cf93d8f8d1ae0e907b5b99)

source3/nsswitch/winbindd.c

index da2540f5d98b6f4eec67e460b835af4ae5ded1f3..033ff18900d8b66b67010a59a680dff4c6bc32cc 100644 (file)
@@ -730,61 +730,6 @@ static void process_loop(void)
 }
 
 
-/*
-  these are split out from the main winbindd for use by the background daemon
- */
-BOOL winbind_setup_common(void)
-{
-       load_interfaces();
-
-       if (!secrets_init()) {
-
-               DEBUG(0,("Could not initialize domain trust account secrets. Giving up\n"));
-               return False;
-       }
-
-       namecache_enable();     /* Enable netbios namecache */
-
-       /* Check winbindd parameters are valid */
-
-       ZERO_STRUCT(server_state);
-
-       if (!winbindd_param_init())
-               return False;
-
-       /* Winbind daemon initialisation */
-
-       if (!idmap_init())
-               return False;
-
-       if (!idmap_init_wellknown_sids())
-               return False;
-
-       /* Unblock all signals we are interested in as they may have been
-          blocked by the parent process. */
-
-       BlockSignals(False, SIGINT);
-       BlockSignals(False, SIGQUIT);
-       BlockSignals(False, SIGTERM);
-       BlockSignals(False, SIGUSR1);
-       BlockSignals(False, SIGUSR2);
-       BlockSignals(False, SIGHUP);
-
-       /* Setup signal handlers */
-       
-       CatchSignal(SIGINT, termination_handler);      /* Exit on these sigs */
-       CatchSignal(SIGQUIT, termination_handler);
-       CatchSignal(SIGTERM, termination_handler);
-
-       CatchSignal(SIGPIPE, SIG_IGN);                 /* Ignore sigpipe */
-
-       CatchSignal(SIGUSR2, sigusr2_handler);         /* Debugging sigs */
-       CatchSignal(SIGHUP, sighup_handler);
-
-       return True;
-}
-
-
 /* Main function */
 
 struct winbindd_state server_state;   /* Server state information */
@@ -868,6 +813,54 @@ int main(int argc, char **argv)
        if (!init_names())
                exit(1);
 
+       load_interfaces();
+
+       if (!secrets_init()) {
+
+               DEBUG(0,("Could not initialize domain trust account secrets. Giving up\n"));
+               return False;
+       }
+
+       /* Enable netbios namecache */
+
+       namecache_enable();
+
+       /* Check winbindd parameters are valid */
+
+       ZERO_STRUCT(server_state);
+
+       if (!winbindd_param_init())
+               return 1;
+
+       /* Winbind daemon initialisation */
+
+       if (!idmap_init())
+               return 1;
+
+       if (!idmap_init_wellknown_sids())
+               exit(1);
+
+       /* Unblock all signals we are interested in as they may have been
+          blocked by the parent process. */
+
+       BlockSignals(False, SIGINT);
+       BlockSignals(False, SIGQUIT);
+       BlockSignals(False, SIGTERM);
+       BlockSignals(False, SIGUSR1);
+       BlockSignals(False, SIGUSR2);
+       BlockSignals(False, SIGHUP);
+
+       /* Setup signal handlers */
+       
+       CatchSignal(SIGINT, termination_handler);      /* Exit on these sigs */
+       CatchSignal(SIGQUIT, termination_handler);
+       CatchSignal(SIGTERM, termination_handler);
+
+       CatchSignal(SIGPIPE, SIG_IGN);                 /* Ignore sigpipe */
+
+       CatchSignal(SIGUSR2, sigusr2_handler);         /* Debugging sigs */
+       CatchSignal(SIGHUP, sighup_handler);
+
        if (!interactive)
                become_daemon(Fork);
 
@@ -882,10 +875,6 @@ int main(int argc, char **argv)
                setpgid( (pid_t)0, (pid_t)0);
 #endif
 
-       if (!winbind_setup_common()) {
-               return 1;
-       }
-
        if (opt_dual_daemon) {
                do_dual_daemon();
        }