]> jfr.im git - solanum.git/blobdiff - src/s_conf.c
Remove s_assert definition from ircd_defs.h and add it to its own header.
[solanum.git] / src / s_conf.c
index 6f4e313654455a99a5318debd228a3e405daadac..57c32fc44a0855935b25c7b0d6c371fd908f6cea 100644 (file)
@@ -51,6 +51,9 @@
 #include "sslproc.h"
 #include "bandbi.h"
 #include "operhash.h"
+#include "chmode.h"
+#include "hook.h"
+#include "s_assert.h"
 
 struct config_server_hide ConfigServerHide;
 
@@ -741,9 +744,12 @@ set_default_conf(void)
        ConfigFileEntry.use_whois_actually = YES;
        ConfigFileEntry.burst_away = NO;
        ConfigFileEntry.collision_fnc = YES;
+       ConfigFileEntry.resv_fnc = YES;
        ConfigFileEntry.global_snotices = YES;
        ConfigFileEntry.operspy_dont_care_user_info = NO;
        ConfigFileEntry.use_propagated_bans = YES;
+       ConfigFileEntry.max_ratelimit_tokens = 30;
+       ConfigFileEntry.away_interval = 30;
 
 #ifdef HAVE_LIBZ
        ConfigFileEntry.compression_level = 4;
@@ -800,6 +806,8 @@ set_default_conf(void)
 
        ServerInfo.default_max_clients = MAXCONNECTIONS;
 
+       ConfigFileEntry.nicklen = NICKLEN;
+
        if (!alias_dict)
                alias_dict = irc_dictionary_create(strcasecmp);
 }
@@ -826,6 +834,7 @@ read_conf(FILE * file)
        /* Some global values are also loaded here. */
        check_class();          /* Make sure classes are valid */
        privilegeset_delete_all_illegal();
+       construct_cflags_strings();
 }
 
 static void
@@ -863,9 +872,13 @@ validate_conf(void)
                                
        }
 
-       /* RFC 1459 says 1 message per 2 seconds on average is acceptable,
-        * so allow at least that.
+       /* RFC 1459 says 1 message per 2 seconds on average and bursts of
+        * 5 messages are acceptable, so allow at least that.
         */
+       if(ConfigFileEntry.client_flood_burst_rate < 5)
+               ConfigFileEntry.client_flood_burst_rate = 5;
+       if(ConfigFileEntry.client_flood_burst_max < 5)
+               ConfigFileEntry.client_flood_burst_max = 5;
        if(ConfigFileEntry.client_flood_message_time >
                        ConfigFileEntry.client_flood_message_num * 2)
                ConfigFileEntry.client_flood_message_time =
@@ -1338,6 +1351,8 @@ read_conf_files(int cold)
           dont know anything else
 
           - Gozem 2002-07-21 
+
+
         */
        rb_strlcpy(conffilebuf, filename, sizeof(conffilebuf));
 
@@ -1345,7 +1360,15 @@ read_conf_files(int cold)
        {
                if(cold)
                {
+                       inotice("Failed in reading configuration file %s, aborting", filename);
                        ilog(L_MAIN, "Failed in reading configuration file %s", filename);
+
+                       int e;
+                       e = errno;
+
+                       inotice("FATAL: %s %s", strerror(e), filename);
+                       ilog(L_MAIN, "FATAL: %s %s", strerror(e), filename);
+
                        exit(-1);
                }
                else
@@ -1361,7 +1384,10 @@ read_conf_files(int cold)
                clear_out_old_conf();
        }
 
+       call_hook(h_conf_read_start, NULL);
        read_conf(conf_fbfile_in);
+       call_hook(h_conf_read_end, NULL);
+
        fclose(conf_fbfile_in);
 }