]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix a Net::DNS version quirk in the "resolver" system test
authorMichał Kępień <michal@isc.org>
Mon, 9 Jul 2018 10:57:23 +0000 (12:57 +0200)
committerMichał Kępień <michal@isc.org>
Tue, 10 Jul 2018 12:53:29 +0000 (14:53 +0200)
Net::DNS versions older than 0.68 insert a ./ANY RR into the QUESTION
section if the latter is empty.  Since the latest Net::DNS version
available with stock RHEL/CentOS 6 packages is 0.65 and we officially
support that operating system, bin/tests/system/resolver/ans8/ans.pl
should behave consistently for various Net::DNS versions.  Ensure that
by making handleUDP() return the query ID and flags generated by
Net::DNS with 8 zero bytes appended.

bin/tests/system/resolver/ans8/ans.pl

index a1a092a1ef36d7a1d27951c57a0812d9c6a2ceb4..948859d69854e5c23cd3aa0a51891be17053b449 100644 (file)
@@ -73,7 +73,11 @@ sub handleUDP {
                $packet->header->tc(0);
        }
 
-       return $packet->data;
+       # 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;
 }
 
 sub handleTCP {