mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-09 07:42:07 -04:00
use pack to construct the reply as Net::DNS just get it wrong
This commit is contained in:
parent
38f96de923
commit
feaf381adb
1 changed files with 6 additions and 9 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue