// Read and write the system configuration database
//
-// Copyright (c) 1987-2022 by the citadel.org team
+// Copyright (c) 1987-2024 by the citadel.org team
//
// This program is open source software. Use, duplication, or disclosure
// is subject to the terms of the GNU General Public License, version 3.
#include <unistd.h>
#include <stdio.h>
#include <netdb.h>
-#include <crypt.h>
#include <sys/utsname.h>
#include <libcitadel.h>
#include <assert.h>
CtdlSetConfigInt( "c_imaps_port" , lconfig->c_imaps_port );
CtdlSetConfigInt( "c_pop3s_port" , lconfig->c_pop3s_port );
CtdlSetConfigInt( "c_smtps_port" , lconfig->c_smtps_port );
- CtdlSetConfigInt( "c_auto_cull" , lconfig->c_auto_cull );
CtdlSetConfigInt( "c_allow_spoofing" , lconfig->c_allow_spoofing );
CtdlSetConfigInt( "c_journal_email" , lconfig->c_journal_email );
CtdlSetConfigInt( "c_journal_pubmsgs" , lconfig->c_journal_pubmsgs );
// Fetch a system config value. Caller does *not* own the returned value and may not alter it.
char *CtdlGetConfigStr(char *key) {
char *value = NULL;
- struct cdbdata *cdb;
+ struct cdbdata cdb;
int key_len = strlen(key);
if (IsEmptyStr(key)) return(NULL);
// Then look in the database.
cdb = cdb_fetch(CDB_CONFIG, key, key_len);
- if (cdb == NULL) { // nope, not there either.
+ if (cdb.ptr == NULL) { // nope, not there either.
return(NULL);
}
// Got it. Save it in memory for the next fetch.
- value = strdup(cdb->ptr + key_len + 1); // The key was stored there too; skip past it
- cdb_free(cdb);
+ value = strdup(cdb.ptr + key_len + 1); // The key was stored there too; skip past it
Put(ctdlconfig, key, key_len, value, NULL);
return value;
}