diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index 218187f4244f471c5079a4bd9aedd0c305a659ff..48df6e48da226cb1fdd263557ce30ec0b6c989a3 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -5230,11 +5230,12 @@ void ftp_server(void* arg) scfg.size = sizeof(scfg); SAFECOPY(error, UNKNOWN_LOAD_ERROR); if (!load_cfg(&scfg, text, /* prep: */ TRUE, /* node: */ FALSE, error, sizeof(error))) { - lprintf(LOG_CRIT, "!ERROR %s", error); - lprintf(LOG_CRIT, "!Failed to load configuration files"); + lprintf(LOG_CRIT, "!ERROR loading configuration files: %s", error); cleanup(1, __LINE__); break; } + if (error[0] != '\0') + lprintf(LOG_WARNING, "!WARNING loading configuration files: %s", error); mqtt_startup(&mqtt, &scfg, (struct startup*)startup, ftp_ver(), lputs); diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c index 1cdd9eec2eae985711899df5a5350f4ea8b9e094..78f06189a0a84eef9b9b8213046012a7e4e80a28 100644 --- a/src/sbbs3/jsexec.c +++ b/src/sbbs3/jsexec.c @@ -1470,7 +1470,9 @@ int main(int argc, char **argv) if (require_cfg) return do_bail(1); prep_dir(scfg.ctrl_dir, scfg.exec_dir, sizeof(scfg.exec_dir)); - } + } else if (error[0] != '\0') + lprintf(LOG_WARNING, "!WARNING loading configuration files: %s", error); + SAFECOPY(scfg.temp_dir, "../temp"); #endif prep_dir(scfg.ctrl_dir, scfg.temp_dir, sizeof(scfg.temp_dir)); diff --git a/src/sbbs3/load_cfg.c b/src/sbbs3/load_cfg.c index 26faa4d9e0168ae53cf4ad72180e131c4d1c06b0..0c12a0429e959d471c07927965152257cfbabb79 100644 --- a/src/sbbs3/load_cfg.c +++ b/src/sbbs3/load_cfg.c @@ -69,6 +69,8 @@ bool load_cfg(scfg_t* cfg, char* text[], bool prep, bool req_cfg, char* error, s , cfg->size, sizeof(scfg_t)); return false; } + if (error != NULL) + *error = '\0'; free_cfg(cfg); /* free allocated config parameters */ @@ -134,8 +136,7 @@ bool load_cfg(scfg_t* cfg, char* text[], bool prep, bool req_cfg, char* error, s safe_snprintf(error, maxerrlen, "%s text ID (%s) not recognized" , str , list[i]->name); - success = false; - break; + continue; } free(text[n]); text[n] = strdup(list[i]->value); diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 628eb030ecfc387a323588250aa850ce94923426..b0dc6fca9fca43060fd77610068cf50ada93fa5f 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -6195,11 +6195,13 @@ void mail_server(void* arg) scfg.size = sizeof(scfg); SAFECOPY(error, UNKNOWN_LOAD_ERROR); if (!load_cfg(&scfg, text, /* prep: */ TRUE, /* node: */ FALSE, error, sizeof(error))) { - lprintf(LOG_CRIT, "!ERROR %s", error); - lprintf(LOG_CRIT, "!Failed to load configuration files"); + lprintf(LOG_CRIT, "!ERROR loading configuration files: %s", error); cleanup(1); return; } + if (error[0] != '\0') + lprintf(LOG_WARNING, "!WARNING loading configuration files: %s", error); + mqtt_startup(&mqtt, &scfg, (struct startup*)startup, mail_ver(), lputs); diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp index d6b78bbab6c7045b1e88b3a9f55f6b33c08436dc..dc49938cb11ef6f69f3fb06625115c3402599e8e 100644 --- a/src/sbbs3/main.cpp +++ b/src/sbbs3/main.cpp @@ -5073,11 +5073,12 @@ void bbs_thread(void* arg) scfg.node_num = startup->first_node; SAFECOPY(logstr, UNKNOWN_LOAD_ERROR); if (!load_cfg(&scfg, text, /* prep: */ true, /* node_req: */ true, logstr, sizeof(logstr))) { - lprintf(LOG_CRIT, "!ERROR %s", logstr); - lprintf(LOG_CRIT, "!FAILED to load configuration files"); + lprintf(LOG_CRIT, "!ERROR loading configuration files: %s", logstr); cleanup(1); return; } + if (logstr[0] != '\0') + lprintf(LOG_WARNING, "!WARNING loading configuration files: %s", logstr); mqtt_startup(&mqtt, &scfg, (struct startup*)startup, bbs_ver(), lputs); @@ -5763,8 +5764,7 @@ NO_SSH: lprintf(LOG_WARNING, "Node %d LOAD ERROR: %s, falling back to Node %d", cfg->node_num, logstr, first_node); cfg->node_num = first_node; if (!load_cfg(cfg, node_text[node_num - 1], /* prep: */ true, /* node: */ true, logstr, sizeof(logstr))) { - lprintf(LOG_CRIT, "!ERROR %s", logstr); - lprintf(LOG_CRIT, "!FAILED to load configuration files"); + lprintf(LOG_CRIT, "!ERROR loading configuration files: %s", logstr); sbbs->bprintf("\r\nFAILED: %s", logstr); client_off(client_socket); SSH_END(client_socket); diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c index b7b8722b6216f6fd966b65c7ed57b0b75e22fab8..a5a272aecabd5d575ef9dc4cab27f1c40edc3257 100644 --- a/src/sbbs3/sbbscon.c +++ b/src/sbbs3/sbbscon.c @@ -1706,9 +1706,11 @@ int main(int argc, char** argv) SAFECOPY(error, UNKNOWN_LOAD_ERROR); lprintf(LOG_INFO, "Loading configuration files from %s", scfg.ctrl_dir); if (!load_cfg(&scfg, /* text: */ NULL, /* prep: */ TRUE, /* node: */ FALSE, error, sizeof(error))) { - lprintf(LOG_ERR, "!ERROR Loading Configuration Files: %s", error); + lprintf(LOG_CRIT, "!ERROR loading configuration files: %s", error); return -1; } + if (error[0] != '\0') + lprintf(LOG_WARNING, "!WARNING loading configuration files: %s", error); /* Daemonize / Set uid/gid */ #ifdef __unix__ diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index a6567c84c1f9b36cd74a48365bc7b2c851bad1dc..0e3fa7b611ca35dd4da9354f2266c492c24cb767 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -6655,11 +6655,12 @@ int main(int argc, char **argv) scfg.size = sizeof(scfg); SAFECOPY(str, UNKNOWN_LOAD_ERROR); if (!load_cfg(&scfg, text, /* prep: */ true, /* node: */ false, str, sizeof(str))) { - fprintf(stderr, "!ERROR %s\n", str); - fprintf(stderr, "!Failed to load configuration files\n"); + fprintf(stderr, "!ERROR loading configuration files: %s\n", str); bail(1); return -1; } + if (str[0] != '\0') + fprintf(stderr, "!WARNING loading configuration files: %s\n", str); twit_list = list_of_twits(&scfg); diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c index ac2601dd813b69431314629da210f28e371d6926..1ee9eeb8e08c61131e5798f779ffdf8965bc350d 100644 --- a/src/sbbs3/services.c +++ b/src/sbbs3/services.c @@ -2019,11 +2019,12 @@ void services_thread(void* arg) scfg.size = sizeof(scfg); SAFECOPY(error, UNKNOWN_LOAD_ERROR); if (!load_cfg(&scfg, text, /* prep: */ true, /* node: */ false, error, sizeof(error))) { - lprintf(LOG_CRIT, "!ERROR %s", error); - lprintf(LOG_CRIT, "!Failed to load configuration files"); + lprintf(LOG_CRIT, "!ERROR loading configuration files: %s", error); cleanup(1); return; } + if (error[0] != '\0') + lprintf(LOG_WARNING, "!WARNING loading configuration files: %s", error); mqtt_startup(&mqtt, &scfg, (struct startup*)startup, services_ver(), lputs); diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c index 6155b18ed812bf880050278b5a0811bd1d7be60d..606261575f7ac825ade4ac3667bff88b234fbdaa 100644 --- a/src/sbbs3/websrvr.c +++ b/src/sbbs3/websrvr.c @@ -7370,11 +7370,12 @@ void web_server(void* arg) scfg.size = sizeof(scfg); SAFECOPY(logstr, UNKNOWN_LOAD_ERROR); if (!load_cfg(&scfg, text, /* prep: */ true, /* node: */ false, logstr, sizeof(logstr))) { - lprintf(LOG_CRIT, "!ERROR %s", logstr); - lprintf(LOG_CRIT, "!FAILED to load configuration files"); + lprintf(LOG_CRIT, "!ERROR loading configuration files: %s", logstr); cleanup(1); return; } + if (logstr[0] != '\0') + lprintf(LOG_WARNING, "!WARNING loading configuration files: %s", logstr); mqtt_startup(&mqtt, &scfg, (struct startup*)startup, web_ver(), lputs);