]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
modules/policy: set QTRACE flag for current query too
authorGrigorii Demidov <grigorii.demidov@nic.cz>
Fri, 20 Jan 2017 10:26:43 +0000 (11:26 +0100)
committerGrigorii Demidov <grigorii.demidov@nic.cz>
Mon, 23 Jan 2017 10:01:04 +0000 (11:01 +0100)
lib/layer/iterate.c
modules/policy/policy.lua

index f724687618de6c09619ec878dfd6f748f8381d69..badf3958a87f112c379328499c3e7a0f84e5b687 100644 (file)
@@ -754,12 +754,14 @@ static int resolve(kr_layer_t *ctx, knot_pkt_t *pkt)
        if (!query) {
                return ctx->state;
        }
-#ifndef NDEBUG
+
+#ifndef NDEBUG /* These might be useful during debugging. */
        if (query->flags & QUERY_TRACE) {
                VERBOSE_MSG("<= answer received:\n");
                kr_pkt_print(pkt);
        }
 #endif
+
        if (query->flags & (QUERY_RESOLVED|QUERY_BADCOOKIE_AGAIN)) {
                return ctx->state;
        }
index 57fdacfaa09b284918243c0f404d9d26d69d789a..e5d020a6de1c61763a902aa02cfcd8af31d526c5 100644 (file)
@@ -229,7 +229,9 @@ function policy.enforce(state, req, action)
                        return kres.DONE
                end
        elseif action == policy.QTRACE then
+               local qry = req:current()
                req.options = bit.bor(req.options, kres.query.TRACE)
+               qry.flags = bit.bor(qry.flags, kres.query.TRACE)
        elseif type(action) == 'function' then
                return action(state, req)
        end