summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2019-12-05 11:27:06 -0500
committerMichael Orlitzky <mjo@gentoo.org>2019-12-05 11:27:23 -0500
commit1c9a0cc20a21ceefcca106c01c53b2a5cbafb7c5 (patch)
treea7417ea27c6284bcf2e6c8dd26f619ce738dcbbb /net-dns
parentsys-kernel/vanilla-sources: Automated version bump to {4.4.206,4.9.206,4.14.1... (diff)
downloadgentoo-1c9a0cc20a21ceefcca106c01c53b2a5cbafb7c5.tar.gz
gentoo-1c9a0cc20a21ceefcca106c01c53b2a5cbafb7c5.tar.bz2
gentoo-1c9a0cc20a21ceefcca106c01c53b2a5cbafb7c5.zip
net-dns/valtz: new revision with two more bugfix patches.
In Gentoo, we patch djbdns to support SRV records, and SRV records involve underscores. The release version of valtz supports neither the SRV record type nor the underscores used in them. This commit adds two more patches to correct that. Package-Manager: Portage-2.3.76, Repoman-2.3.16 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'net-dns')
-rw-r--r--net-dns/valtz/files/add-support-for-srv-records.patch83
-rw-r--r--net-dns/valtz/files/allow-underscores-in-records.patch48
-rw-r--r--net-dns/valtz/valtz-0.7-r3.ebuild (renamed from net-dns/valtz/valtz-0.7-r2.ebuild)4
3 files changed, 134 insertions, 1 deletions
diff --git a/net-dns/valtz/files/add-support-for-srv-records.patch b/net-dns/valtz/files/add-support-for-srv-records.patch
new file mode 100644
index 000000000000..f8b9435c2ba8
--- /dev/null
+++ b/net-dns/valtz/files/add-support-for-srv-records.patch
@@ -0,0 +1,83 @@
+From 9d29c28941ca629e223d0d4f20a833f10375d331 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 5 Dec 2019 10:28:40 -0500
+Subject: [PATCH 2/3] Add support for SRV records.
+
+There is a patch for djbdns that adds support for SRV records to both
+tinydns-data and axfr-get:
+
+ From: Michael Handler <handler@sub-rosa.com>
+ To: dns@list.cr.yp.to
+ Subject: tinydns-data SRV & axfr-get SRV/PTR patches
+ Date: Thu, 14 Sep 2000 20:37:50 -040
+
+Many distributions carry the patch, but valtz rejects the SRV records
+because it doesn't recognize the "S" indicator or know how to validate
+the port, weight, or priority fields.
+
+This commit adds support for the new record type, and adds validation
+routines for the three new fields. All of them are the same: ports,
+weights, and priorities are all integers between 0 and 65536.
+---
+ valtz | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+ mode change 100644 => 100755 valtz
+
+diff --git a/valtz b/valtz
+old mode 100644
+new mode 100755
+index eebda76..92aaa40
+--- a/valtz
++++ b/valtz
+@@ -100,6 +100,9 @@ my %token_name = (
+ 'min' => 'Minimum time',
+ 'n' => 'Record type number',
+ 'rdata' => 'Resource data',
++ 'port' => 'Port',
++ 'priority' => 'Priority',
++ 'weight' => 'Weight'
+ );
+
+ my %record_type = (
+@@ -114,6 +117,7 @@ my %record_type = (
+ "'" => 'TXT',
+ '^' => 'PTR',
+ 'C' => 'CNAME',
++ 'S' => 'SRV',
+ 'Z' => 'SOA',
+ ':' => 'GENERIC'
+ );
+@@ -131,6 +135,8 @@ my %line_type = (
+ "'" => [ 'TXT', 'fqdn:s:ttl:timestamp:lo', 'fqdn:s' ],
+ '^' => [ 'PTR', 'fqdn:p:ttl:timestamp:lo', 'fqdn:p' ],
+ 'C' => [ 'CNAME', 'fqdn:p:ttl:timestamp:lo', 'fqdn:p' ],
++ 'S' => [ 'SRV', 'fqdn:ip:x:port:weight:priority:ttl:timestamp:lo',
++ 'fqdn:x:port' ],
+ 'Z' => [ 'SOA', 'fqdn:mname:rname:ser:ref:ret:exp:min:ttl:timestamp:lo',
+ 'fqdn:mname:rname' ],
+ ':' => [ 'GENERIC', 'fqdn:n:rdata:ttl:timestamp:lo', 'fqdn:n:rdata' ]
+@@ -340,6 +346,21 @@ my %token_validator = (
+ # TODO : Validation needed?
+ my $result = 0;
+ return $result;
++ }],
++ 'port' => [ 21, sub {
++ my ($type, $s) = @_;
++ my $result = validate_integer($s, 65536);
++ return $result;
++ }],
++ 'priority' => [ 22, sub {
++ my ($type, $s) = @_;
++ my $result = validate_integer($s, 65536);
++ return $result;
++ }],
++ 'weight' => [ 23, sub {
++ my ($type, $s) = @_;
++ my $result = validate_integer($s, 65536);
++ return $result;
+ }],
+
+
+--
+2.23.0
+
diff --git a/net-dns/valtz/files/allow-underscores-in-records.patch b/net-dns/valtz/files/allow-underscores-in-records.patch
new file mode 100644
index 000000000000..b76b231e6f15
--- /dev/null
+++ b/net-dns/valtz/files/allow-underscores-in-records.patch
@@ -0,0 +1,48 @@
+From 7c5df8ad5c18a9f8b9440dbd1ae4faacf55b452a Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 5 Dec 2019 10:34:54 -0500
+Subject: [PATCH 1/3] Allow underscore characters in FQDNs and pointers.
+
+Modern DNS records can contain underscores for a number of reasons. In
+particular, DKIM records involve a "_domainkey" part,
+
+ https://tools.ietf.org/html/rfc6376
+
+that is rejected by the current "fqdn" and "p" validation routines.
+Moreover, any SRV records will have a service name prefixed with an
+underscore:
+
+ https://tools.ietf.org/html/rfc2782
+
+To recognize these tokens as valid, this commit expands the "fqdn" and
+"p" regular expressions to allow underscores as the first character in
+each component of an FQDN.
+---
+ valtz | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/valtz b/valtz
+index c68c120..eebda76 100644
+--- a/valtz
++++ b/valtz
+@@ -202,7 +202,7 @@ my %token_validator = (
+ # check all parts
+ for my $hostpart (split /\./, $s)
+ {
+- return 1005 unless $hostpart =~ /^[-a-z0-9]+$/i;
++ return 1005 unless $hostpart =~ /^_?[-a-z0-9]+$/i;
+ return 1006 if $hostpart =~ /^-/;
+ return 1007 if $hostpart =~ /-$/;
+ }
+@@ -268,7 +268,7 @@ my %token_validator = (
+ # check all parts
+ for (split /\./, $s)
+ {
+- return 1005 unless /^[-[a-z0-9]+$/i;
++ return 1005 unless /^_?[-[a-z0-9]+$/i;
+ return 1006 if /^-/;
+ return 1007 if /-$/;
+ }
+--
+2.23.0
+
diff --git a/net-dns/valtz/valtz-0.7-r2.ebuild b/net-dns/valtz/valtz-0.7-r3.ebuild
index 9c8e982dd0f0..002d679c03a7 100644
--- a/net-dns/valtz/valtz-0.7-r2.ebuild
+++ b/net-dns/valtz/valtz-0.7-r3.ebuild
@@ -14,7 +14,9 @@ IUSE=""
RDEPEND="dev-lang/perl"
-PATCHES=( "${FILESDIR}/fix-generic-records-support.patch" )
+PATCHES=( "${FILESDIR}/fix-generic-records-support.patch"
+ "${FILESDIR}/allow-underscores-in-records.patch"
+ "${FILESDIR}/add-support-for-srv-records.patch" )
src_install() {
dobin valtz