[dnssec-tools] update to Zonefile::Fast for misc bug fixes

Wes Hardaker hardaker at fedoraproject.org
Thu May 23 23:22:03 UTC 2013


commit fd383f1901be95395b409aa3c41d811f869c7b28
Author: Wes Hardaker <opensource at hardakers.net>
Date:   Thu May 23 16:06:46 2013 -0700

    update to Zonefile::Fast for misc bug fixes

 dnssec-tools-zonefile-fast-misc.patch |   82 +++++++++++++++++++++++++++++++++
 dnssec-tools.spec                     |    7 ++-
 2 files changed, 88 insertions(+), 1 deletions(-)
---
diff --git a/dnssec-tools-zonefile-fast-misc.patch b/dnssec-tools-zonefile-fast-misc.patch
new file mode 100644
index 0000000..acfec56
--- /dev/null
+++ b/dnssec-tools-zonefile-fast-misc.patch
@@ -0,0 +1,82 @@
+diff --git a/dnssec-tools/tools/modules/ZoneFile-Fast/Fast.pm b/dnssec-tools/tools/modules/ZoneFile-Fast/Fast.pm
+index 880d1a7..cc9c6d3 100644
+--- a/dnssec-tools/tools/modules/ZoneFile-Fast/Fast.pm
++++ b/dnssec-tools/tools/modules/ZoneFile-Fast/Fast.pm
+@@ -81,8 +81,8 @@ my $MAXIMUM_TTL = 0x7fffffff;
+ 
+ my $pat_ttl = qr{\d+[\dwdhms]*}i;
+ my $pat_skip = qr{\s*(?:;.*)?};
+-my $pat_name = qr{[-\*\w\$\d\/*]+(?:\.[-\*\w\$\d\/]+)*};
+-my $pat_maybefullnameorroot = qr{(?:\.|[-\w\$\d\/*]+(?:\.[-\w\$\d\/]+)*\.?)};
++my $pat_name = qr{(?:[-\*\w\$\d\/*]|\\[0-2]\d\d)+(?:\.(?:[-\*\w\$\d\/]|\\[0-2]\d\d)+)*};
++my $pat_maybefullnameorroot = qr{(?:\.|(?:[-\w\$\d\/*]|\\[0-2]\d\d)+(?:\.(?:[-\w\$\d\/]|\\[0-2]\d\d)+)*\.?)};
+ 
+ #
+ # Added the ability to have a backslash in the SOA username.  This is to
+@@ -90,7 +90,7 @@ my $pat_maybefullnameorroot = qr{(?:\.|[-\w\$\d\/*]+(?:\.[-\w\$\d\/]+)*\.?)};
+ # dots in usernames.  Keeping the original version here for easy reference.
+ #
+ # my $pat_maybefullname = qr{[-\w\$\d\/*]+(?:\.[-\w\$\d\/]+)*\.?};
+-my $pat_maybefullname   = qr{[-\+\w\$\d\/*\\]+(?:\.[-\+\w\$\d\/]+)*\.?};
++my $pat_maybefullname   = qr{(?:[-\+\w\$\d\/*\\]|\\[0-2]\d\d)+(?:\.(?:[-\+\w\$\d\/]|\\[0-2]\d\d)+)*\.?};
+ 
+ my $debug;
+ my $domain;
+@@ -983,7 +983,7 @@ sub parse_line
+       } elsif (/\G(nsec3)[ \t]+/igc) {
+ 	  error ("You are missing required modules for NSEC3 support")
+ 	    if (!$nsec3capable);
+-          if (/\G\s*(\d+)\s+(\d+)\s+(\d+)\s+([-0-9A-Fa-f]+)\s+($pat_maybefullname)\s+(.*?)$pat_skip$/gc) {
++          if (/\G\s*(\d+)\s+(\d+)\s+(\d+)\s+([-0-9A-Fa-f]+)\s+($pat_maybefullname)\s*(.*?)$pat_skip$/gc) {
+               # XXX: set the typebm field ourselves?
+               my ($alg, $flags, $iters, $salt, $nxthash, $typelist) =
+                 ($1, $2, $3, $4, $5, $6);
+@@ -1335,7 +1335,7 @@ sub parse_tlsa
+ sub parse_nsec3
+   {
+       #got more data
+-      if ( /\G\s*((\w+\s+)+)\)\s*$/) {
++      if ( /\G\s*((\w+\s+)*)\)\s*$/) {
+          my $typelist = $1;
+ 	 $typelist = join(" ",sort split(/\s+/,$typelist));
+          $nsec3->{ 'typelist' } = $typelist;
+diff --git a/dnssec-tools/tools/modules/ZoneFile-Fast/t/rr-dnssec.t b/dnssec-tools/tools/modules/ZoneFile-Fast/t/rr-dnssec.t
+index ef050de..a87b957 100644
+--- a/dnssec-tools/tools/modules/ZoneFile-Fast/t/rr-dnssec.t
++++ b/dnssec-tools/tools/modules/ZoneFile-Fast/t/rr-dnssec.t
+@@ -1,4 +1,4 @@
+-# This is -*- perl -*-
++ # This is -*- perl -*-
+ 
+ use Net::DNS::ZoneFile::Fast;
+ 
+@@ -29,11 +29,16 @@ BEGIN {
+ 
+ # failing oddly during text compare.  spacing is different.
+ 	 q{nospace.dnssec-tools.org. 86400   RRSIG   SOA 5 2 86400 20060429134027 20060330134027 42869 dnssec-tools.org. QZzAz5sVC5+n7vJhkXfFaN/sdjKXVpT/nv22 NJI+sDde180Sj1pDXW6mFt+Efg4uUAuyLQup jLv20EVM8/oBPA7DjNu2CZHGe8UDeuAoqIth Q/79Ltw4NtP7W1zWAs/ms/oSKiKYrAUHqt0U UskiXkCA1GKn6RNqVT4+IuSUgALLYSMLjlaA 2kE/KaffqeGnynIO2AC5BMFzUlxCSMDSxus3 bJm2xAIxMiUYomw9XfbGfrkCtfIrH+H/LVG/ X2K/kKxjcFcQhkukMUxjzzmAP3xJHq6vgwVM tpm/qaR0g5jH5B46iJefGYzwcMAyexbLOQEW uv1Xs6i/lBwQo9T7xw= },
+-	 q{dnssec-tools.org. 10800   NSEC cvs.dnssec-tools.org A DNSKEY MX NS NSEC RRSIG SOA TXT},
++	 q{dnssec-tools.org. 10800   NSEC cvs.dnssec-tools.org. A DNSKEY MX NS NSEC RRSIG SOA TXT},
++	 q{dnssec-tools.org. 10800   NSEC mor\145text.dnssec-tools.org. CNAME RRSIG NSEC},
+ 	 q{THA2IPMDLT9RU307BO9LQ6MF5K565A6M.example.com. 10800 IN NSEC3 1 0 100 610b88f0d9f42c74 QIVB7DNNE2T5J9HLI4FRE9PN61F754CK A RRSIG},
+ 	 q{THA2IPMDLT9RU307BO9LQ6MF5K565A6M.example.com. 10800 IN NSEC3 1 0 100 610b88f0d9f42c74 (
+  QIVB7DNNE2T5J9HLI4FRE9PN61F754CK
+  A RRSIG )},
++	 q{THA2IPMDLT9RU307BO9LQ6MF5K565A6M.example.com. 10800 IN NSEC3 1 0 100 610b88f0d9f42c74 QIVB7DNNE2T5J9HLI4FRE9PN61F754CK},
++	 q{THA2IPMDLT9RU307BO9LQ6MF5K565A6M.example.com. 10800 IN NSEC3 1 0 100 610b88f0d9f42c74 (
++ QIVB7DNNE2T5J9HLI4FRE9PN61F754CK
++ )},
+ 
+ 	 q{example.com		0	NSEC3PARAM 1 0 100 610b88f0d9f42c74},
+ 
+diff --git a/dnssec-tools/tools/modules/ZoneFile-Fast/t/rrs.t b/dnssec-tools/tools/modules/ZoneFile-Fast/t/rrs.t
+index 768950d..2539b1c 100644
+--- a/dnssec-tools/tools/modules/ZoneFile-Fast/t/rrs.t
++++ b/dnssec-tools/tools/modules/ZoneFile-Fast/t/rrs.t
+@@ -36,6 +36,7 @@ BEGIN {
+ 	 q{* IN A 1.2.3.4},
+ 	 q{* 10 IN A 1.2.3.4},
+ #	 q{* IN 10 A 1.2.3.4},   XXX newer Net::DNS does not like this syntax
++	 q{fo\157.acme.com. 10 IN A 1.2.3.4},
+ 	 q{acme.com. 200 IN MX 10 mailhost.acme.com.},
+ 	 q{acme.com. 200 IN MX 10 .},
+ 	 q{acme.com. IN MX 10 mailhost.acme.com.},
diff --git a/dnssec-tools.spec b/dnssec-tools.spec
index 96977be..4df0c71 100644
--- a/dnssec-tools.spec
+++ b/dnssec-tools.spec
@@ -1,7 +1,7 @@
 Summary: A suite of tools for managing dnssec aware DNS usage
 Name: dnssec-tools
 Version: 2.0
-Release: 4%{?dist}
+Release: 5%{?dist}
 License: BSD
 Group: System Environment/Base
 URL: http://www.dnssec-tools.org/
@@ -21,6 +21,7 @@ Patch5: dnssec-tools-linux-conf-paths-1.13.patch
 Patch6: dnssec-tools-zonefile-fast-new-bind-1.13.patch
 Patch12: dnssec-tools-zonefile-fast-nsec3-1.20.patch
 Patch13: dnssec-tools-2.0-autoconf-for-aarch64.patch
+Patch14: dnssec-tools-zonefile-fast-misc.patch
 
 %description
 
@@ -62,6 +63,7 @@ C-based libraries useful for developing dnssec aware tools.
 #%patch6 -p2
 %patch12 -p2
 %patch13 -p2
+%patch14 -p2
 
 %build
 %configure --with-validator-testcases-file=%{_datadir}/dnssec-tools/validator-testcases --with-perl-build-args="INSTALLDIRS=vendor OPTIMIZE='$RPM_OPT_FLAGS'" --sysconfdir=/etc --with-root-hints=/etc/dnssec-tools/root.hints --with-resolv-conf=/etc/dnssec-tools/resolv.conf --disable-static --with-nsec3 --with-ipv6 --with-dlv --disable-bind-checks
@@ -339,6 +341,9 @@ rm -rf %{buildroot}
 %{_mandir}/man3/val_freeaddrinfo.3.gz
 
 %changelog
+* Thu May 23 2013 Wes Hardaker <wjhns174 at hardakers.net> - 2.0-5
+- Added a fix for various Zonefile::Fast bugs
+
 * Thu Apr 18 2013 Wes Hardaker <wjhns174 at hardakers.net> - 2.0-4
 - update configure from autoconf 2.69 for aarch64 support
 


More information about the scm-commits mailing list