X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fconfig.c;h=81f93989b2120dbc3d571961d1fe79eb37f8f62d;hb=e73e0afde89f43dd19d53c380accb2d1877b03f2;hp=d9eee63e739b40a00d8880986c7c933c07d22944;hpb=6cd4b62a62098566ed73d7662d22e29fc509b9f3;p=citadel.git diff --git a/citadel/config.c b/citadel/config.c index d9eee63e7..81f93989b 100644 --- a/citadel/config.c +++ b/citadel/config.c @@ -1,7 +1,7 @@ /* * Read and write the citadel.config file * - * Copyright (c) 1987-2017 by the citadel.org team + * Copyright (c) 1987-2021 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3. @@ -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); } } @@ -59,28 +57,26 @@ void validate_config(void) { config_warn_if_empty("c_aideroom"); config_warn_if_empty("c_twitroom"); config_warn_if_empty("c_nodename"); - config_warn_if_empty("c_default_cal_zone"); /* * 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_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); } } @@ -132,7 +128,6 @@ void brand_new_installation_set_defaults(void) { CtdlSetConfigInt("c_pop3s_port", 995); CtdlSetConfigInt("c_imaps_port", 993); CtdlSetConfigInt("c_pftcpdict_port", -1); - CtdlSetConfigInt("c_managesieve_port", 2020); CtdlSetConfigInt("c_xmpp_c2s_port", 5222); CtdlSetConfigInt("c_xmpp_s2s_port", 5269); CtdlSetConfigInt("c_nntp_port", 119); @@ -205,11 +200,8 @@ void migrate_legacy_config(struct legacy_config *lconfig) CtdlSetConfigStr( "c_journal_dest" , lconfig->c_journal_dest ); CtdlSetConfigStr( "c_default_cal_zone" , lconfig->c_default_cal_zone ); CtdlSetConfigInt( "c_pftcpdict_port" , lconfig->c_pftcpdict_port ); - CtdlSetConfigInt( "c_managesieve_port" , lconfig->c_managesieve_port ); CtdlSetConfigInt( "c_auth_mode" , lconfig->c_auth_mode ); CtdlSetConfigInt( "c_rbl_at_greeting" , lconfig->c_rbl_at_greeting ); - CtdlSetConfigStr( "c_master_user" , lconfig->c_master_user ); - CtdlSetConfigStr( "c_master_pass" , lconfig->c_master_pass ); CtdlSetConfigStr( "c_pager_program" , lconfig->c_pager_program ); CtdlSetConfigInt( "c_imap_keep_from" , lconfig->c_imap_keep_from ); CtdlSetConfigInt( "c_xmpp_c2s_port" , lconfig->c_xmpp_c2s_port ); @@ -240,14 +232,14 @@ void initialize_config_system(void) { exit(CTDLEXIT_LIBCITADEL); } - if (chdir(ctdl_bbsbase_dir) != 0) { - fprintf(stderr, - "This program could not be started.\nUnable to change directory to %s\nError: %s\n", - ctdl_bbsbase_dir, - strerror(errno) - ); - exit(CTDLEXIT_HOME); - } + //if (chdir(ctdl_bbsbase_dir) != 0) { + //fprintf(stderr, + //"This program could not be started.\nUnable to change directory to %s\nError: %s\n", + //ctdl_bbsbase_dir, + //strerror(errno) + //); + //exit(CTDLEXIT_HOME); + //} memset(&lconfig, 0, sizeof(struct legacy_config)); cfp = fopen(file_citadel_config, "rb"); @@ -322,6 +314,9 @@ void initialize_config_system(void) { if (CtdlGetConfigLong("c_pop3_fastest") == 0) CtdlSetConfigLong("c_pop3_fastest", 3600); // once per hour default if (CtdlGetConfigLong("c_pop3_fastest") < 300) CtdlSetConfigLong("c_pop3_fastest", 300); // 5 minutes min + /* LDAP sync frequency */ + if (CtdlGetConfigLong("c_ldap_sync_freq") == 0) CtdlSetConfigLong("c_ldap_sync_freq", 300); // every 5 minutes default + /* "create new user" only works with native authentication mode */ if (CtdlGetConfigInt("c_auth_mode") != AUTHMODE_NATIVE) { CtdlSetConfigInt("c_disable_newu", 1); @@ -490,7 +485,7 @@ char *CtdlGetSysConfig(char *sysconfname) { conf = NULL; } else { - msg = CtdlFetchMessage(msgnum, 1, 1); + msg = CtdlFetchMessage(msgnum, 1); if (msg != NULL) { conf = strdup(msg->cm_fields[eMesageText]); CM_Free(msg);