]> granicus.if.org Git - pdns/commitdiff
actually truncate truncated responses; fixes #6912
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Fri, 31 Aug 2018 20:41:21 +0000 (22:41 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Fri, 31 Aug 2018 21:03:08 +0000 (23:03 +0200)
pdns/dnspacket.cc
regression-tests/tests/too-big-for-udp-query/expected_result

index c7c1d486f431a074776b754005276d1abc67ce03..b5fcdb51c12f35651d1ef5ceac919bb9d00f0cfe 100644 (file)
@@ -319,6 +319,7 @@ void DNSPacket::wrapup()
         if(pw.size() + 20U > (d_tcp ? 65535 : getMaxReplyLen())) { // 20 = room for EDNS0
           pw.rollback();
           if(pos->dr.d_place == DNSResourceRecord::ANSWER || pos->dr.d_place == DNSResourceRecord::AUTHORITY) {
+            pw.truncate();
             pw.getHeader()->tc=1;
           }
           goto noCommit;
index 96f7bf9a306f39846afa516835a69520ccb89091..c45a3aa2e530c7eebfb3b3f48d8ca1a2a9320dde 100644 (file)
@@ -1,30 +1,2 @@
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
-0      toomuchinfo-b.example.com.      IN      A       120     192.168.99.
 Rcode: 0 (No Error), RD: 0, QR: 1, TC: 1, AA: 1, opcode: 0
 Reply to question for qname='toomuchinfo-b.example.com.', qtype=A