]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/engine: enable NS reputation cache by default
authorMarek Vavruša <marek.vavrusa@nic.cz>
Mon, 1 Jun 2015 08:50:36 +0000 (10:50 +0200)
committerMarek Vavruša <marek.vavrusa@nic.cz>
Tue, 2 Jun 2015 08:28:52 +0000 (10:28 +0200)
daemon/engine.c
daemon/engine.h

index 5b70184a3c5fa8ac02fa27afef095013fccb2bca..e0d3742b6a485689354824d7cdc917857bc94942 100644 (file)
@@ -24,6 +24,7 @@
 #include "daemon/engine.h"
 #include "daemon/bindings.h"
 #include "daemon/ffimodule.h"
+#include "lib/nsrep.h"
 #include "lib/cache.h"
 #include "lib/defines.h"
 
@@ -157,6 +158,11 @@ static int init_resolver(struct engine *engine)
 {
        /* Open resolution context */
        engine->resolver.modules = &engine->modules;
+       /* Open NS reputation cache */
+       engine->resolver.nsrep = malloc(lru_size(kr_nsrep_lru_t, DEFAULT_NSREP_SIZE));
+       if (engine->resolver.nsrep) {
+               lru_init(engine->resolver.nsrep, DEFAULT_NSREP_SIZE);
+       }
 
        /* Load basic modules */
        engine_register(engine, "iterate");
@@ -238,6 +244,7 @@ void engine_deinit(struct engine *engine)
 
        network_deinit(&engine->net);
        kr_cache_close(&engine->resolver.cache);
+       lru_deinit(engine->resolver.nsrep);
 
        /* Unload modules. */
        for (size_t i = 0; i < engine->modules.len; ++i) {
index 063bdff9ebbb7a2215ba5123e0a4e2528d53cf33..2f3b0794c54c270cd390168bd7744a62aa7bca02 100644 (file)
 
 #pragma once
 
+/* Magic defaults */
+#ifndef DEFAULT_NSREP_SIZE
+#define DEFAULT_NSREP_SIZE 4096 /**< Default NS reputation cache size */
+#endif
+
 /*
  * @internal These are forward decls to allow building modules with engine but without Lua.
  */