summaryrefslogtreecommitdiff
path: root/util/config_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/config_file.c')
-rw-r--r--util/config_file.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/util/config_file.c b/util/config_file.c
index d0fdb2daaa25..796c1a61f269 100644
--- a/util/config_file.c
+++ b/util/config_file.c
@@ -282,6 +282,8 @@ config_create(void)
cfg->dnscrypt_provider = NULL;
cfg->dnscrypt_provider_cert = NULL;
cfg->dnscrypt_secret_key = NULL;
+ cfg->dnscrypt_shared_secret_cache_size = 4*1024*1024;
+ cfg->dnscrypt_shared_secret_cache_slabs = 4;
#ifdef USE_IPSECMOD
cfg->ipsecmod_enabled = 1;
cfg->ipsecmod_ignore_bogus = 0;
@@ -290,6 +292,10 @@ config_create(void)
cfg->ipsecmod_whitelist = NULL;
cfg->ipsecmod_strict = 0;
#endif
+#ifdef USE_CACHEDB
+ cfg->cachedb_backend = NULL;
+ cfg->cachedb_secret = NULL;
+#endif
return cfg;
error_exit:
config_delete(cfg);
@@ -561,6 +567,10 @@ int config_set_option(struct config_file* cfg, const char* opt,
else S_STR("dnscrypt-provider:", dnscrypt_provider)
else S_STRLIST("dnscrypt-provider-cert:", dnscrypt_provider_cert)
else S_STRLIST("dnscrypt-secret-key:", dnscrypt_secret_key)
+ else S_MEMSIZE("dnscrypt-shared-secret-cache-size:",
+ dnscrypt_shared_secret_cache_size)
+ else S_POW2("dnscrypt-shared-secret-cache-slabs:",
+ dnscrypt_shared_secret_cache_slabs)
#endif
else if(strcmp(opt, "ip-ratelimit:") == 0) {
IS_NUMBER_OR_ZERO; cfg->ip_ratelimit = atoi(val);
@@ -922,6 +932,10 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_STR(opt, "dnscrypt-provider", dnscrypt_provider)
else O_LST(opt, "dnscrypt-provider-cert", dnscrypt_provider_cert)
else O_LST(opt, "dnscrypt-secret-key", dnscrypt_secret_key)
+ else O_MEM(opt, "dnscrypt-shared-secret-cache-size",
+ dnscrypt_shared_secret_cache_size)
+ else O_DEC(opt, "dnscrypt-shared-secret-cache-slabs",
+ dnscrypt_shared_secret_cache_slabs)
#endif
else O_YNO(opt, "unblock-lan-zones", unblock_lan_zones)
else O_YNO(opt, "insecure-lan-zones", insecure_lan_zones)
@@ -958,6 +972,10 @@ config_get_option(struct config_file* cfg, const char* opt,
else O_LST(opt, "ipsecmod-whitelist", ipsecmod_whitelist)
else O_YNO(opt, "ipsecmod-strict", ipsecmod_strict)
#endif
+#ifdef USE_CACHEDB
+ else O_STR(opt, "backend", cachedb_backend)
+ else O_STR(opt, "secret-seed", cachedb_secret)
+#endif
/* not here:
* outgoing-permit, outgoing-avoid - have list of ports
* local-zone - zones and nodefault variables
@@ -1259,6 +1277,10 @@ config_delete(struct config_file* cfg)
free(cfg->ipsecmod_hook);
config_delstrlist(cfg->ipsecmod_whitelist);
#endif
+#ifdef USE_CACHEDB
+ free(cfg->cachedb_backend);
+ free(cfg->cachedb_secret);
+#endif
free(cfg);
}