From fe67ebe7bc2619c12bc77c5dac1a5ca969e6d43e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Vavrus=CC=8Ca?= Date: Mon, 1 Jun 2015 10:50:36 +0200 Subject: [PATCH] daemon/engine: enable NS reputation cache by default --- daemon/engine.c | 7 +++++++ daemon/engine.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/daemon/engine.c b/daemon/engine.c index 5b70184a3..e0d3742b6 100644 --- a/daemon/engine.c +++ b/daemon/engine.c @@ -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) { diff --git a/daemon/engine.h b/daemon/engine.h index 063bdff9e..2f3b0794c 100644 --- a/daemon/engine.h +++ b/daemon/engine.h @@ -16,6 +16,11 @@ #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. */ -- 2.47.3