]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix regex used for mangling druz/DNSKEY
authorMichał Kępień <michal@isc.org>
Fri, 8 Mar 2019 12:47:13 +0000 (13:47 +0100)
committerMichał Kępień <michal@isc.org>
Fri, 8 Mar 2019 12:48:39 +0000 (13:48 +0100)
During "dlv" system test setup, the "sed" regex used for mangling the
DNSKEY RRset for the "druz" zone does not include the plus sign ("+"),
which may:

  - cause the replacement to happen near the end of DNSKEY RDATA, which
    can cause the latter to become an invalid Base64 string,

  - prevent the replacement from being performed altogether.

Both cases prevent the "dlv" system test from behaving as intended and
may trigger false positives.  Add the missing character to the
aforementioned regex to ensure the replacement is always performed on
bytes 10-25 of DNSKEY RDATA.

(cherry picked from commit fd13fef2999767e71e4aa4847023efac20f3e789)

bin/tests/system/dlv/ns2/sign.sh

index 5c344188955d0f5443a1fe9c3dfedb90d02149ae..8367725735008e6475621ae4b94067d6ae3f00b6 100755 (executable)
@@ -32,6 +32,6 @@ cat $infile $keyname1.key $keyname2.key >$zonefile
 $SIGNER -l $dlvzone -g -o $zone -f $outfile $zonefile > /dev/null 2> signer.err || cat signer.err
 
 $CHECKZONE -q -D -i none druz druz.pre |
-sed '/IN DNSKEY/s/\([a-z0-9A-Z/]\{10\}\)[a-z0-9A-Z/]\{16\}/\1XXXXXXXXXXXXXXXX/'> druz.signed
+sed '/IN DNSKEY/s/\([a-z0-9A-Z+/]\{10\}\)[a-z0-9A-Z+/]\{16\}/\1XXXXXXXXXXXXXXXX/'> druz.signed
 
 echo_i "signed $zone"