summaryrefslogtreecommitdiffstats
path: root/lib/module.c
diff options
context:
space:
mode:
authorMarek Vavruša <marek.vavrusa@nic.cz>2015-06-30 22:03:51 +0200
committerMarek Vavruša <marek.vavrusa@nic.cz>2015-06-30 22:07:01 +0200
commitda79dc09f5ed964419dd93bdc4609906034d38a1 (patch)
tree253d7fdd1cb9214124230eb64264c6a2e7feb090 /lib/module.c
parentlayer/rrsigcache: Inserts query for DNSKEY when keys not cached. (diff)
downloadknot-resolver-da79dc09f5ed964419dd93bdc4609906034d38a1.tar.xz
knot-resolver-da79dc09f5ed964419dd93bdc4609906034d38a1.zip
lib/validate: pseudocode of the validation flow
1. validate module must be between iterate/cache 2. produce: copy OPT with DO=1, ask for DNSKEY if we don’t have it 3. resolve.c: subrequest DNSKEY if asked to do it 4. consume: check DNSKEY and set it, validate RRSIGs against it another issues: rrsigcache is copypasta of rrcache, there is one special case with storing RRSIGs which doesn’t deserve it’s own module (if the validation is off, then nothing will get written in there anyway) since the resolution is asynchronous, layers must only *ask* resolver to do subrequests for them using query flags (like when we encounter an unknown zone cut)
Diffstat (limited to 'lib/module.c')
-rw-r--r--lib/module.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/module.c b/lib/module.c
index 35874070..a97d9ede 100644
--- a/lib/module.c
+++ b/lib/module.c
@@ -25,13 +25,13 @@
/* List of embedded modules */
const knot_layer_api_t *iterate_layer(struct kr_module *module);
+const knot_layer_api_t *validate_layer(struct kr_module *module);
const knot_layer_api_t *rrcache_layer(struct kr_module *module);
-const knot_layer_api_t *rrsigcache_layer(struct kr_module *module);
const knot_layer_api_t *pktcache_layer(struct kr_module *module);
static const struct kr_module embedded_modules[] = {
{ "iterate", NULL, NULL, NULL, iterate_layer, NULL, NULL, NULL },
+ { "validate", NULL, NULL, NULL, validate_layer, NULL, NULL, NULL },
{ "rrcache", NULL, NULL, NULL, rrcache_layer, NULL, NULL, NULL },
- { "rrsigcache", NULL, NULL, NULL, rrsigcache_layer, NULL, NULL, NULL },
{ "pktcache", NULL, NULL, NULL, pktcache_layer, NULL, NULL, NULL },
};