From 3266c188546fc12ace3731baaad99f8c1425bd5a Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Tue, 26 Dec 2017 16:20:59 -0500 Subject: [PATCH] When a server port number is unset (value 0) , don't just warn in the log ... set it to the default value. --- citadel/config.c | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/citadel/config.c b/citadel/config.c index bcbfd143b..025b511d4 100644 --- a/citadel/config.c +++ b/citadel/config.c @@ -27,15 +27,13 @@ long config_msgnum = 0; HashList *ctdlconfig = NULL; // new configuration -void config_warn_if_port_unset(char *key, int default_port) \ +void config_warn_if_port_unset(char *key, int default_port) { int p = CtdlGetConfigInt(key); if ((p < -1) || (p == 0) || (p > UINT16_MAX)) { - syslog(LOG_ERR, - "config: setting %s is not -1 (disabled) or a valid TCP-Port - check your config! Default setting is: %d", - key, default_port - ); + syslog(LOG_ERR, "config: setting %s is not -1 (disabled) or a valid TCP port - setting to default %d", key, default_port); + CtdlSetConfigInt(key, default_port); } } @@ -64,23 +62,23 @@ void validate_config(void) { /* * Sanity check for port bindings */ - config_warn_if_port_unset("c_smtp_port", 25); - config_warn_if_port_unset("c_pop3_port", 110); - config_warn_if_port_unset("c_imap_port", 143); - config_warn_if_port_unset("c_msa_port", 587); - config_warn_if_port_unset("c_port_number", 504); - config_warn_if_port_unset("c_smtps_port", 465); - config_warn_if_port_unset("c_pop3s_port", 995); - config_warn_if_port_unset("c_imaps_port", 993); - config_warn_if_port_unset("c_pftcpdict_port", -1); - config_warn_if_port_unset("c_managesieve_port", 2020); - config_warn_if_port_unset("c_xmpp_c2s_port", 5222); - config_warn_if_port_unset("c_xmpp_s2s_port", 5269); - config_warn_if_port_unset("c_nntp_port", 119); - config_warn_if_port_unset("c_nntps_port", 563); + config_warn_if_port_unset("c_smtp_port", 25); + config_warn_if_port_unset("c_pop3_port", 110); + config_warn_if_port_unset("c_imap_port", 143); + config_warn_if_port_unset("c_msa_port", 587); + config_warn_if_port_unset("c_port_number", 504); + config_warn_if_port_unset("c_smtps_port", 465); + config_warn_if_port_unset("c_pop3s_port", 995); + config_warn_if_port_unset("c_imaps_port", 993); + config_warn_if_port_unset("c_pftcpdict_port", -1); + config_warn_if_port_unset("c_managesieve_port", 2020); + config_warn_if_port_unset("c_xmpp_c2s_port", 5222); + config_warn_if_port_unset("c_xmpp_s2s_port", 5269); + config_warn_if_port_unset("c_nntp_port", 119); + config_warn_if_port_unset("c_nntps_port", 563); if (getpwuid(ctdluid) == NULL) { - syslog(LOG_ERR, "config: UID (%d) citadel is configured to use is not defined in your system (/etc/passwd?)!", ctdluid); + syslog(LOG_ERR, "config: uid (%d) does not exist ... citserver will run as root", ctdluid); } } -- 2.30.2