]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/ircd.c
Add me_svsjoin function to allow services to "force"join clients
[irc/rqf/shadowircd.git] / src / ircd.c
index 8adc8ccc2d3dcb51ac6904bf329bce161bcbf00d..8577081bffeb1ad2d7aa033796681288568c57ef 100644 (file)
@@ -67,6 +67,7 @@
 #include "sslproc.h"
 #include "chmode.h"
 #include "privilege.h"
+#include "bandbi.h"
 
 /* /quote set variables */
 struct SetOptions GlobalSetOptions;
@@ -157,7 +158,6 @@ print_startup(int pid)
        inotice("now running in %s mode from %s as pid %d ...",
               !server_state_foreground ? "background" : "foreground",
                ConfigFileEntry.dpath, pid);
-       inotice("%s", rb_lib_version());
 
        /* let the parent process know the initialization was successful
         * -- jilles */
@@ -243,16 +243,8 @@ make_daemon(void)
 static int printVersion = 0;
 
 struct lgetopt myopts[] = {
-       {"dlinefile", &ConfigFileEntry.dlinefile,
-        STRING, "File to use for dlines.conf"},
        {"configfile", &ConfigFileEntry.configfile,
         STRING, "File to use for ircd.conf"},
-       {"klinefile", &ConfigFileEntry.klinefile,
-        STRING, "File to use for kline.conf"},
-       {"xlinefile", &ConfigFileEntry.xlinefile,
-        STRING, "File to use for xline.conf"},
-       {"resvfile", &ConfigFileEntry.resvfile,
-        STRING, "File to use for resv.conf"},
        {"logfile", &logFileName,
         STRING, "File to use for ircd.log"},
        {"pidfile", &pidFileName,
@@ -550,10 +542,6 @@ main(int argc, char *argv[])
 
        ConfigFileEntry.dpath = DPATH;
        ConfigFileEntry.configfile = CPATH;     /* Server configuration file */
-       ConfigFileEntry.klinefile = KPATH;      /* Server kline file */
-       ConfigFileEntry.dlinefile = DLPATH;     /* dline file */
-       ConfigFileEntry.xlinefile = XPATH;
-       ConfigFileEntry.resvfile = RESVPATH;
        ConfigFileEntry.connect_timeout = 30;   /* Default to 30 */
        
        umask(077);             /* better safe than sorry --SRB */
@@ -628,6 +616,7 @@ main(int argc, char *argv[])
                if(!server_state_foreground)
                        make_daemon();
                inotice("starting %s ...", ircd_version);
+               inotice("%s", rb_lib_version());
        }
 
        /* Init the event subsystem */
@@ -659,6 +648,15 @@ main(int argc, char *argv[])
        init_cache();
        init_monitor();
        init_isupport();
+
+       /* noparam core modes have to be initialized before the module
+        * system is initialized, otherwise we have a table collision.
+        *
+        * modules call this after they are done initializing...
+        *    --nenolod
+        */
+        construct_noparam_modes();
+
        load_all_modules(1);
 #ifndef STATIC_MODULES
        load_core_modules(1);
@@ -670,15 +668,17 @@ main(int argc, char *argv[])
        if (testing_conf)
                fprintf(stderr, "\nBeginning config test\n");
        read_conf_files(YES);   /* cold start init conf files */
-       rehash_bans(0);
 #ifndef STATIC_MODULES
 
        mod_add_path(MODULE_DIR); 
        mod_add_path(MODULE_DIR "/autoload"); 
 #endif
 
+       init_bandb();
        init_ssld();
 
+       rehash_bans(0);
+
        initialize_server_capabs();     /* Set up default_server_capabs */
        initialize_global_set_options();
 
@@ -736,7 +736,6 @@ main(int argc, char *argv[])
        rb_dlinkAddAlloc(&me, &global_serv_list);
 
        construct_umodebuf();
-        construct_noparam_modes();
 
        check_class();
        write_pidfile(pidFileName);