X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/5b4e9016440e9d0dc4ffc4d4ea4e81d31f773766..346fba9252bbbbfc02220a066a018f2a5a501f60:/src/ircd.c diff --git a/src/ircd.c b/src/ircd.c index 1f892279..cec470e9 100644 --- a/src/ircd.c +++ b/src/ircd.c @@ -66,6 +66,8 @@ #include "serno.h" #include "sslproc.h" #include "chmode.h" +#include "privilege.h" +#include "bandbi.h" /* /quote set variables */ struct SetOptions GlobalSetOptions; @@ -110,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; @@ -241,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, @@ -330,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, @@ -548,12 +545,8 @@ 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 */ myargv = argv; @@ -591,17 +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) @@ -625,6 +617,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 */ @@ -639,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(); @@ -655,26 +651,33 @@ main(int argc, char *argv[]) init_reject(); init_cache(); init_monitor(); - init_isupport(); + + construct_cflags_strings(); + load_all_modules(1); #ifndef STATIC_MODULES load_core_modules(1); #endif init_auth(); /* Initialise the auth code */ init_resolver(); /* Needs to be setup before the io loop */ + privilegeset_set_new("default", "", 0); 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_isupport(); + + init_bandb(); init_ssld(); + rehash_bans(0); + initialize_server_capabs(); /* Set up default_server_capabs */ initialize_global_set_options(); @@ -732,7 +735,6 @@ main(int argc, char *argv[]) rb_dlinkAddAlloc(&me, &global_serv_list); construct_umodebuf(); - construct_noparam_modes(); check_class(); write_pidfile(pidFileName);