Control: tags 1117748 + patch Control: tags 1117748 + pending Dear maintainer,
I've prepared an NMU for gdnsd (versioned as 3.8.3-2.1) and uploaded it to DELAYED/14. Please feel free to tell me if I should cancel it. cu Adrian
diffstat for gdnsd-3.8.3 gdnsd-3.8.3 changelog | 8 patches/0001-testsuite-update-for-Net-DNS-1.53-breakage.patch | 349 ++++++++++ patches/series | 1 3 files changed, 358 insertions(+) diff -Nru gdnsd-3.8.3/debian/changelog gdnsd-3.8.3/debian/changelog --- gdnsd-3.8.3/debian/changelog 2025-02-16 12:02:23.000000000 +0200 +++ gdnsd-3.8.3/debian/changelog 2025-11-08 16:00:53.000000000 +0200 @@ -1,3 +1,11 @@ +gdnsd (3.8.3-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Backport upstream fix for test failures with Net::DNS 1.53. + (Closes: #1117748) + + -- Adrian Bunk <[email protected]> Sat, 08 Nov 2025 16:00:53 +0200 + gdnsd (3.8.3-2) unstable; urgency=medium * Backport upstream commit 4df9ddf to fix an Net::DNS 1.49 related testsuite diff -Nru gdnsd-3.8.3/debian/patches/0001-testsuite-update-for-Net-DNS-1.53-breakage.patch gdnsd-3.8.3/debian/patches/0001-testsuite-update-for-Net-DNS-1.53-breakage.patch --- gdnsd-3.8.3/debian/patches/0001-testsuite-update-for-Net-DNS-1.53-breakage.patch 1970-01-01 02:00:00.000000000 +0200 +++ gdnsd-3.8.3/debian/patches/0001-testsuite-update-for-Net-DNS-1.53-breakage.patch 2025-11-08 15:52:01.000000000 +0200 @@ -0,0 +1,349 @@ +From bf9682fbbd0ba5f1f3f4d9021f32bc05e2923f3c Mon Sep 17 00:00:00 2001 +From: Brandon L Black <[email protected]> +Date: Wed, 8 Oct 2025 13:33:32 -0500 +Subject: testsuite: update for Net::DNS 1.53 breakage + +It used to be the case that an undefined / unspecified DNS class +defaulted to "IN", now it doesn't, so we have to be explicit +everywhere. + +[backported from blblack/zigzag branch] +--- + t/003complex/005big.t | 2 ++ + t/003complex/008compress.t | 1 + + t/003complex/009broken.t | 4 ++++ + t/003complex/011random.t | 12 ++++++------ + t/003complex/012aaaa.t | 1 + + t/004misc/018misc.t | 18 ++++++++++-------- + t/004misc/019bad.t | 6 +++--- + t/005tld/020tld.t | 3 +++ + t/013clientsub/039clientsub.t | 1 + + t/021caa/047caa.t | 2 ++ + t/023cookies/050cookies.t | 1 + + t/024cookies_max/051cookies_max.t | 2 ++ + t/025nocookies/052nocookies.t | 2 ++ + t/_GDT.pm | 2 +- + 14 files changed, 39 insertions(+), 18 deletions(-) + +diff --git a/t/003complex/005big.t b/t/003complex/005big.t +index bac4b310..1b69964c 100644 +--- a/t/003complex/005big.t ++++ b/t/003complex/005big.t +@@ -7,6 +7,7 @@ my $pid = _GDT->test_spawn_daemon(); + + my $optrr = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -16,6 +17,7 @@ my $optrr = Net::DNS::RR->new( + + my $optrr_keepalive = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/003complex/008compress.t b/t/003complex/008compress.t +index e5df8aa6..63dc4a64 100644 +--- a/t/003complex/008compress.t ++++ b/t/003complex/008compress.t +@@ -71,6 +71,7 @@ my $compt_mxset = [ + + my $optrr = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/003complex/009broken.t b/t/003complex/009broken.t +index 9355af11..6fda2a7f 100644 +--- a/t/003complex/009broken.t ++++ b/t/003complex/009broken.t +@@ -81,6 +81,7 @@ _GDT->test_dns( + + my @edns_base = ( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -118,6 +119,7 @@ my @edns_base = ( + + my $optrr_resp = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -129,6 +131,7 @@ my $optrr_resp = Net::DNS::RR->new( + { + my $optrr_nsid = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -150,6 +153,7 @@ my $optrr_resp = Net::DNS::RR->new( + { + my $optrr_nsid_withdata = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/003complex/011random.t b/t/003complex/011random.t +index bfdd8880..7d0d0e3e 100644 +--- a/t/003complex/011random.t ++++ b/t/003complex/011random.t +@@ -119,10 +119,10 @@ foreach (1..$_GDT::RAND_LOOPS) { + + eval {_GDT->query_server( + undef, +- Net::DNS::Packet->new('foo.example.com', 'A'), ++ Net::DNS::Packet->new('foo.example.com', 'A', 'IN'), + _GDT->mkanswer({ }, +- Net::DNS::Question->new('foo.example.com', 'A'), +- [Net::DNS::rr_add('foo.example.com 21600 A 192.0.2.160')], [], [], ++ Net::DNS::Question->new('foo.example.com', 'A', 'IN'), ++ [Net::DNS::rr_add('foo.example.com 21600 IN A 192.0.2.160')], [], [], + ), + _GDT->get_resolver(), {}, + )}; +@@ -171,10 +171,10 @@ foreach (1..$_GDT::RAND_LOOPS) { + + eval {_GDT->query_server( + undef, +- Net::DNS::Packet->new('foo.example.com', 'A'), ++ Net::DNS::Packet->new('foo.example.com', 'A', 'IN'), + _GDT->mkanswer({ }, +- Net::DNS::Question->new('foo.example.com', 'A'), +- [Net::DNS::rr_add('foo.example.com 21600 A 192.0.2.160')], [], [], ++ Net::DNS::Question->new('foo.example.com', 'A', 'IN'), ++ [Net::DNS::rr_add('foo.example.com 21600 IN A 192.0.2.160')], [], [], + ), + _GDT->get_resolver(), {}, + )}; +diff --git a/t/003complex/012aaaa.t b/t/003complex/012aaaa.t +index 1c4143de..f2cf3106 100644 +--- a/t/003complex/012aaaa.t ++++ b/t/003complex/012aaaa.t +@@ -7,6 +7,7 @@ my $neg_soa = 'example.com 900 SOA ns1.example.com dns-admin.example.net 1 7200 + + my $optrr = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/004misc/018misc.t b/t/004misc/018misc.t +index c5290e78..b17bffc2 100644 +--- a/t/004misc/018misc.t ++++ b/t/004misc/018misc.t +@@ -9,6 +9,7 @@ use Test::More tests => 12; + + my $optrr = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -16,8 +17,8 @@ my $optrr = Net::DNS::RR->new( + flags => 0, + ); + +-my $long_rr = Net::DNS::rr_add('this.is.an.rr.thats.longer.than.an.opt.rr.in.order.to.make.coverage.work A 192.0.2.1'); +-my $long_root_rr = Net::DNS::rr_add('. MX 0 this.is.an.rr.thats.longer.than.an.opt.rr.in.order.to.make.coverage.work'); ++my $long_rr = Net::DNS::rr_add('this.is.an.rr.thats.longer.than.an.opt.rr.in.order.to.make.coverage.work IN A 192.0.2.1'); ++my $long_root_rr = Net::DNS::rr_add('. IN MX 0 this.is.an.rr.thats.longer.than.an.opt.rr.in.order.to.make.coverage.work'); + + my $pid = _GDT->test_spawn_daemon(); + +@@ -56,7 +57,7 @@ _GDT->test_dns( + + { + my $qpacket = Net::DNS::Packet->new(); +- $qpacket->push('question', Net::DNS::Question->new('foo.example.com', 'A')); ++ $qpacket->push('question', Net::DNS::Question->new('foo.example.com', 'A', 'IN')); + $qpacket->push('additional', $long_rr); + _GDT->test_dns( + qpacket => $qpacket, +@@ -66,7 +67,7 @@ _GDT->test_dns( + + { + my $qpacket = Net::DNS::Packet->new(); +- $qpacket->push('question', Net::DNS::Question->new('foo.example.com', 'A')); ++ $qpacket->push('question', Net::DNS::Question->new('foo.example.com', 'A', 'IN')); + $qpacket->push('additional', $long_root_rr); + _GDT->test_dns( + qpacket => $qpacket, +@@ -77,10 +78,10 @@ _GDT->test_dns( + # Try a bunch of records in all the non-question sections + { + my $qpacket = Net::DNS::Packet->new(); +- $qpacket->push('question', Net::DNS::Question->new('foo.example.com', 'A')); +- $qpacket->push('answer', Net::DNS::RR->new('. A 192.0.2.1')) for 1..15; +- $qpacket->push('auth', Net::DNS::RR->new('. AAAA ::192.0.2.1')) for 1..13; +- $qpacket->push('additional', Net::DNS::RR->new('. MX 0 192.0.2.1')) for 1..11; ++ $qpacket->push('question', Net::DNS::Question->new('foo.example.com', 'A', 'IN')); ++ $qpacket->push('answer', Net::DNS::RR->new('. IN A 192.0.2.1')) for 1..15; ++ $qpacket->push('auth', Net::DNS::RR->new('. IN AAAA ::192.0.2.1')) for 1..13; ++ $qpacket->push('additional', Net::DNS::RR->new('. IN MX 0 192.0.2.1')) for 1..11; + _GDT->test_dns( + resopts => { usevc => 0, igntc => 1, udppacketsize => 1024 }, + qpacket => $qpacket, +@@ -119,6 +120,7 @@ _GDT->test_dns( + { + my @optrr_do = ( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/004misc/019bad.t b/t/004misc/019bad.t +index 1757bf2b..26c9b765 100644 +--- a/t/004misc/019bad.t ++++ b/t/004misc/019bad.t +@@ -574,10 +574,10 @@ ok(!$@) or diag $@; + # Test a valid query to make sure the server is still functioning + eval {_GDT->query_server( + undef, +- Net::DNS::Packet->new('foo.example.com', 'A'), ++ Net::DNS::Packet->new('foo.example.com', 'A', 'IN'), + _GDT->mkanswer({ }, +- Net::DNS::Question->new('foo.example.com', 'A'), +- [Net::DNS::rr_add('foo.example.com 86400 A 192.0.2.3')], [], [], ++ Net::DNS::Question->new('foo.example.com', 'A', 'IN'), ++ [Net::DNS::rr_add('foo.example.com 86400 IN A 192.0.2.3')], [], [], + ), + _GDT->get_resolver(), {}, + )}; +diff --git a/t/005tld/020tld.t b/t/005tld/020tld.t +index b88246c6..3b93dda7 100644 +--- a/t/005tld/020tld.t ++++ b/t/005tld/020tld.t +@@ -6,6 +6,7 @@ use Test::More tests => 6; + + my $optrr_req_nsid = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -16,6 +17,7 @@ _GDT::optrr_option_set($optrr_req_nsid, 'NSID', ''); + + my $optrr_nsid = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -26,6 +28,7 @@ _GDT::optrr_option_set($optrr_nsid, 'NSID', pack('H*', '6578616D706C65')); + + my $optrr_nonsid = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/013clientsub/039clientsub.t b/t/013clientsub/039clientsub.t +index 4c9c4040..e2c17c28 100644 +--- a/t/013clientsub/039clientsub.t ++++ b/t/013clientsub/039clientsub.t +@@ -157,6 +157,7 @@ _GDT->test_dns( + + my @optrr_base = ( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/021caa/047caa.t b/t/021caa/047caa.t +index 531ab497..f6550be7 100644 +--- a/t/021caa/047caa.t ++++ b/t/021caa/047caa.t +@@ -5,6 +5,7 @@ my $pid = _GDT->test_spawn_daemon(); + + my $optrr_req_nsid = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 32000, +@@ -15,6 +16,7 @@ _GDT::optrr_option_set($optrr_req_nsid, 'NSID', ''); + + my $optrr_nsid = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/023cookies/050cookies.t b/t/023cookies/050cookies.t +index 820a24d8..2693b790 100644 +--- a/t/023cookies/050cookies.t ++++ b/t/023cookies/050cookies.t +@@ -9,6 +9,7 @@ sub _mk_optrr_cookie { + my $data = shift; + my $optrr_cookie = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/024cookies_max/051cookies_max.t b/t/024cookies_max/051cookies_max.t +index 4e874b15..dc85c3f4 100644 +--- a/t/024cookies_max/051cookies_max.t ++++ b/t/024cookies_max/051cookies_max.t +@@ -7,6 +7,7 @@ sub _mk_optrr_cookie { + my $data = shift; + my $optrr_cookie = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -80,6 +81,7 @@ foreach my $proto (qw/v4_only v6_only/) { + # still get a TC-bit. + my $optrr_plain_1k = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/025nocookies/052nocookies.t b/t/025nocookies/052nocookies.t +index e40c7563..c9049d6a 100644 +--- a/t/025nocookies/052nocookies.t ++++ b/t/025nocookies/052nocookies.t +@@ -7,6 +7,7 @@ sub _mk_optrr_cookie { + my $data = shift; + my $optrr_cookie = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +@@ -26,6 +27,7 @@ my $pid = _GDT->test_spawn_daemon(); + # Test that input cookies are basically ignored when config disables cookies + my $optrr_plain_1k = Net::DNS::RR->new( + type => "OPT", ++ class => 'IN', + version => 0, + name => "", + size => 1024, +diff --git a/t/_GDT.pm b/t/_GDT.pm +index 4e101be4..e38f30a7 100644 +--- a/t/_GDT.pm ++++ b/t/_GDT.pm +@@ -1133,7 +1133,7 @@ sub test_dns { + else { + $aref = $args{$sec}; + } +- map { if(!ref $aref->[$_]) { $aref->[$_] = Net::DNS::RR->new($aref->[$_]) } } (0..$#$aref); ++ map { if(!ref $aref->[$_]) { $aref->[$_] = Net::DNS::RR->new($aref->[$_]); $aref->[$_]->{class} ||= 1; } } (0..$#$aref); + } + + my $qpacket = $args{qpacket} || Net::DNS::Packet->new($args{qname}, $args{qtype}); +-- +2.30.2 + diff -Nru gdnsd-3.8.3/debian/patches/series gdnsd-3.8.3/debian/patches/series --- gdnsd-3.8.3/debian/patches/series 2025-02-16 12:00:47.000000000 +0200 +++ gdnsd-3.8.3/debian/patches/series 2025-11-08 16:00:53.000000000 +0200 @@ -1 +1,2 @@ tests-Fix-Net-DNS-1.49-testsuite-breakage.patch +0001-testsuite-update-for-Net-DNS-1.53-breakage.patch

