]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
nameserver: do not solve answer if it was already solved
authorMark Karpilovskij <mark.karpilovskij@nic.cz>
Mon, 12 Mar 2018 13:44:48 +0000 (14:44 +0100)
committerMark Karpilovskij <mark.karpilovskij@nic.cz>
Mon, 12 Mar 2018 13:46:54 +0000 (14:46 +0100)
src/knot/nameserver/internet.c

index 557689c11f2f1b3308ad9a9d85155bd4ad620167..56efa088528b9ffaaba4dd36b7e0c48f9055453b 100644 (file)
@@ -418,6 +418,11 @@ static int solve_name(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata)
 
 static int solve_answer(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, void *ctx)
 {
+       /* Do not solve if already solved, e.g. in a module. */
+       if (state == KNOTD_IN_STATE_HIT) {
+               return state;
+       }
+
        /* Get answer to QNAME. */
        state = solve_name(state, pkt, qdata);