diff --git a/bin/tests/system/resolver/ans8/ans.pl b/bin/tests/system/resolver/ans8/ans.pl index 80e288219e..f8430098cd 100644 --- a/bin/tests/system/resolver/ans8/ans.pl +++ b/bin/tests/system/resolver/ans8/ans.pl @@ -76,18 +76,15 @@ sub handleUDP { return $packet->data; } - # Ensure the QUESTION section is empty in the response. - $packet->pop("question"); + # don't use Net::DNS to construct the header only reply as early + # versions just get it completely wrong. if ($qname eq "truncated.no-questions") { - $packet->header->tc(1); + # QR, AA, TC + return (pack("nnnnnn", $packet->header->id, 0x8600, 0, 0, 0, 0)); } - - # Net::DNS versions < 0.68 insert an ./ANY RR into the QUESTION section - # if the latter is empty. Make sure Net::DNS version does not - # influence the return value of this function by returning the query ID - # and flags generated by Net::DNS with 8 zero bytes appended. - return substr($packet->data, 0, 4) . "\x00" x 8; + # QR, AA + return (pack("nnnnnn", $packet->header->id, 0x8400, 0, 0, 0, 0)); } sub handleTCP {