#include "daemon/engine.h"
#include "daemon/bindings.h"
#include "daemon/ffimodule.h"
+#include "lib/nsrep.h"
#include "lib/cache.h"
#include "lib/defines.h"
{
/* 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");
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) {
#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.
*/