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 {