Merge branch 'HostServ' of ssh://git.pk910.de:16110/srvx into HostServ
[srvx.git] / src / main.c
index fc890c529cccb4a256ba57c9c2ca3ebcd063eed2..4b8c71464550958b7b1895a5dd88a6e6d8d99908 100644 (file)
@@ -33,6 +33,7 @@
 #include "global.h"
 #include "modules.h"
 #include "opserv.h"
+#include "spamserv.h"
 
 #ifdef HAVE_GETOPT_H
 #include <getopt.h>
 #include <sys/wait.h>
 #endif
 
-#ifndef SIGCHLD
-#define SIGCHLD SIGCLD
-#endif
-
 #include "main-common.c"
 
 void sigaction_writedb(int x)
@@ -95,43 +92,6 @@ void sigaction_rehash(int x)
     do_reopen = 1;
 }
 
-void usage(char *self) {
-    /* We can assume we have getopt_long(). */
-    printf("Usage: %s [-c config] [-r log] [-d] [-f] [-v|-h]\n"
-           "-c, --config                    selects a different configuration file.\n"
-           "-d, --debug                     enables debug mode.\n"
-           "-f, --foreground                run srvx in the foreground.\n"
-           "-h, --help                      prints this usage message.\n"
-           "-k, --check                     checks the configuration file's syntax.\n"
-           "-r, --replay                    replay a log file (for debugging)\n"
-           "-v, --version                   prints this program's version.\n"
-           , self);
-}
-
-void version() {
-    printf("    --------------------------------------------------\n"
-           "    - "PACKAGE_STRING" ("CODENAME"), Built: " __DATE__ ", " __TIME__".\n"
-           "    - Copyright (C) 2000 - 2005, srvx Development Team\n"
-           "    --------------------------------------------------\n");
-}
-
-void license() {
-    printf("\n"
-           "This program is free software; you can redistribute it and/or modify\n"
-           "it under the terms of the GNU General Public License as published by\n"
-           "the Free Software Foundation; either version 2 of the License, or\n"
-           "(at your option) any later version.\n"
-           "\n"
-           "This program is distributed in the hope that it will be useful,\n"
-           "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-           "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-           "GNU General Public License for more details.\n"
-           "\n"
-           "You should have received a copy of the GNU General Public License\n"
-           "along with this program; if not, write to the Free Software\n"
-           "Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n\n");
-}
-
 #if WITH_MALLOC_BOEHM_GC
 void
 gc_warn_proc(char *msg, GC_word arg)
@@ -142,7 +102,8 @@ gc_warn_proc(char *msg, GC_word arg)
 
 int main(int argc, char *argv[])
 {
-    int daemon, debug;
+    int run_as_daemon;
+    int debug;
     pid_t pid = 0;
     FILE *file_out;
     struct sigaction sv;
@@ -153,7 +114,7 @@ int main(int argc, char *argv[])
     GC_enable_incremental();
 #endif
 
-    daemon = 1;
+    run_as_daemon = 1;
     debug = 0;
     tools_init();
 
@@ -182,12 +143,11 @@ int main(int argc, char *argv[])
             {"check", 0, 0, 'k'},
             {"replay", 1, 0, 'r'},
             {"version", 0, 0, 'v'},
-            {"verbose", 0, 0, 'V'},
             {0, 0, 0, 0}
         };
 
-        while ((c = getopt_long(argc, argv, "c:kr:dfvVh", options, NULL)) != -1) {
-            switch(c) {
+        while ((c = getopt_long(argc, argv, "c:dfhkr:v", options, NULL)) != -1) {
+            switch (c) {
             case 'c':
                 services_config = optarg;
                 break;
@@ -210,7 +170,7 @@ int main(int argc, char *argv[])
                 debug = 1;
                 break;
             case 'f':
-                daemon = 0;
+                run_as_daemon = 0;
                 break;
             case 'v':
                 version();
@@ -231,10 +191,10 @@ int main(int argc, char *argv[])
          * mostly to get the right value of "now" for when we do the
          * irc_introduce. */
         replay_read_line();
-        boot_time = now;
     } else {
-        boot_time = time(&now);
+        now = time(NULL);
     }
+    boot_time = now;
 
     fprintf(stdout, "Initializing daemon...\n");
     if (!conf_read(services_config)) {
@@ -244,7 +204,7 @@ int main(int argc, char *argv[])
 
     conf_register_reload(uplink_compile);
 
-    if (daemon) {
+    if (run_as_daemon) {
         /* Attempt to fork into the background if daemon mode is on. */
         pid = fork();
         if (pid < 0) {
@@ -265,7 +225,7 @@ int main(int argc, char *argv[])
         fclose(file_out);
     }
 
-    if (daemon) {
+    if (run_as_daemon) {
         /* Close these since we should not use them from now on. */
         fclose(stdin);
         fclose(stdout);
@@ -320,7 +280,8 @@ int main(int argc, char *argv[])
             free(msg);
         }
     } else {
-        srand(time(&now));
+        now = time(NULL);
+        srand(now);
         ioset_run();
     }
     return 0;