summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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