use pack to construct the reply as Net::DNS just get it wrong
This commit is contained in:
committed by
Witold Krecicki
parent
38f96de923
commit
feaf381adb
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user