X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=onak-conf.c;h=8925dbcb6a970d94ae5ab7a12a6865ff182d1c71;hb=a8c0920cce727a12697154a85896f2a3ba47eb75;hp=5a4400315551694d19eadc6c104223dcada44526;hpb=adc800dbc424a1e246dd4a82a0c2e88eeda25531;p=onak.git diff --git a/onak-conf.c b/onak-conf.c index 5a44003..8925dbc 100644 --- a/onak-conf.c +++ b/onak-conf.c @@ -15,21 +15,22 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ - -#include "config.h" - #include #include #include #include #include +#include "build-config.h" + #include "cleankey.h" #include "ll.h" #include "log.h" #include "onak-conf.h" +#ifdef DBINIT extern struct onak_dbctx *DBINIT(struct onak_db_config *dbcfg, bool readonly); +#endif /* * config - Runtime configuration for onak. @@ -51,9 +52,13 @@ struct onak_config config = { .backends = NULL, .backends_dir = NULL, +#ifdef DBINIT .dbinit = DBINIT, +#else + .dbinit = NULL, +#endif - .clean_policies = ONAK_CLEAN_CHECK_SIGHASH, + .clean_policies = ONAK_CLEAN_DROP_V3_KEYS | ONAK_CLEAN_CHECK_SIGHASH, .bin_dir = NULL, .mail_dir = NULL, @@ -279,6 +284,15 @@ static bool parseconfigline(char *line) config.syncsites = lladd(config.syncsites, strdup(value)); /* [verification] section */ + } else if (MATCH("verification", "drop_v3")) { + if (parsebool(value, config.clean_policies & + ONAK_CLEAN_DROP_V3_KEYS)) { + config.clean_policies |= + ONAK_CLEAN_DROP_V3_KEYS; + } else { + config.clean_policies &= + ~ONAK_CLEAN_DROP_V3_KEYS; + } } else if (MATCH("verification", "check_sighash")) { if (parsebool(value, config.clean_policies & ONAK_CLEAN_CHECK_SIGHASH)) {