]> jfr.im git - solanum.git/blobdiff - src/ircd.c
Migrate capability negotiation code to new dynamic capability management API.
[solanum.git] / src / ircd.c
index 8577081bffeb1ad2d7aa033796681288568c57ef..cec470e9332147ae88937d5c87ae2ec9393ac96a 100644 (file)
@@ -112,7 +112,7 @@ int zlib_ok = 1;
 int testing_conf = 0;
 time_t startup_time;
 
-int default_server_capabs = CAP_MASK;
+int default_server_capabs;
 
 int splitmode;
 int splitchecking;
@@ -324,7 +324,10 @@ initialize_global_set_options(void)
                splitchecking = 1;
        }
 
-       GlobalSetOptions.ident_timeout = IDENT_TIMEOUT;
+       if(ConfigFileEntry.default_ident_timeout)
+               GlobalSetOptions.ident_timeout = ConfigFileEntry.default_ident_timeout;
+       else
+               GlobalSetOptions.ident_timeout = IDENT_TIMEOUT;
 
        rb_strlcpy(GlobalSetOptions.operstring,
                ConfigFileEntry.default_operstring,
@@ -543,7 +546,7 @@ main(int argc, char *argv[])
        ConfigFileEntry.dpath = DPATH;
        ConfigFileEntry.configfile = CPATH;     /* Server configuration file */
        ConfigFileEntry.connect_timeout = 30;   /* Default to 30 */
-       
+
        umask(077);             /* better safe than sorry --SRB */
 
        myargv = argv;
@@ -581,18 +584,16 @@ main(int argc, char *argv[])
        memset(&AdminInfo, 0, sizeof(AdminInfo));
        memset(&ServerStats, 0, sizeof(struct ServerStatistics));
 
-       /* Initialise the channel capability usage counts... */
-       init_chcap_usage_counts();
-
        if(printVersion)
        {
                printf("ircd: version %s(%s)\n", ircd_version, serno);
+#ifdef CUSTOM_BRANDING
+               printf("ircd: based on %s-%s\n", PACKAGE_NAME, PACKAGE_VERSION);
+#endif
                printf("ircd: %s\n", rb_lib_version());
                exit(EXIT_SUCCESS);
        }
 
-
-
        setup_signals();
 
        if (testing_conf)
@@ -631,6 +632,9 @@ main(int argc, char *argv[])
 
        seed_random(NULL);
 
+       init_builtin_capabs();
+       default_server_capabs = CAP_MASK;
+
        init_main_logfile();
        newconf_init();
        init_s_conf();
@@ -647,15 +651,8 @@ main(int argc, char *argv[])
        init_reject();
        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();
+        construct_cflags_strings();
 
        load_all_modules(1);
 #ifndef STATIC_MODULES
@@ -674,6 +671,8 @@ main(int argc, char *argv[])
        mod_add_path(MODULE_DIR "/autoload"); 
 #endif
 
+       init_isupport();
+
        init_bandb();
        init_ssld();