Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Net-DNS for openSUSE:Factory checked in at 2026-06-15 19:40:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Net-DNS (Old) and /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.1981 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Net-DNS" Mon Jun 15 19:40:08 2026 rev:84 rq:1359243 version:1.550.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Net-DNS/perl-Net-DNS.changes 2026-01-26 10:56:47.844156827 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.1981/perl-Net-DNS.changes 2026-06-15 19:41:40.346960363 +0200 @@ -1,0 +2,6 @@ +Thu Jun 11 23:39:58 UTC 2026 - Tina Müller <[email protected]> + +- updated to 1.550.0 (1.55) + see /usr/share/doc/packages/perl-Net-DNS/Changes + +------------------------------------------------------------------- Old: ---- Net-DNS-1.54.tar.gz New: ---- Net-DNS-1.55.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Net-DNS.spec ++++++ --- /var/tmp/diff_new_pack.EAcLcH/_old 2026-06-15 19:41:41.246998078 +0200 +++ /var/tmp/diff_new_pack.EAcLcH/_new 2026-06-15 19:41:41.250998245 +0200 @@ -18,10 +18,10 @@ %define cpan_name Net-DNS Name: perl-Net-DNS -Version: 1.540.0 +Version: 1.550.0 Release: 0 -# 1.54 -> normalize -> 1.540.0 -%define cpan_version 1.54 +# 1.55 -> normalize -> 1.550.0 +%define cpan_version 1.55 License: MIT Summary: Perl Interface to the Domain Name System URL: https://metacpan.org/release/%{cpan_name} @@ -83,7 +83,7 @@ Provides: perl(Net::DNS::Mailbox2535) Provides: perl(Net::DNS::Nameserver) = 2002.0.0 Provides: perl(Net::DNS::Packet) = 2003.0.0 -Provides: perl(Net::DNS::Parameters) = 2043.0.0 +Provides: perl(Net::DNS::Parameters) = 2046.0.0 Provides: perl(Net::DNS::Question) = 2002.0.0 Provides: perl(Net::DNS::RR) = 2037.0.0 Provides: perl(Net::DNS::RR::A) = 2003.0.0 @@ -98,8 +98,7 @@ Provides: perl(Net::DNS::RR::CERT) = 2042.0.0 Provides: perl(Net::DNS::RR::CNAME) = 2003.0.0 Provides: perl(Net::DNS::RR::CSYNC) = 2003.0.0 -Provides: perl(Net::DNS::RR::DELEG) = 2043.0.0 -Provides: perl(Net::DNS::RR::DELEGI) = 2043.0.0 +Provides: perl(Net::DNS::RR::DELEG) = 2046.0.0 Provides: perl(Net::DNS::RR::DHCID) = 2003.0.0 Provides: perl(Net::DNS::RR::DNAME) = 2003.0.0 Provides: perl(Net::DNS::RR::DNSKEY) = 2042.0.0 @@ -168,10 +167,10 @@ Provides: perl(Net::DNS::RR::X25) = 2002.0.0 Provides: perl(Net::DNS::RR::ZONEMD) = 2003.0.0 Provides: perl(Net::DNS::Resolver) = 2017.0.0 -Provides: perl(Net::DNS::Resolver::Base) = 2031.0.0 +Provides: perl(Net::DNS::Resolver::Base) = 2049.0.0 Provides: perl(Net::DNS::Resolver::MSWin32) = 2002.0.0 Provides: perl(Net::DNS::Resolver::Recurse) = 2002.0.0 -Provides: perl(Net::DNS::Resolver::UNIX) = 2007.0.0 +Provides: perl(Net::DNS::Resolver::UNIX) = 2046.0.0 Provides: perl(Net::DNS::Resolver::android) = 2007.0.0 Provides: perl(Net::DNS::Resolver::cygwin) = 2002.0.0 Provides: perl(Net::DNS::Resolver::os2) = 2007.0.0 ++++++ Net-DNS-1.54.tar.gz -> Net-DNS-1.55.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/Changes new/Net-DNS-1.55/Changes --- old/Net-DNS-1.54/Changes 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/Changes 2026-06-11 16:08:47.000000000 +0200 @@ -1,11 +1,24 @@ -$Id: Changes 2045 2026-01-16 12:30:12Z willem $ -*-text-*- +$Id: Changes 2052 2026-06-11 14:08:37Z willem $ -*-text-*- + + +**** 1.55 Jun 11, 2026 + + Fix UDP truncation tests which relied on large RSA RRSIGs. + +Fix rt.cpan.org #178183 + Unhelpful TAINT error + +Fix rt.cpan.org #177003 + TCP read loop treats 1-byte recv() of "0" (0x30) as EOF, corrupting AXFRs + +Fix rt.cpan.org #176900 + UNIX.pm: avoid `backticks` which depends on shell **** 1.54 Jan 16, 2026 Resync with IANA DNS parameters registry. Resync with IANA DNSSEC algorithms registry. - Implement DELEGI as derived subtype of DELEG RR. Backport DELEG parser to SVCB. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/MANIFEST new/Net-DNS-1.55/MANIFEST --- old/Net-DNS-1.54/MANIFEST 2026-01-16 13:30:53.000000000 +0100 +++ new/Net-DNS-1.55/MANIFEST 2026-06-11 16:08:56.000000000 +0200 @@ -45,7 +45,6 @@ lib/Net/DNS/RR/CNAME.pm lib/Net/DNS/RR/CSYNC.pm lib/Net/DNS/RR/DELEG.pm -lib/Net/DNS/RR/DELEGI.pm lib/Net/DNS/RR/DHCID.pm lib/Net/DNS/RR/DNAME.pm lib/Net/DNS/RR/DNSKEY.pm diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/META.json new/Net-DNS-1.55/META.json --- old/Net-DNS-1.54/META.json 2026-01-16 13:30:53.000000000 +0100 +++ new/Net-DNS-1.55/META.json 2026-06-11 16:08:56.000000000 +0200 @@ -79,6 +79,6 @@ } }, "release_status" : "stable", - "version" : "1.54", + "version" : "1.55", "x_serialization_backend" : "JSON::PP version 4.16" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/META.yml new/Net-DNS-1.55/META.yml --- old/Net-DNS-1.54/META.yml 2026-01-16 13:30:52.000000000 +0100 +++ new/Net-DNS-1.55/META.yml 2026-06-11 16:08:56.000000000 +0200 @@ -55,5 +55,5 @@ perl: '5.008009' strict: '1.03' warnings: '1.0501' -version: '1.54' +version: '1.55' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/lib/Net/DNS/Parameters.pm new/Net-DNS-1.55/lib/Net/DNS/Parameters.pm --- old/Net-DNS-1.54/lib/Net/DNS/Parameters.pm 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/lib/Net/DNS/Parameters.pm 2026-06-11 16:08:47.000000000 +0200 @@ -3,13 +3,13 @@ ################################################ ## ## Domain Name System (DNS) Parameters -## (last updated 2025-12-29) +## (last updated 2026-04-28) ## ################################################ use strict; use warnings; -our $VERSION = (qw$Id: Parameters.pm 2043 2026-01-14 13:35:59Z willem $)[2]; +our $VERSION = (qw$Id: Parameters.pm 2046 2026-06-01 13:23:01Z willem $)[2]; use integer; use Carp; @@ -52,6 +52,7 @@ my @typebyname = ( DELEG => 65432, # draft-ietf-deleg-02 DELEG => 61440, # draft-ietf-deleg-03 + DELEGPARAM => 65433, # draft-ietf-deleg-07 DELEGI => 65433, # draft-ietf-deleg-03 A => 1, # RFC1035 NS => 2, # RFC1035 @@ -202,28 +203,32 @@ # Registry: DNS EDNS0 Option Codes (OPT) my @ednsoptionbyname = ( - LLQ => 1, # RFC8764 - 'UPDATE-LEASE' => 2, # RFC9664 - NSID => 3, # RFC5001 - DAU => 5, # RFC6975 - DHU => 6, # RFC6975 - N3U => 7, # RFC6975 - 'CLIENT-SUBNET' => 8, # RFC7871 - EXPIRE => 9, # RFC7314 - COOKIE => 10, # RFC7873 - 'TCP-KEEPALIVE' => 11, # RFC7828 - PADDING => 12, # RFC7830 - CHAIN => 13, # RFC7901 - 'KEY-TAG' => 14, # RFC8145 - 'EXTENDED-ERROR' => 15, # RFC8914 - 'CLIENT-TAG' => 16, # draft-bellis-dnsop-edns-tags-01 - 'SERVER-TAG' => 17, # draft-bellis-dnsop-edns-tags-01 - 'REPORT-CHANNEL' => 18, # RFC9567 - ZONEVERSION => 19, # RFC9660 - 'MQTYPE-QUERY' => 20, # draft-ietf-dnssd-multi-qtypes-07 - 'MQTYPE-RESPONSE' => 21, # draft-ietf-dnssd-multi-qtypes-07 - 'UMBRELLA-IDENT' => 20292, # https://developer.cisco.com/docs/cloud-security/#!integrating-network-devic - DEVICEID => 26946, # https://developer.cisco.com/docs/cloud-security/#!network-devices-getting-s + LLQ => 1, # RFC8764 + 'UPDATE-LEASE' => 2, # RFC9664 + NSID => 3, # RFC5001 + DAU => 5, # RFC6975 + DHU => 6, # RFC6975 + N3U => 7, # RFC6975 + 'CLIENT-SUBNET' => 8, # RFC7871 + EXPIRE => 9, # RFC7314 + COOKIE => 10, # RFC7873 + 'TCP-KEEPALIVE' => 11, # RFC7828 + PADDING => 12, # RFC7830 + CHAIN => 13, # RFC7901 + 'KEY-TAG' => 14, # RFC8145 + 'EXTENDED-ERROR' => 15, # RFC8914 + 'CLIENT-TAG' => 16, # draft-bellis-dnsop-edns-tags-01 + 'SERVER-TAG' => 17, # draft-bellis-dnsop-edns-tags-01 + 'REPORT-CHANNEL' => 18, # RFC9567 + ZONEVERSION => 19, # RFC9660 + 'MQTYPE-QUERY' => 20, # RFC-ietf-dnssd-multi-qtypes-14 + 'MQTYPE-RESPONSE' => 21, # RFC-ietf-dnssd-multi-qtypes-14 + 'EDE-EXTRA-TEXT-LANGUAGE' => 22, # draft-muks-dns-filtering-05 + 'FILTERING-CONTACT' => 23, # draft-muks-dns-filtering-05 + 'FILTERING-ORGANIZATION' => 24, # draft-muks-dns-filtering-05 + 'FILTERING-DB' => 25, # draft-muks-dns-filtering-05 + 'UMBRELLA-IDENT' => 20292, # https://developer.cisco.com/docs/cloud-security/#!integrating-network-devic + DEVICEID => 26946, # https://developer.cisco.com/docs/cloud-security/#!network-devices-getting-s ); our %ednsoptionbyval = reverse @ednsoptionbyname; push @ednsoptionbyname, map { /^\d/ ? $_ : lc($_) } @ednsoptionbyname; @@ -300,6 +305,8 @@ 28 => 'Unable to conform to policy', # draft-homburg-dnsop-codcp-00 29 => 'Synthesized', # https://github.com/PowerDNS/pdns/pull/12334 30 => 'Invalid Query Type', # RFC9824 + 31 => 'Rate Limited', # draft-muks-dns-ede-rate-limited-02 + 32 => 'Over Quota', # draft-muks-dns-ede-rate-limited-02 ); our %dnserrorbyval = @dnserrorbyval; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/lib/Net/DNS/RR/DELEG.pm new/Net-DNS-1.55/lib/Net/DNS/RR/DELEG.pm --- old/Net-DNS-1.54/lib/Net/DNS/RR/DELEG.pm 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/lib/Net/DNS/RR/DELEG.pm 2026-06-11 16:08:47.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: DELEG.pm 2043 2026-01-14 13:35:59Z willem $)[2]; +our $VERSION = (qw$Id: DELEG.pm 2046 2026-06-01 13:23:01Z willem $)[2]; use base qw(Net::DNS::RR); @@ -25,7 +25,7 @@ 1 => 'server-ipv4', 2 => 'server-ipv6', 3 => 'server-name', - 4 => 'include-delegi', + 4 => 'include-delegparam', ); my %keybyname = reverse %keybycode; @@ -74,6 +74,7 @@ my $val = shift @parameters; if ( my $name = $keybycode{$key} ) { my @val = grep {length} $self->$name; + s/,/\\,/g foreach @val; # escape embedded commas my @rhs = grep {length} join ',', @val; push @rdata, join '=', $name, @rhs; } else { @@ -169,7 +170,7 @@ return _list( map { $_->fqdn } @value ); } -sub include_delegi { ## include-delegi=devolved.example +sub include_delegparam { ## include-delegparam=provider.example my ( $self, @value ) = @_; return $self->_parameter( 4, _domain(@value) ) if @value; my $packed = $self->_parameter(4) || return; @@ -288,7 +289,7 @@ $rr = Net::DNS::RR->new('zone DELEG server-ipv4=192.0.2.1 ...'); $rr = Net::DNS::RR->new('zone DELEG server-ipv6=2001:db8::53 ...'); $rr = Net::DNS::RR->new('zone DELEG server-name=nameserver.example ...'); - $rr = Net::DNS::RR->new('zone DELEG include-delegi=devolved.example'); + $rr = Net::DNS::RR->new('zone DELEG include-delegparam=provider.example'); =head1 DESCRIPTION @@ -335,10 +336,10 @@ Returns the nameserver domain name or the undefined value if not specified. -=head2 include_delegi +=head2 include_delegparam - eg.example. DELEG include-delegi=devolved.example. - $destination = $rr->include_delegi; + eg.example. DELEG include-delegparam=provider.example. + $destination = $rr->include_delegparam; Specifies the location of a devolved nameserver configuration. @@ -347,7 +348,7 @@ =head1 COPYRIGHT -Copyright (c)2025 Dick Franks. +Copyright (c)2025-2026 Dick Franks. All rights reserved. @@ -376,6 +377,6 @@ =head1 SEE ALSO L<perl> L<Net::DNS> L<Net::DNS::RR> -draft-ietf-deleg-06 +draft-ietf-deleg-08 =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/lib/Net/DNS/RR/DELEGI.pm new/Net-DNS-1.55/lib/Net/DNS/RR/DELEGI.pm --- old/Net-DNS-1.54/lib/Net/DNS/RR/DELEGI.pm 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/lib/Net/DNS/RR/DELEGI.pm 1970-01-01 01:00:00.000000000 +0100 @@ -1,77 +0,0 @@ -package Net::DNS::RR::DELEGI; - -use strict; -use warnings; -our $VERSION = (qw$Id: DELEGI.pm 2043 2026-01-14 13:35:59Z willem $)[2]; - -use base qw(Net::DNS::RR::DELEG); - - -=head1 NAME - -Net::DNS::RR::DELEGI - DNS DELEGI resource record - -=cut - - -1; -__END__ - - -=head1 SYNOPSIS - - use Net::DNS; - -=head1 DESCRIPTION - -Extensible DNS delegation information. - -This is a clone of the DELEG record and inherits all properties of -the Net::DNS::RR::DELEG class. - -Please see the L<Net::DNS::RR::DELEG> documentation for details. - -=head1 METHODS - -The available methods are those inherited from the base class augmented -by the type-specific methods defined in this package. - -Use of undocumented package features or direct access to internal data -structures is discouraged and could result in program termination or -other unpredictable behaviour. - - - -=head1 COPYRIGHT - -Copyright (c)2026 Dick Franks. - -All rights reserved. - -Package template (c)2009,2012 O.M.Kolkman and R.W.Franks. - - -=head1 LICENSE - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided -that the original copyright notices appear in all copies and that both -copyright notice and this permission notice appear in supporting -documentation, and that the name of the author not be used in advertising -or publicity pertaining to distribution of the software without specific -prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - - -=head1 SEE ALSO - -L<perl> L<Net::DNS> L<Net::DNS::RR> - -=cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/lib/Net/DNS/Resolver/Base.pm new/Net-DNS-1.55/lib/Net/DNS/Resolver/Base.pm --- old/Net-DNS-1.54/lib/Net/DNS/Resolver/Base.pm 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/lib/Net/DNS/Resolver/Base.pm 2026-06-11 16:08:47.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: Base.pm 2031 2025-07-28 13:52:18Z willem $)[2]; +our $VERSION = (qw$Id: Base.pm 2049 2026-06-08 10:44:36Z willem $)[2]; # @@ -42,8 +42,8 @@ # Allow taint tests to be optimised away when appropriate. -use constant TAINT => eval { ${^TAINT} }; -use constant TESTS => TAINT && defined eval { require Scalar::Util; }; +use constant TFLAG => eval { ${^TAINT} }; +use constant TAINT => TFLAG && defined eval { require Scalar::Util; }; use integer; @@ -515,10 +515,6 @@ $socket->send( $query_data, 0, $sockaddr ); $self->errorstring( $$ns[3] = $! ); - # handle failure to detect taint inside socket->send() - die 'Insecure dependency while running with -T switch' - if TESTS && Scalar::Util::tainted($sockaddr); - my $reply; while ( my @ready = $select->can_read($timeout) ) { my $socket = shift @ready; @@ -614,10 +610,6 @@ $socket->send( $packet_data, 0, $sockaddr ); $self->errorstring($!); - # handle failure to detect taint inside $socket->send() - die 'Insecure dependency while running with -T switch' - if TESTS && Scalar::Util::tainted($sockaddr); - my $expire = time() + $self->{udp_timeout}; ${*$socket}{net_dns_bg} = [$expire, $packet]; return $socket; @@ -844,7 +836,7 @@ return $buffer if length($header) < 2; # uncoverable branch true my $size = unpack 'n', $header; - while ( my $fragment = _read_socket( $socket, $size - length $buffer ) ) { + while ( length( my $fragment = _read_socket( $socket, $size - length $buffer ) ) ) { $buffer .= $fragment; } return $buffer; @@ -870,6 +862,9 @@ $self->_diag('socket disconnected (trying to connect)'); } + Carp::confess 'Insecure dependency while running with -T switch' + if TAINT && Scalar::Util::tainted( $ip || $self->{port} ); + my $ip6_addr = IPv6 && _ipv6($ip); $socket = IO::Socket::IP->new( LocalAddr => $ip6_addr ? $self->{srcaddr6} : $self->{srcaddr4}, @@ -948,13 +943,16 @@ sub _create_dst_sockaddr { ## create UDP destination sockaddr structure my ( $self, $ip, $port ) = @_; - - unless (USE_SOCKET_IP) { # NB: errors raised in socket->send - return _ipv6($ip) ? undef : sockaddr_in( $port, inet_aton($ip) ); - } - - my @addrinfo = Socket::getaddrinfo( $ip, $port, _ipv6($ip) ? $ip6 : $ip4 ); - return ( grep {ref} @addrinfo, {} )[0]->{addr}; + my $addrinfo; + ($addrinfo) = grep {ref} Socket::getaddrinfo( $ip, $port, _ipv6($ip) ? $ip6 : $ip4 ), {} + if USE_SOCKET_IP; + $addrinfo = _ipv6($ip) ? undef : sockaddr_in( $port, inet_aton($ip) ) + unless USE_SOCKET_IP; + my $sockaddr = USE_SOCKET_IP ? $addrinfo->{addr} : $addrinfo; + + Carp::confess 'Insecure dependency while running with -T switch' + if TAINT && Scalar::Util::tainted($sockaddr); + return $sockaddr; } @@ -990,7 +988,7 @@ my $header = $packet->header; $header->ad( $self->{adflag} ); # RFC6840, 5.7 $header->cd( $self->{cdflag} ); # RFC6840, 5.9 - $header->do(1) if $self->{dnssec}; + $header->do( $self->{dnssec} ); $header->rd( $self->{recurse} ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/lib/Net/DNS/Resolver/UNIX.pm new/Net-DNS-1.55/lib/Net/DNS/Resolver/UNIX.pm --- old/Net-DNS-1.54/lib/Net/DNS/Resolver/UNIX.pm 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/lib/Net/DNS/Resolver/UNIX.pm 2026-06-11 16:08:47.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: UNIX.pm 2007 2025-02-08 16:45:23Z willem $)[2]; +our $VERSION = (qw$Id: UNIX.pm 2046 2026-06-01 13:23:01Z willem $)[2]; =head1 NAME @@ -18,12 +18,9 @@ my $dotfile = '.resolv.conf'; my @dotfile = grep { -f $_ && -o $_ } map {"$_/$dotfile"} grep {$_} $homedir, '.'; - -my $path = $ENV{PATH}; -local $ENV{PATH} = join ':', grep {$_} qw(/bin /usr/bin), $path; -my $uname = eval {`uname -n 2>/dev/null`} || ''; -chomp $uname; -my ( $host, @domain ) = split /\./, $uname, 2; +my ($name) = _nosh(qw(uname -n)); +chomp $name; +my ( undef, @domain ) = split /\./, $name, 2; sub _init { @@ -40,6 +37,18 @@ return; } +sub _nosh { ## shell-free backtick emulation + my ( $prog, @arg ) = @_; + if ( open( PIPE, '-|' ) ) { + my @retval = <PIPE>; + close PIPE; + return @retval; + } else { + $ENV{PATH} = '/bin:/usr/bin'; + exec $prog, @arg; + exit; ## uncoverable statement + } +} 1; __END__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/lib/Net/DNS.pm new/Net-DNS-1.55/lib/Net/DNS.pm --- old/Net-DNS-1.54/lib/Net/DNS.pm 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/lib/Net/DNS.pm 2026-06-11 16:08:47.000000000 +0200 @@ -4,9 +4,9 @@ use warnings; our $VERSION; -$VERSION = '1.54'; +$VERSION = '1.55'; $VERSION = eval {$VERSION}; -our $SVNVERSION = (qw$Id: DNS.pm 2045 2026-01-16 12:30:12Z willem $)[2]; +our $SVNVERSION = (qw$Id: DNS.pm 2051 2026-06-11 14:06:42Z willem $)[2]; =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/t/01-resolver.t new/Net-DNS-1.55/t/01-resolver.t --- old/Net-DNS-1.54/t/01-resolver.t 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/t/01-resolver.t 2026-06-11 16:08:47.000000000 +0200 @@ -1,10 +1,10 @@ #!/usr/bin/perl -# $Id: 01-resolver.t 1993 2024-11-07 14:06:53Z willem $ -*-perl-*- +# $Id: 01-resolver.t 2046 2026-06-01 13:23:01Z willem $ -*-perl-*- # use strict; use warnings; -use Test::More tests => 38; +use Test::More tests => 39; use TestToolkit; BEGIN { ## off-line dry tests @@ -110,9 +110,13 @@ for my $recursive ( Net::DNS::Resolver::Recurse->new( retrans => 0, retry => 0 ) ) { my $domain = 'net-dns.org'; my $packet = Net::DNS::Packet->new( "$domain", 'NS' ); + + $recursive->_referral($packet); + my $non_referral = $recursive->_recurse( $packet, $domain ); + is( $non_referral, undef, 'non-referral packet' ); + $packet->push( ans => Net::DNS::RR->new("$domain NS nx$$.$domain") ); $packet->push( add => Net::DNS::RR->new("nx$$.$domain AAAA ::") ); - $recursive->_referral($packet); my $result = $recursive->_recurse( $packet, $domain ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/t/05-DELEG.t new/Net-DNS-1.55/t/05-DELEG.t --- old/Net-DNS-1.54/t/05-DELEG.t 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/t/05-DELEG.t 2026-06-11 16:08:47.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: 05-DELEG.t 2043 2026-01-14 13:35:59Z willem $ -*-perl-*- +# $Id: 05-DELEG.t 2046 2026-06-01 13:23:01Z willem $ -*-perl-*- # use strict; @@ -24,12 +24,12 @@ for my $rr ( Net::DNS::RR->new( my $record = "example. $type" ) ) { ok( $rr, "parse RR: $record" ); - is( $rr->rdata, '', 'empty rdata' ); - is( $rr->mandatory, undef, 'mandatory undefined' ); - is( $rr->server_ipv4, undef, 'server_ipv4 undefined' ); - is( $rr->server_ipv6, undef, 'server_ipv6 undefined' ); - is( $rr->server_name, undef, 'server_name undefined' ); - is( $rr->include_delegi, undef, 'include_delegi undefined' ); + is( $rr->rdata, '', 'empty rdata' ); + is( $rr->mandatory, undef, 'mandatory undefined' ); + is( $rr->server_ipv4, undef, 'server_ipv4 undefined' ); + is( $rr->server_ipv6, undef, 'server_ipv6 undefined' ); + is( $rr->server_name, undef, 'server_name undefined' ); + is( $rr->include_delegparam, undef, 'include_delegparam undefined' ); ok( $rr->string, 'presentation format string' ); ok( $rr->generic, 'RFC3597 generic format' ); } @@ -55,27 +55,27 @@ is( $rr->server_name, 'nameserver.example.', '$rr->server_name returns domain name' ); } -for my $rr ( Net::DNS::RR->new( my $record = qq(example. $type include-delegi="devolved.example") ) ) { +for my $rr ( Net::DNS::RR->new( my $record = qq(example. $type include-delegparam="provider.example") ) ) { ok( $rr, "parse RR: $record" ); ok( defined $rr->key4(), 'correct parameter key defined' ); - is( $rr->include_delegi, 'devolved.example.', '$rr->include_delegi returns domain name' ); + is( $rr->include_delegparam, 'provider.example.', '$rr->include_delegparam returns domain name' ); } for my $rr ( Net::DNS::RR->new( my $record = "example. 0 IN $type" ) ) { ok( $rr, "parse RR: $record" ); is( $rr->rdata, '', 'empty rdata' ); - ok( $rr->mandatory( 1, 2, 3 ), 'mandatory write access method' ); - ok( $rr->server_ipv4('192.0.2.1'), 'server_ipv4 write access method' ); - ok( $rr->server_ipv6('2001:db8::53'), 'server_ipv6 write access method' ); - ok( $rr->server_name('nameserver.example.'), 'server_name write access method' ); - ok( $rr->include_delegi('devolved.example.'), 'include_delegi write access method' ); - ok( $rr->rdata, 'non-empty rdata' ); - ok( $rr->encode, 'wire-format octet string' ); - ok( !$rr->key65500(undef), 'delete parameter' ); - ok( $rr->_parameter( 65500, '!' ), 'unexpected parameter' ); - ok( $rr->string, 'presentation format string' ); - ok( $rr->generic, 'RFC3597 generic format' ); + ok( $rr->mandatory( 1, 2, 3 ), 'mandatory write access method' ); + ok( $rr->server_ipv4('192.0.2.1'), 'server_ipv4 write access method' ); + ok( $rr->server_ipv6('2001:db8::53'), 'server_ipv6 write access method' ); + ok( $rr->server_name('nameserver.example.'), 'server_name write access method' ); + ok( $rr->include_delegparam('provider.example.'), 'include_delegparam write access method' ); + ok( $rr->rdata, 'non-empty rdata' ); + ok( $rr->encode, 'wire-format octet string' ); + ok( !$rr->key65500(undef), 'delete parameter' ); + ok( $rr->_parameter( 65500, '!' ), 'unexpected parameter' ); + ok( $rr->string, 'presentation format string' ); + ok( $rr->generic, 'RFC3597 generic format' ); my $encoded = $rr->encode; my $decoded = ref($rr)->decode( \$encoded ); is( $decoded->generic, $rr->generic, 'encode/decode transparent' ); @@ -85,15 +85,15 @@ } -exception( 'duplicated parameter', sub { Net::DNS::RR->new("example. $type include-delegi=x include-delegi=y") } ); -exception( 'incompatible parameter', sub { Net::DNS::RR->new("example. $type include-delegi=x server-name=y") } ); -exception( 'invalid argument', sub { Net::DNS::RR->new("example. $type include-delegi=.") } ); +exception( 'duplicated parameter', sub { Net::DNS::RR->new("example. $type server-name=x server-name=y") } ); +exception( 'incompatible parameter', sub { Net::DNS::RR->new("example. $type include-delegparam=x server-name=y") } ); +exception( 'invalid argument', sub { Net::DNS::RR->new("example. $type include-delegparam=.") } ); exception( 'invalid argument', sub { Net::DNS::RR->new("example. $type server-name=.") } ); exception( 'unexpected argument', sub { Net::DNS::RR->new("example. $type")->key65500(qw(X Y)) } ); exception( 'unrecognised parameter', sub { Net::DNS::RR->new("example. $type bogus") } ); exception( 'mandatory key0 in list', sub { Net::DNS::RR->new("example. $type mandatory=server-ipv4,key0") } ); exception( 'mandatory key repeated', sub { Net::DNS::RR->new("example. $type mandatory=key1,key1") } ); -exception( 'mandatory key required', sub { Net::DNS::RR->new("example. $type mandatory=key2,key3 key2=X") } ); +exception( 'mandatory key required', sub { Net::DNS::RR->new("example. $type mandatory=key1,key2 key1=X") } ); exception( 'mandatory key unknown', sub { Net::DNS::RR->new("example. $type mandatory=bogus") } ); exit; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/t/08-IPv4.t new/Net-DNS-1.55/t/08-IPv4.t --- old/Net-DNS-1.54/t/08-IPv4.t 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/t/08-IPv4.t 2026-06-11 16:08:47.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: 08-IPv4.t 2017 2025-06-27 13:48:03Z willem $ -*-perl-*- +# $Id: 08-IPv4.t 2046 2026-06-01 13:23:01Z willem $ -*-perl-*- # use strict; @@ -69,7 +69,7 @@ Net::DNS::Resolver->debug($debug); -plan tests => 62; +plan tests => 61; NonFatalBegin(); @@ -91,21 +91,6 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); - $resolver->udppacketsize(513); - - $resolver->igntc(1); - my $udp = $resolver->send(qw(net-dns.org DNSKEY IN)); - ok( $udp && $udp->header->tc, '$resolver->send(...) truncated UDP reply' ); - - $resolver->igntc(0); - my $retry = $resolver->send(qw(net-dns.org DNSKEY IN)); - ok( $retry && !$retry->header->tc, '$resolver->send(...) automatic TCP retry' ); -} - - -{ - my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); $resolver->igntc(0); my $packet = Net::DNS::Packet->new(qw(net-dns.org SOA IN)); @@ -126,12 +111,25 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); $resolver->udppacketsize(513); + $resolver->igntc(1); + my $udp = $resolver->send(qw(doc.net-dns.org TXT IN)); + ok( $udp && $udp->header->tc, '$resolver->send(...) expecting truncated UDP reply' ); - my $handle = $resolver->bgsend(qw(net-dns.org DNSKEY IN)); - ok( $handle, '$resolver->bgsend(...) truncated UDP' ); + $resolver->igntc(0); + my $retry = $resolver->send(qw(doc.net-dns.org TXT IN)); + ok( $retry && !$retry->header->tc, '$resolver->send(...) automatic TCP retry' ); +} + + +{ + my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); + $resolver->udppacketsize(513); + $resolver->igntc(1); + + my $handle = $resolver->bgsend(qw(doc.net-dns.org TXT IN)); + ok( $handle, '$resolver->bgsend(...) expecting truncated UDP reply' ); my $packet = $resolver->bgread($handle); ok( $packet && $packet->header->tc, '$resolver->bgread($udp) ignore UDP truncation' ); } @@ -139,12 +137,11 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); $resolver->udppacketsize(513); $resolver->igntc(0); - my $handle = $resolver->bgsend(qw(net-dns.org DNSKEY IN)); - ok( $handle, '$resolver->bgsend(...) truncated UDP' ); + my $handle = $resolver->bgsend(qw(doc.net-dns.org TXT IN)); + ok( $handle, '$resolver->bgsend(...) expecting truncated UDP reply' ); my $udp = $handle; my $packet = $resolver->bgread($handle); isnt( $handle, $udp, '$resolver->bgbusy($udp) handle changed to TCP' ); @@ -154,11 +151,10 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); $resolver->udppacketsize(513); $resolver->igntc(0); - my $handle = $resolver->bgsend(qw(net-dns.org DNSKEY IN)); + my $handle = $resolver->bgsend(qw(doc.net-dns.org TXT IN)); $resolver->nameserver(); # no nameservers my $packet = $resolver->bgread($handle); ok( $packet && $packet->header->tc, '$resolver->bgread($udp) background TCP fail' ); @@ -366,13 +362,6 @@ } -{ - my $resolver = Net::DNS::Resolver->new(); - $resolver->nameserver('cname.t.net-dns.org'); - ok( scalar( $resolver->nameservers ), 'resolve nameserver cname' ); -} - - { ## exercise error paths in _axfr_next() my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); $resolver->tcp_timeout(10); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.54/t/08-IPv6.t new/Net-DNS-1.55/t/08-IPv6.t --- old/Net-DNS-1.54/t/08-IPv6.t 2026-01-16 13:30:38.000000000 +0100 +++ new/Net-DNS-1.55/t/08-IPv6.t 2026-06-11 16:08:47.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: 08-IPv6.t 2017 2025-06-27 13:48:03Z willem $ -*-perl-*- +# $Id: 08-IPv6.t 2046 2026-06-01 13:23:01Z willem $ -*-perl-*- # use strict; @@ -72,7 +72,7 @@ Net::DNS::Resolver->debug($debug); -plan tests => 62; +plan tests => 61; NonFatalBegin(); @@ -94,21 +94,6 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); - $resolver->udppacketsize(513); - - $resolver->igntc(1); - my $udp = $resolver->send(qw(net-dns.org DNSKEY IN)); - ok( $udp && $udp->header->tc, '$resolver->send(...) truncated UDP reply' ); - - $resolver->igntc(0); - my $retry = $resolver->send(qw(net-dns.org DNSKEY IN)); - ok( $retry && !$retry->header->tc, '$resolver->send(...) automatic TCP retry' ); -} - - -{ - my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); $resolver->igntc(0); my $packet = Net::DNS::Packet->new(qw(net-dns.org SOA IN)); @@ -129,12 +114,25 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); $resolver->udppacketsize(513); + $resolver->igntc(1); + my $udp = $resolver->send(qw(doc.net-dns.org TXT IN)); + ok( $udp && $udp->header->tc, '$resolver->send(...) expecting truncated UDP reply' ); - my $handle = $resolver->bgsend(qw(net-dns.org DNSKEY IN)); - ok( $handle, '$resolver->bgsend(...) truncated UDP' ); + $resolver->igntc(0); + my $retry = $resolver->send(qw(doc.net-dns.org TXT IN)); + ok( $retry && !$retry->header->tc, '$resolver->send(...) automatic TCP retry' ); +} + + +{ + my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); + $resolver->udppacketsize(513); + $resolver->igntc(1); + + my $handle = $resolver->bgsend(qw(doc.net-dns.org TXT IN)); + ok( $handle, '$resolver->bgsend(...) expecting truncated UDP reply' ); my $packet = $resolver->bgread($handle); ok( $packet && $packet->header->tc, '$resolver->bgread($udp) ignore UDP truncation' ); } @@ -142,12 +140,11 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); $resolver->udppacketsize(513); $resolver->igntc(0); - my $handle = $resolver->bgsend(qw(net-dns.org DNSKEY IN)); - ok( $handle, '$resolver->bgsend(...) truncated UDP' ); + my $handle = $resolver->bgsend(qw(doc.net-dns.org TXT IN)); + ok( $handle, '$resolver->bgsend(...) expecting truncated UDP reply' ); my $udp = $handle; my $packet = $resolver->bgread($handle); isnt( $handle, $udp, '$resolver->bgbusy($udp) handle changed to TCP' ); @@ -157,11 +154,10 @@ { my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); - $resolver->dnssec(1); $resolver->udppacketsize(513); $resolver->igntc(0); - my $handle = $resolver->bgsend(qw(net-dns.org DNSKEY IN)); + my $handle = $resolver->bgsend(qw(doc.net-dns.org TXT IN)); $resolver->nameserver(); # no nameservers my $packet = $resolver->bgread($handle); ok( $packet && $packet->header->tc, '$resolver->bgread($udp) background TCP fail' ); @@ -369,13 +365,6 @@ } -{ - my $resolver = Net::DNS::Resolver->new(); - $resolver->nameserver('cname.t.net-dns.org'); - ok( scalar( $resolver->nameservers ), 'resolve nameserver cname' ); -} - - { ## exercise error paths in _axfr_next() my $resolver = Net::DNS::Resolver->new( nameservers => $IP ); $resolver->tcp_timeout(10); ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.EAcLcH/_old 2026-06-15 19:41:41.507008973 +0200 +++ /var/tmp/diff_new_pack.EAcLcH/_new 2026-06-15 19:41:41.515009308 +0200 @@ -1,6 +1,6 @@ -mtime: 1768628337 -commit: 0a882a98b9b11b76d79dc077d120ddf7e7580ae29d1676a13f78d685ecc763a3 -url: https://src.opensuse.org/perl/perl-Net-DNS.git -revision: 0a882a98b9b11b76d79dc077d120ddf7e7580ae29d1676a13f78d685ecc763a3 +mtime: 1781221198 +commit: 74568f75cb079bbdfae757241b94d017ab94a59d8d3575841c460465c90f2126 +url: https://src.opensuse.org/perl/perl-Net-DNS +revision: 74568f75cb079bbdfae757241b94d017ab94a59d8d3575841c460465c90f2126 projectscmsync: https://src.opensuse.org/perl/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-06-12 01:39:58.000000000 +0200 @@ -0,0 +1 @@ +.osc
