]> granicus.if.org Git - pdns/commitdiff
replace previous broken commit with actual fix for trace=fail and trace-regex
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Tue, 22 Jan 2013 14:21:06 +0000 (14:21 +0000)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Tue, 22 Jan 2013 14:21:06 +0000 (14:21 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@3073 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/pdns_recursor.cc

index dbc29aa68522d3d3e15f8c5a7f93b333e20b1acf..6b79582f4609952465b2f29bf4d39c3cbb8b3041 100644 (file)
@@ -550,15 +550,8 @@ void startDoResolve(void *p)
     
     uint32_t minTTL=std::numeric_limits<uint32_t>::max();
       
-    if(res < 0) {
-      pw.getHeader()->rcode=RCode::ServFail;
-      // no commit here, because no record
-      g_stats.servFails++;
-    }
-
-    if(tracedQuery || pw.getHeader()->rcode == RCode::ServFail)
+    if(tracedQuery || res < 0 || res == RCode::ServFail || pw.getHeader()->rcode == RCode::ServFail)
     {
-      // log trace, if we have one
       string trace(sr.getTrace());
       if(!trace.empty()) {
         vector<string> lines;
@@ -569,6 +562,12 @@ void startDoResolve(void *p)
         }
       }
     }
+
+    if(res < 0) {
+      pw.getHeader()->rcode=RCode::ServFail;
+      // no commit here, because no record
+      g_stats.servFails++;
+    }
     else {
       pw.getHeader()->rcode=res;
       updateRcodeStats(res);