Package: dnssec-tools Version: 1.7-3 Severity: normal File: /usr/share/perl5/Net/DNS/ZoneFile/Fast.pm Tags: patch
When donuts uses Net::DNS::ZoneFile::Fast.pm to parse zone files, it fails to parse valid RP records having "." in the txt-dname field. It generates error messages of the form: bad txtdname in PTR, line 391 This is also misleading because it has nothing to do with PTR records. The attached patch attempts to correct this problem so the RRs are parsed correctly, and also fixes the error messages. -- System Information: Debian Release: 6.0.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-openvz-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages dnssec-tools depends on: ii bind9utils 1:9.7.3.dfsg-1~squeeze4 Utilities for BIND ii libnet-dns-perl 0.66-2 Perform DNS queries from a Perl sc ii libnet-dns-sec-p 0.16-1 DNSSEC extension to NET::DNS ii libtimedate-perl 1.2000-1 collection of modules to manipulat ii perl 5.10.1-17squeeze3 Larry Wall's Practical Extraction Versions of packages dnssec-tools recommends: ii bind9 1:9.7.3.dfsg-1~squeeze4 Internet Domain Name Server dnssec-tools suggests no packages. -- no debconf information
--- Fast.pm.old 2012-02-18 21:20:40.000000000 -0800 +++ Fast.pm 2012-02-18 21:23:50.000000000 -0800 @@ -902,11 +902,11 @@ $mbox =~ s/^.// unless $mbox eq "."; chop $mbox; } else { - error("bad mbox in PTR"); + error("bad mbox in RP"); } my $txtdname; - if (/\G($pat_maybefullname)$pat_skip$/gc) { + if (/\G($pat_maybefullnameorroot)$pat_skip$/gc) { $txtdname = $1; $txtdname = "$txtdname$origin" unless $txtdname =~ /\.$/; chop $txtdname; @@ -915,7 +915,7 @@ $txtdname =~ s/^.// unless $txtdname eq "."; chop $txtdname; } else { - error("bad txtdname in PTR"); + error("bad txtdname in RP"); } push @zone, {