]> granicus.if.org Git - pdns/commitdiff
Merge pull request #4536 from rgacogne/dnsdist-mute
authorPieter Lexis <pieterlexis@users.noreply.github.com>
Fri, 13 Jan 2017 13:28:41 +0000 (14:28 +0100)
committerGitHub <noreply@github.com>
Fri, 13 Jan 2017 13:28:41 +0000 (14:28 +0100)
dnsdist: Add an option to 'mute' UDP responses per bind

1  2 
pdns/README-dnsdist.md
pdns/dnsdist-lua2.cc
pdns/dnsdist.cc
pdns/dnsdist.hh

Simple merge
Simple merge
diff --cc pdns/dnsdist.cc
index 676030a51fa9ada0a106f5ab0f77f04e09cc0de0,76b8543fd28df16be72704e09309e20c3f65765b..e68057ed62c1de8850a2d455edc29dcb0d6d3b79
@@@ -439,19 -425,22 +439,22 @@@ try 
        }
  
        if (ids->packetCache && !ids->skipCache) {
 -        ids->packetCache->insert(ids->cacheKey, ids->qname, ids->qtype, ids->qclass, response, responseLen, false, dh->rcode == RCode::ServFail);
 +        ids->packetCache->insert(ids->cacheKey, ids->qname, ids->qtype, ids->qclass, response, responseLen, false, dh->rcode);
        }
  
+       if (ids->cs && !ids->cs->muted) {
  #ifdef HAVE_DNSCRYPT
-       if (!encryptResponse(response, &responseLen, responseSize, false, ids->dnsCryptQuery)) {
-         continue;
-       }
+         if (!encryptResponse(response, &responseLen, responseSize, false, ids->dnsCryptQuery)) {
+           continue;
+         }
  #endif
-       ComboAddress empty;
-       empty.sin4.sin_family = 0;
-       /* if ids->destHarvested is false, origDest holds the listening address.
-          We don't want to use that as a source since it could be 0.0.0.0 for example. */
-       sendUDPResponse(origFD, response, responseLen, ids->delayMsec, ids->destHarvested ? ids->origDest : empty, ids->origRemote);
+         ComboAddress empty;
+         empty.sin4.sin_family = 0;
+         /* if ids->destHarvested is false, origDest holds the listening address.
+            We don't want to use that as a source since it could be 0.0.0.0 for example. */
+         sendUDPResponse(origFD, response, responseLen, ids->delayMsec, ids->destHarvested ? ids->origDest : empty, ids->origRemote);
+       }
  
        g_stats.responses++;
  
diff --cc pdns/dnsdist.hh
Simple merge