#include "serno.h"
#include "sslproc.h"
#include "chmode.h"
+#include "privilege.h"
+#include "bandbi.h"
/* /quote set variables */
struct SetOptions GlobalSetOptions;
if(maxconnections <= MAX_BUFFER)
{
fprintf(stderr, "ERROR: Shell FD limits are too low.\n");
- fprintf(stderr, "ERROR: ircd-ratbox reserves %d FDs, shell limits must be above this\n", MAX_BUFFER);
+ fprintf(stderr, "ERROR: charybdis reserves %d FDs, shell limits must be above this\n", MAX_BUFFER);
exit(EXIT_FAILURE);
}
return;
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,
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,
static void
ircd_restart_cb(const char *str)
{
- inotice(L_MAIN, "libratbox has called the restart callback: %s", str);
+ inotice("libratbox has called the restart callback: %s", str);
restart(str);
}
inotice("libratbox has called the die callback..aborting: %s", str);
}
else
- inotice(L_MAIN, "libratbox has called the die callback..aborting");
+ inotice("libratbox has called the die callback..aborting");
unlink(pidFileName);
exit(EXIT_FAILURE);
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 */
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);
}
if(!server_state_foreground)
make_daemon();
inotice("starting %s ...", ircd_version);
+ inotice("%s", rb_lib_version());
}
/* Init the event subsystem */
rb_lib_init(ircd_log_cb, ircd_restart_cb, ircd_die_cb, !server_state_foreground, maxconnections, DNODE_HEAP_SIZE, FD_HEAP_SIZE);
rb_linebuf_init(LINEBUF_HEAP_SIZE);
+ if(ConfigFileEntry.use_egd && (ConfigFileEntry.egdpool_path != NULL))
+ {
+ rb_init_prng(ConfigFileEntry.egdpool_path, RB_PRNG_EGD);
+ } else
+ rb_init_prng(NULL, RB_PRNG_DEFAULT);
+
+ seed_random(NULL);
+
init_main_logfile();
newconf_init();
init_s_conf();
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();
rb_dlinkAddAlloc(&me, &global_serv_list);
construct_umodebuf();
- construct_noparam_modes();
check_class();
write_pidfile(pidFileName);