X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/2c2e0aa96ec22228874d6ddb859ca4ff99f6023d..9b1b4a972b71cf2f9ecf01d0d082a8ac1bd9caf4:/src/s_conf.c diff --git a/src/s_conf.c b/src/s_conf.c index c0033d1..d35eed4 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -48,6 +48,7 @@ #include "reject.h" #include "cache.h" #include "blacklist.h" +#include "sslproc.h" struct config_server_hide ConfigServerHide; @@ -838,7 +839,7 @@ set_default_conf(void) ConfigFileEntry.reject_duration = 120; ConfigFileEntry.max_unknown_ip = 2; - ServerInfo.max_clients = maxconnections - MAX_BUFFER; + ServerInfo.default_max_clients = MAXCONNECTIONS; } #undef YES @@ -882,6 +883,26 @@ validate_conf(void) if(ServerInfo.network_desc == NULL) ServerInfo.network_desc = rb_strdup(NETWORK_DESC_DEFAULT); + if(ServerInfo.ssld_count < 1) + ServerInfo.ssld_count = 1; + + if(!rb_setup_ssl_server(ServerInfo.ssl_cert, ServerInfo.ssl_private_key, ServerInfo.ssl_dh_params)) + { + ilog(L_MAIN, "WARNING: Unable to setup SSL."); + ssl_ok = 0; + } else { + ssl_ok = 1; + send_new_ssl_certs(ServerInfo.ssl_cert, ServerInfo.ssl_private_key, ServerInfo.ssl_dh_params); + } + + if(ServerInfo.ssld_count > get_ssld_count()) + { + int start = ServerInfo.ssld_count - get_ssld_count(); + /* start up additional ssld if needed */ + start_ssldaemon(start, ServerInfo.ssl_cert, ServerInfo.ssl_private_key, ServerInfo.ssl_dh_params); + + } + if((ConfigFileEntry.client_flood < CLIENT_FLOOD_MIN) || (ConfigFileEntry.client_flood > CLIENT_FLOOD_MAX)) ConfigFileEntry.client_flood = CLIENT_FLOOD_MAX; @@ -1240,6 +1261,8 @@ clear_out_old_conf(void) rb_free(ServerInfo.network_desc); ServerInfo.network_desc = NULL; + ServerInfo.ssld_count = 1; + /* clean out AdminInfo */ rb_free(AdminInfo.name); AdminInfo.name = NULL;