]> 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:49:02 +0000 (13:49 +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 6f84d7a5251d75a32c0c49d8fcf6e9260f11bddc..9825c570f5429637988e519e83c8f98477ab595b 100755 (executable)
@@ -32,6 +32,6 @@ cat $infile $keyname1.key $keyname2.key >$zonefile
 $SIGNER -r $RANDFILE -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"