X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;ds=inline;f=onak-conf.c;h=8925dbcb6a970d94ae5ab7a12a6865ff182d1c71;hb=f869498b2b159bd3d363fb2f9d803b99c44de8bc;hp=e6b645c48057bf4bf10fb4143ebcd82f87a1dc14;hpb=a0d1c99184eeb07a6a7711e168c3db4b8c0937eb;p=onak.git
diff --git a/onak-conf.c b/onak-conf.c
index e6b645c..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)) {
@@ -288,6 +302,15 @@ static bool parseconfigline(char *line)
config.clean_policies &=
~ONAK_CLEAN_CHECK_SIGHASH;
}
+ } else if (MATCH("verification", "check_packet_size")) {
+ if (parsebool(value, config.clean_policies &
+ ONAK_CLEAN_LARGE_PACKETS)) {
+ config.clean_policies |=
+ ONAK_CLEAN_LARGE_PACKETS;
+ } else {
+ config.clean_policies &=
+ ~ONAK_CLEAN_LARGE_PACKETS;
+ }
} else {
return false;
}