1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

Merge the remaining bits of fix for bug #60.

(This used to be commit 7c3da9b4db)
This commit is contained in:
Tim Potter 2003-05-27 00:29:00 +00:00
parent 5612da76e0
commit 0e9422f139

View 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();
}