Commit feaf381a authored by Mark Andrews's avatar Mark Andrews Committed by Witold Krecicki

use pack to construct the reply as Net::DNS just get it wrong

parent 38f96de9
Pipeline #4551 passed with stages
in 8 minutes and 11 seconds
......@@ -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 {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment