static void setup(dict_t *config)
{
list_t *l;
- item_t *site;
dict_t *system;
struct passwd *pw;
struct cloc loc;
- int i;
l=dict_lookup(config,"system");
"that secnet retain root privileges while running.",
require_root_privileges_explanation);
}
+}
+
+static void start_sites(dict_t *config) {
+ int i;
+ list_t *l;
+ item_t *site;
/* Go along site list, starting sites */
l=dict_lookup(config,sites_key);
cfgfatal(site->loc,"system","non-site closure in site list");
}
s=site->data.closure->interface;
- s->control(s->st,True);
+ s->startup(s->st);
}
}
}
struct pollfd *fds=0;
int allocdfds=0, shortfall=0;
- Message(M_NOTICE,"%s [%d]: starting\n",version,secnet_pid);
-
do {
if (gettimeofday(&tv_now_global, NULL)!=0) {
fatal_perror("main loop: gettimeofday");
{
dict_t *config;
+ log_early_init();
phase_hooks_init();
enter_phase(PHASE_GETOPTS);
enter_phase(PHASE_SETUP);
setup(config);
+ start_sites(config);
if (just_check_config) {
Message(M_INFO,"configuration file check complete\n");
enter_phase(PHASE_DAEMONIZE);
become_daemon();
+ Message(M_NOTICE,"%s [%d]: starting\n",version,secnet_pid);
enter_phase(PHASE_GETRESOURCES);
/* Appropriate phase hooks will have been run */