]> granicus.if.org Git - pdns/commitdiff
rec: Set the result to NoError before calling `preresolve`
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 13 Dec 2016 15:21:17 +0000 (16:21 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 15 Dec 2016 09:31:37 +0000 (10:31 +0100)
Otherwise `rq.rcode` needs to be set explicitly when handling the
query from `preresolve`, which is not documented and wasn't the case
before.

(cherry picked from commit ef3b6cd7719e968364f6ad7692ff4287829f37f1)

pdns/pdns_recursor.cc

index 6663fd24cd7c3e1a45bcfe1d9872bacc787452b4..5e73fbac32be5e1cb44d13a9b53658ced9e6f51a 100644 (file)
@@ -739,7 +739,8 @@ void startDoResolve(void *p)
     bool variableAnswer = false;
     bool shouldNotValidate = false;
 
-    int res;
+    /* preresolve expects res (dq.rcode) to be set to RCode::NoError by default */
+    int res = RCode::NoError;
     DNSFilterEngine::Policy appliedPolicy;
     DNSRecord spoofed;
     if(dc->d_mdp.d_qtype==QType::ANY && !dc->d_tcp && g_anyToTcp) {