summaryrefslogtreecommitdiffstats
path: root/lib/layer/iterate.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/layer/iterate.c')
-rw-r--r--lib/layer/iterate.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c
index 69fe344c..c6f9ec97 100644
--- a/lib/layer/iterate.c
+++ b/lib/layer/iterate.c
@@ -922,14 +922,14 @@ static int begin(kr_layer_t *ctx)
}
struct kr_query *qry = ctx->req->current_query;
- /* Avoid any other classes, and avoid any meta-types ~~except for ANY~~. */
- if (qry->sclass != KNOT_CLASS_IN
- || (knot_rrtype_is_metatype(qry->stype)
- /* && qry->stype != KNOT_RRTYPE_ANY hmm ANY seems broken ATM */)) {
+ /* Avoid any other classes, and avoid any meta-types. */
+ if (qry->sclass != KNOT_CLASS_IN || knot_rrtype_is_metatype(qry->stype)) {
knot_pkt_t *ans = kr_request_ensure_answer(ctx->req);
- if (!ans) return ctx->req->state;
+ if (!ans)
+ return ctx->req->state;
knot_wire_set_rcode(ans->wire, KNOT_RCODE_NOTIMPL);
- return KR_STATE_FAIL;
+ kr_request_set_extended_error(ctx->req, KNOT_EDNS_EDE_NOTSUP, "57CK");
+ return KR_STATE_DONE;
}
return reset(ctx);