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 2023-09-29 21:13:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Net-DNS (Old) and /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Net-DNS" Fri Sep 29 21:13:10 2023 rev:73 rq:1113827 version:1.400.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Net-DNS/perl-Net-DNS.changes 2023-06-14 16:28:54.942311964 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.28202/perl-Net-DNS.changes 2023-09-29 21:14:01.122711678 +0200 @@ -1,0 +2,6 @@ +Tue Sep 5 16:51:30 UTC 2023 - Tina Müller <timueller+p...@suse.de> + +- updated to 1.40 + see /usr/share/doc/packages/perl-Net-DNS/Changes + +------------------------------------------------------------------- Old: ---- Net-DNS-1.39.tar.gz New: ---- Net-DNS-1.40.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Net-DNS.spec ++++++ --- /var/tmp/diff_new_pack.GwFIz8/_old 2023-09-29 21:14:02.394757573 +0200 +++ /var/tmp/diff_new_pack.GwFIz8/_new 2023-09-29 21:14:02.398757718 +0200 @@ -18,12 +18,13 @@ %define cpan_name Net-DNS Name: perl-Net-DNS -Version: 1.39 +Version: 1.400.0 Release: 0 +%define cpan_version 1.40 License: MIT Summary: Perl Interface to the Domain Name System URL: https://metacpan.org/release/%{cpan_name} -Source0: https://cpan.metacpan.org/authors/id/N/NL/NLNETLABS/%{cpan_name}-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/N/NL/NLNETLABS/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml BuildArch: noarch BuildRequires: perl @@ -57,6 +58,111 @@ Requires: perl(PerlIO) >= 1.05 Requires: perl(Scalar::Util) >= 1.19 Requires: perl(Time::Local) >= 1.19 +Provides: perl(Net::DNS) = 1.400.0 +Provides: perl(Net::DNS::Domain) +Provides: perl(Net::DNS::DomainName) +Provides: perl(Net::DNS::DomainName1035) +Provides: perl(Net::DNS::DomainName2535) +Provides: perl(Net::DNS::Header) +Provides: perl(Net::DNS::Mailbox) +Provides: perl(Net::DNS::Mailbox1035) +Provides: perl(Net::DNS::Mailbox2535) +Provides: perl(Net::DNS::Nameserver) +Provides: perl(Net::DNS::Packet) +Provides: perl(Net::DNS::Parameters) +Provides: perl(Net::DNS::Question) +Provides: perl(Net::DNS::RR) +Provides: perl(Net::DNS::RR::A) +Provides: perl(Net::DNS::RR::AAAA) +Provides: perl(Net::DNS::RR::AFSDB) +Provides: perl(Net::DNS::RR::AMTRELAY) +Provides: perl(Net::DNS::RR::APL) +Provides: perl(Net::DNS::RR::APL::Item) +Provides: perl(Net::DNS::RR::CAA) +Provides: perl(Net::DNS::RR::CDNSKEY) +Provides: perl(Net::DNS::RR::CDS) +Provides: perl(Net::DNS::RR::CERT) +Provides: perl(Net::DNS::RR::CNAME) +Provides: perl(Net::DNS::RR::CSYNC) +Provides: perl(Net::DNS::RR::DHCID) +Provides: perl(Net::DNS::RR::DNAME) +Provides: perl(Net::DNS::RR::DNSKEY) +Provides: perl(Net::DNS::RR::DS) +Provides: perl(Net::DNS::RR::EUI48) +Provides: perl(Net::DNS::RR::EUI64) +Provides: perl(Net::DNS::RR::GPOS) +Provides: perl(Net::DNS::RR::HINFO) +Provides: perl(Net::DNS::RR::HIP) +Provides: perl(Net::DNS::RR::HTTPS) +Provides: perl(Net::DNS::RR::IPSECKEY) +Provides: perl(Net::DNS::RR::ISDN) +Provides: perl(Net::DNS::RR::KEY) +Provides: perl(Net::DNS::RR::KX) +Provides: perl(Net::DNS::RR::L32) +Provides: perl(Net::DNS::RR::L64) +Provides: perl(Net::DNS::RR::LOC) +Provides: perl(Net::DNS::RR::LP) +Provides: perl(Net::DNS::RR::MB) +Provides: perl(Net::DNS::RR::MG) +Provides: perl(Net::DNS::RR::MINFO) +Provides: perl(Net::DNS::RR::MR) +Provides: perl(Net::DNS::RR::MX) +Provides: perl(Net::DNS::RR::NAPTR) +Provides: perl(Net::DNS::RR::NID) +Provides: perl(Net::DNS::RR::NS) +Provides: perl(Net::DNS::RR::NSEC) +Provides: perl(Net::DNS::RR::NSEC3) +Provides: perl(Net::DNS::RR::NSEC3PARAM) +Provides: perl(Net::DNS::RR::NULL) +Provides: perl(Net::DNS::RR::OPENPGPKEY) +Provides: perl(Net::DNS::RR::OPT) +Provides: perl(Net::DNS::RR::OPT::CHAIN) +Provides: perl(Net::DNS::RR::OPT::CLIENT_SUBNET) +Provides: perl(Net::DNS::RR::OPT::COOKIE) +Provides: perl(Net::DNS::RR::OPT::DAU) +Provides: perl(Net::DNS::RR::OPT::DHU) +Provides: perl(Net::DNS::RR::OPT::EXPIRE) +Provides: perl(Net::DNS::RR::OPT::EXTENDED_ERROR) +Provides: perl(Net::DNS::RR::OPT::KEY_TAG) +Provides: perl(Net::DNS::RR::OPT::N3U) +Provides: perl(Net::DNS::RR::OPT::NSID) +Provides: perl(Net::DNS::RR::OPT::PADDING) +Provides: perl(Net::DNS::RR::OPT::REPORT_CHANNEL) +Provides: perl(Net::DNS::RR::OPT::TCP_KEEPALIVE) +Provides: perl(Net::DNS::RR::PTR) +Provides: perl(Net::DNS::RR::PX) +Provides: perl(Net::DNS::RR::RP) +Provides: perl(Net::DNS::RR::RRSIG) +Provides: perl(Net::DNS::RR::RT) +Provides: perl(Net::DNS::RR::SIG) +Provides: perl(Net::DNS::RR::SMIMEA) +Provides: perl(Net::DNS::RR::SOA) +Provides: perl(Net::DNS::RR::SPF) +Provides: perl(Net::DNS::RR::SRV) +Provides: perl(Net::DNS::RR::SSHFP) +Provides: perl(Net::DNS::RR::SVCB) +Provides: perl(Net::DNS::RR::TKEY) +Provides: perl(Net::DNS::RR::TLSA) +Provides: perl(Net::DNS::RR::TSIG) +Provides: perl(Net::DNS::RR::TXT) +Provides: perl(Net::DNS::RR::URI) +Provides: perl(Net::DNS::RR::X25) +Provides: perl(Net::DNS::RR::ZONEMD) +Provides: perl(Net::DNS::Resolver) +Provides: perl(Net::DNS::Resolver::Base) +Provides: perl(Net::DNS::Resolver::MSWin32) +Provides: perl(Net::DNS::Resolver::Recurse) +Provides: perl(Net::DNS::Resolver::UNIX) +Provides: perl(Net::DNS::Resolver::android) +Provides: perl(Net::DNS::Resolver::cygwin) +Provides: perl(Net::DNS::Resolver::os2) +Provides: perl(Net::DNS::Resolver::os390) +Provides: perl(Net::DNS::Text) +Provides: perl(Net::DNS::Update) +Provides: perl(Net::DNS::ZoneFile) +Provides: perl(Net::DNS::ZoneFile::Generator) +Provides: perl(Net::DNS::ZoneFile::Text) +%define __perllib_provides /bin/true Recommends: perl(Digest::BubbleBabble) >= 0.02 Recommends: perl(Net::LibIDN2) >= 1 %{perl_requires} @@ -70,7 +176,7 @@ the zone file presentation format described in RFC1035. %prep -%autosetup -n %{cpan_name}-%{version} +%autosetup -n %{cpan_name}-%{cpan_version} %build perl Makefile.PL INSTALLDIRS=vendor ++++++ Net-DNS-1.39.tar.gz -> Net-DNS-1.40.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/Changes new/Net-DNS-1.40/Changes --- old/Net-DNS-1.39/Changes 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/Changes 2023-08-30 20:05:53.000000000 +0200 @@ -1,4 +1,16 @@ -$Id: Changes 1929 2023-06-01 11:40:49Z willem $ -*-text-*- +$Id: Changes 1936 2023-08-30 18:05:44Z willem $ -*-text-*- + + +**** 1.40 Aug 30, 2023 + + Add support for SVCB dohpath and ohttp parameters. + More robust test of bgbusy() SpamAssassin workaround. + +Fix rt.cpan.org #149456 + t/05-SOA.t test fails in 2038 + +Fix rt.cpan.org #149280 + Deep recursion on subroutine "Net::DNS::Resolver::Recurse::_recurse" **** 1.39 Jun 1, 2023 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/META.json new/Net-DNS-1.40/META.json --- old/Net-DNS-1.39/META.json 2023-06-01 13:41:16.000000000 +0200 +++ new/Net-DNS-1.40/META.json 2023-08-30 20:06:01.000000000 +0200 @@ -71,6 +71,6 @@ } }, "release_status" : "stable", - "version" : "1.39", + "version" : "1.40", "x_serialization_backend" : "JSON::PP version 4.08" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/META.yml new/Net-DNS-1.40/META.yml --- old/Net-DNS-1.39/META.yml 2023-06-01 13:41:16.000000000 +0200 +++ new/Net-DNS-1.40/META.yml 2023-08-30 20:06:01.000000000 +0200 @@ -47,5 +47,5 @@ Scalar::Util: '1.19' Time::Local: '1.19' perl: '5.008009' -version: '1.39' +version: '1.40' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/RR/OPT.pm new/Net-DNS-1.40/lib/Net/DNS/RR/OPT.pm --- old/Net-DNS-1.39/lib/Net/DNS/RR/OPT.pm 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/lib/Net/DNS/RR/OPT.pm 2023-08-30 20:05:53.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: OPT.pm 1921 2023-05-08 18:39:59Z willem $)[2]; +our $VERSION = (qw$Id: OPT.pm 1934 2023-08-25 12:14:08Z willem $)[2]; use base qw(Net::DNS::RR); @@ -79,12 +79,6 @@ return $self->udpsize(@value); } -sub size { - my ( $self, @value ) = @_; # uncoverable pod - $self->_deprecate(qq[size() is an alias of "UDPsize()"]); - return $self->udpsize(@value); -} - sub ttl { ## override RR method my ( $self, @value ) = @_; $self->_deprecate(qq[please use "flags()", "rcode()" or "version()"]); @@ -157,6 +151,12 @@ return $self->{udpsize} || 0; } +sub size { + my ( $self, @value ) = @_; # uncoverable pod + $self->_deprecate(qq[size() is an alias of "UDPsize()"]); + return $self->udpsize(@value); +} + sub rcode { my ( $self, @value ) = @_; @@ -442,19 +442,19 @@ my $error = $Net::DNS::Parameters::dnserrorbyval{$code}; my @error = defined($error) ? ( 'ERROR' => $error ) : (); my $extra = Net::DNS::Text->decode( \$text, 0, length $text ); - my $REGEX = q/("[^"]*")|([\[\]{}:,])|\s+/; for ( $extra->value ) { last unless /^[\[\{]/; - s/([\@\$])/\\$1/g; - my $info = eval join( ' ', map { s/^:$/=>/; $_ } grep {defined} split /$REGEX/o ); - return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $info || last}; + s/([\$\@])/\\$1/g; ## Here be dragons! + my $REGEX = q/("[^"]*"|[\[\]{}:,]|[-0-9.Ee+]+)|\s+|(.)/; + my @split = grep { defined && length } split /$REGEX/o; + my $value = eval join( ' ', 'no integer;', map { s/^:$/=>/; $_ } @split ); + return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $value} if ref($value); } - return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $extra->string}; + return {'INFO-CODE' => $code, @error, 'EXTRA-TEXT' => $extra->value}; } package Net::DNS::RR::OPT::REPORT_CHANNEL; # draft-ietf-dnsop-dns-error-reporting -$Net::DNS::Parameters::ednsoptionbyval{65023} = 'REPORT-CHANNEL'; ## experimental/private use sub _compose { my ( undef, @argument ) = map { ref($_) ? %$_ : $_ } @_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/RR/SOA.pm new/Net-DNS-1.40/lib/Net/DNS/RR/SOA.pm --- old/Net-DNS-1.39/lib/Net/DNS/RR/SOA.pm 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/lib/Net/DNS/RR/SOA.pm 2023-08-30 20:05:53.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: SOA.pm 1896 2023-01-30 12:59:25Z willem $)[2]; +our $VERSION = (qw$Id: SOA.pm 1931 2023-08-23 13:14:15Z willem $)[2]; use base qw(Net::DNS::RR); @@ -60,7 +60,8 @@ sub _parse_rdata { ## populate RR from rdata in argument list my ( $self, @argument ) = @_; - for (qw(mname rname serial)) { $self->$_( shift @argument ) } + for (qw(mname rname)) { $self->$_( shift @argument ) } + $self->serial( shift @argument ) if scalar @argument; # possibly undefined for (qw(refresh retry expire minimum)) { last unless scalar @argument; $self->$_( Net::DNS::RR::ttl( {}, shift @argument ) ); @@ -145,11 +146,9 @@ return 1 unless defined $n1; # ( undef, any ) # unwise to assume 64-bit arithmetic, or that 32-bit integer overflow goes unpunished - use integer; - if ( $n2 < 0 ) { # fold, leaving $n2 non-negative - $n1 = ( $n1 & 0xFFFFFFFF ) ^ 0x80000000; # -2**31 <= $n1 < 2**32 - $n2 = ( $n2 & 0x7FFFFFFF ); # 0 <= $n2 < 2**31 - } + use integer; # fold, leaving $n2 non-negative + $n1 = ( $n1 & 0xFFFFFFFF ) ^ ( $n2 & 0x80000000 ); # -2**31 <= $n1 < 2**32 + $n2 = ( $n2 & 0x7FFFFFFF ); # 0 <= $n2 < 2**31 return $n1 < $n2 ? ( $n1 > ( $n2 - 0x80000000 ) ) : ( $n2 < ( $n1 - 0x80000000 ) ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/RR/SVCB.pm new/Net-DNS-1.40/lib/Net/DNS/RR/SVCB.pm --- old/Net-DNS-1.39/lib/Net/DNS/RR/SVCB.pm 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/lib/Net/DNS/RR/SVCB.pm 2023-08-30 20:05:53.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: SVCB.pm 1896 2023-01-30 12:59:25Z willem $)[2]; +our $VERSION = (qw$Id: SVCB.pm 1930 2023-08-21 14:10:10Z willem $)[2]; use base qw(Net::DNS::RR); @@ -15,7 +15,6 @@ use integer; -use MIME::Base64; use Net::DNS::DomainName; use Net::DNS::RR::A; use Net::DNS::RR::AAAA; @@ -31,6 +30,7 @@ ech => 'key5', ipv6hint => 'key6', dohpath => 'key7', # draft-schwartz-svcb-dns + ohttp => 'key8', # draft-pauly-ohai-svcb-config ); @@ -189,9 +189,9 @@ return $self->key1( _string(@value) ); } -sub no_default_alpn { ## no-default-alpn +sub no_default_alpn { ## no-default-alpn (Boolean) my ( $self, @value ) = @_; # uncoverable pod - return $self->key2( ( defined(wantarray) ? @value : '' ), @value ); + return $self->key2( ( defined(wantarray) ? () : '' ), @value ); } sub port { ## port=1234 @@ -204,9 +204,9 @@ return $self->key4( _ipv4(@value) ); } -sub ech { ## ech=base64string +sub ech { ## Format not specified my ( $self, @value ) = @_; - return $self->key5( map { _base64($_) } @value ); + return $self->key5(@value); # RESERVED } sub ipv6hint { ## ipv6hint=2001:DB8::1,... @@ -219,6 +219,11 @@ return $self->key7(@value); } +sub ohttp { ## ohttp (Boolean) + my ( $self, @value ) = @_; # uncoverable pod + return $self->key8( ( defined(wantarray) ? () : '' ), @value ); +} + ######################################## @@ -229,11 +234,6 @@ return Net::DNS::Text->decode( \$raw, 0, length($raw) )->string; } -sub _base64 { - my @arg = @_; - return _presentation( map { MIME::Base64::decode($_) } @arg ); -} - sub _integer16 { my @arg = @_; return _presentation( map { pack( 'n', $_ ) } @arg ); @@ -254,17 +254,17 @@ local $_ = join ',', @arg; # reassemble argument string s/\\,/\\044/g; # disguise (RFC1035) escaped comma die <<"QQ" if /\\092,|\\092\\092/; -SVCB: Please use standard RFC1035 escapes\n draft-ietf-dnsop-svcb-https double-escape nonsense not implemented +SVCB: Please use standard RFC1035 escapes + draft-ietf-dnsop-svcb-https double-escape nonsense not implemented QQ return _presentation( map { Net::DNS::Text->new($_)->encode() } split /,/ ); } -our $AUTOLOAD; - sub AUTOLOAD { ## Dynamic constructor/accessor methods my ( $self, @argument ) = @_; + our $AUTOLOAD; my ($method) = reverse split /::/, $AUTOLOAD; my $super = "SUPER::$method"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/Resolver/Base.pm new/Net-DNS-1.40/lib/Net/DNS/Resolver/Base.pm --- old/Net-DNS-1.39/lib/Net/DNS/Resolver/Base.pm 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/lib/Net/DNS/Resolver/Base.pm 2023-08-30 20:05:53.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: Base.pm 1910 2023-03-30 19:16:30Z willem $)[2]; +our $VERSION = (qw$Id: Base.pm 1930 2023-08-21 14:10:10Z willem $)[2]; # @@ -257,8 +257,7 @@ sub print { - print shift->string; - return; + return print shift->string; } @@ -624,9 +623,9 @@ return time() <= $expire unless IO::Select->new($handle)->can_read(0); + return unless $query; # SpamAssassin 3.4.1 workaround return if $self->{igntc}; return unless $handle->socktype() == SOCK_DGRAM; - return unless $query; # SpamAssassin 3.4.1 workaround my $ans = $self->_bgread($handle); $$appendix[2] = [$ans]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS/Resolver/Recurse.pm new/Net-DNS-1.40/lib/Net/DNS/Resolver/Recurse.pm --- old/Net-DNS-1.39/lib/Net/DNS/Resolver/Recurse.pm 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/lib/Net/DNS/Resolver/Recurse.pm 2023-08-30 20:05:53.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -our $VERSION = (qw$Id: Recurse.pm 1896 2023-01-30 12:59:25Z willem $)[2]; +our $VERSION = (qw$Id: Recurse.pm 1930 2023-08-21 14:10:10Z willem $)[2]; =head1 NAME @@ -127,21 +127,22 @@ sub _referral { my ( $self, $packet ) = @_; return unless $packet; - my @auth = grep { $_->type eq 'NS' } $packet->answer, $packet->authority; + my @ans = $packet->answer; + my @auth = grep { $_->type eq 'NS' } $packet->authority, @ans; return unless scalar(@auth); my $owner = lc( $auth[0]->owner ); my $cache = $self->{persistent}->{$owner}; return $owner if $cache && scalar(@$cache); - my @addr = grep { $_->can('address') } $packet->additional; + my @addr = grep { $_->can('address') } $packet->additional, @ans; my @ip; my @ns = map { lc( $_->nsdname ) } @auth; foreach my $ns (@ns) { - push @ip, map { $_->address } grep { $ns eq lc( $_->owner ) } @addr; + push @ip, map { $ns eq lc( $_->owner ) ? $_->address : () } @addr; } - $self->_diag("resolving glue for $owner") unless scalar(@ip); - @ip = $self->nameservers( $ns[0], $ns[-1] ) unless scalar(@ip); - $self->_diag("caching nameservers for $owner"); + $self->_diag("resolving missing glue for $owner") unless scalar(@ip); + @ip = $self->nameservers( $ns[0], $ns[-1] ) unless scalar(@ip); + $self->_diag("caching nameserver addresses for $owner"); $self->{persistent}->{$owner} = \@ip; return $owner; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/lib/Net/DNS.pm new/Net-DNS-1.40/lib/Net/DNS.pm --- old/Net-DNS-1.39/lib/Net/DNS.pm 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/lib/Net/DNS.pm 2023-08-30 20:05:53.000000000 +0200 @@ -4,9 +4,9 @@ use warnings; our $VERSION; -$VERSION = '1.39'; +$VERSION = '1.40'; $VERSION = eval {$VERSION}; -our $SVNVERSION = (qw$Id: DNS.pm 1929 2023-06-01 11:40:49Z willem $)[2]; +our $SVNVERSION = (qw$Id: DNS.pm 1936 2023-08-30 18:05:44Z willem $)[2]; =head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/01-resolver.t new/Net-DNS-1.40/t/01-resolver.t --- old/Net-DNS-1.39/t/01-resolver.t 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/t/01-resolver.t 2023-08-30 20:05:53.000000000 +0200 @@ -1,15 +1,22 @@ #!/usr/bin/perl -# $Id: 01-resolver.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*- +# $Id: 01-resolver.t 1934 2023-08-25 12:14:08Z willem $ -*-perl-*- # use strict; use warnings; -use Test::More tests => 34; +use Test::More tests => 35; use TestToolkit; use Net::DNS::Resolver; use Net::DNS::Resolver::Recurse; +{ ## off-line dry tests + + package Net::DNS::Resolver; + sub _create_tcp_socket {return} ## stub + sub _create_udp_socket {return} ## stub +} + my @NOIP = qw(:: 0.0.0.0); @@ -103,12 +110,15 @@ exception( 'deprecated make_query_packet()', $deprecated ); noexception( 'no repeated deprecation warning', $deprecated ); -exit; +SKIP: { + skip( 'Unable to emulate SpamAssassin socket usage', 1 ) if $^O eq 'MSWin32'; + my $handle = \*DATA; ## exercise SpamAssassin's use of plain sockets + ok( !$resolver->bgbusy($handle), 'bgbusy(): SpamAssassin workaround' ); +} -package Net::DNS::Resolver; ## off-line dry test -sub _create_tcp_socket {return} ## stub -sub _create_udp_socket {return} ## stub +exit; -__END__ +__DATA__ +arbitrary diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/05-OPT.t new/Net-DNS-1.40/t/05-OPT.t --- old/Net-DNS-1.39/t/05-OPT.t 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/t/05-OPT.t 2023-08-30 20:05:53.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: 05-OPT.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*- +# $Id: 05-OPT.t 1934 2023-08-25 12:14:08Z willem $ -*-perl-*- # use strict; @@ -9,8 +9,9 @@ use Net::DNS; use Net::DNS::Parameters; +local $Net::DNS::Parameters::ednsoptionbyval{65023} = 'REPORT-CHANNEL'; ## experimental/private use -use constant UTIL => scalar eval { require Scalar::Util; Scalar::Util->can('isdual') }; ## no critic +use constant UTIL => scalar eval { require Scalar::Util; Scalar::Util->can('isdual') }; ## no critic my $code = 41; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/05-SOA.t new/Net-DNS-1.40/t/05-SOA.t --- old/Net-DNS-1.39/t/05-SOA.t 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/t/05-SOA.t 2023-08-30 20:05:53.000000000 +0200 @@ -1,11 +1,11 @@ #!/usr/bin/perl -# $Id: 05-SOA.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*- +# $Id: 05-SOA.t 1934 2023-08-25 12:14:08Z willem $ -*-perl-*- # use strict; use warnings; use integer; -use Test::More tests => 35; +use Test::More tests => 43; use Net::DNS; @@ -69,6 +69,10 @@ sprintf( '%u', $serial ), "rr->serial($serial) steps from $initial to $serial" ); + is( sprintf( '%u', $rr->serial($serial) ), + sprintf( '%u', $serial + 1 ), + "rr->serial($serial) increments existing serial number" + ); $initial = $serial; } } @@ -106,12 +110,22 @@ for my $rr ( Net::DNS::RR->new('name SOA mname rname') ) { - my $pretime = time() - 10; my $posttime = UNIXTIME; - my $postincr = $posttime + 1; + my $pretime = $posttime - 10; $rr->serial($pretime); - is( $rr->serial($posttime), $posttime, "rr->serial(UNIXTIME) steps from $pretime to $posttime" ); - is( $rr->serial($posttime), $postincr, "rr->serial(UNIXTIME) increments $posttime to $postincr" ); + is( sprintf( '%u', $rr->serial($posttime) ), + sprintf( '%u', $posttime ), + "rr->serial(UNIXTIME) steps from $pretime to $posttime" + ); +} + + +for my $rr ( Net::DNS::RR->new('name SOA mname rname') ) { + my $jan2038 = 0x80007B40; + is( sprintf( '%x', $rr->serial($jan2038) ), + sprintf( '%x', $jan2038 ), + "rr->serial(UNIXTIME) will still work after 19 Jan 2038" + ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/05-SVCB.t new/Net-DNS-1.40/t/05-SVCB.t --- old/Net-DNS-1.39/t/05-SVCB.t 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/t/05-SVCB.t 2023-08-30 20:05:53.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: 05-SVCB.t 1910 2023-03-30 19:16:30Z willem $ -*-perl-*- +# $Id: 05-SVCB.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*- # use strict; @@ -11,10 +11,10 @@ use TestToolkit; exit( plan skip_all => 'unresolved AUTOLOAD regression [perl #120694]' ) - if ( $] == 5.018000 ) - or ( $] == 5.018001 ); + unless ( $] > 5.018001 ) + or ( $] < 5.018 ); -plan tests => 44; +plan tests => 46; my $name = 'SVCB.example'; @@ -22,7 +22,7 @@ my $code = 64; my @attr = qw( svcpriority targetname port ); my @data = qw( 1 pool.svc.example 1234 ); -my @also = qw(mandatory alpn no-default-alpn port ipv4hint ech ipv6hint); +my @also = qw(mandatory alpn no-default-alpn port ipv4hint ech ipv6hint dohpath ohttp); my $wire = '000104706f6f6c03737663076578616d706c65000003000204d2'; @@ -73,6 +73,7 @@ no-default-alpn port=1234 ipv4hint=192.0.2.1 ech=Li4u ipv6hint=2001:db8::1 dohpath=/dns-query{?dns} + ohttp ) END diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/08-IPv4.t new/Net-DNS-1.40/t/08-IPv4.t --- old/Net-DNS-1.39/t/08-IPv4.t 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/t/08-IPv4.t 2023-08-30 20:05:53.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: 08-IPv4.t 1925 2023-05-31 11:58:59Z willem $ -*-perl-*- +# $Id: 08-IPv4.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*- # use strict; @@ -69,7 +69,7 @@ Net::DNS::Resolver->debug($debug); -plan tests => 64; +plan tests => 63; NonFatalBegin(); @@ -431,17 +431,6 @@ } -{ ## exercise SpamAssassin's use of plain sockets - my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout => 0 ); - - my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA)); - my $socket = $resolver->_bgsend_udp( $packet, $packet->data ); - delete ${*$socket}{net_dns_bg}; # state vector - while ( $resolver->bgbusy($socket) ) { sleep 1 } - ok( !$resolver->bgbusy($socket), 'bgbusy() SpamAssassin workaround' ); -} - - NonFatalEnd(); exit; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-DNS-1.39/t/08-IPv6.t new/Net-DNS-1.40/t/08-IPv6.t --- old/Net-DNS-1.39/t/08-IPv6.t 2023-06-01 13:41:00.000000000 +0200 +++ new/Net-DNS-1.40/t/08-IPv6.t 2023-08-30 20:05:53.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: 08-IPv6.t 1925 2023-05-31 11:58:59Z willem $ -*-perl-*- +# $Id: 08-IPv6.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*- # use strict; @@ -72,7 +72,7 @@ Net::DNS::Resolver->debug($debug); -plan tests => 64; +plan tests => 63; NonFatalBegin(); @@ -434,17 +434,6 @@ } -{ ## exercise SpamAssassin's use of plain sockets - my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout => 0 ); - - my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA)); - my $socket = $resolver->_bgsend_udp( $packet, $packet->data ); - delete ${*$socket}{net_dns_bg}; # state vector - while ( $resolver->bgbusy($socket) ) { sleep 1 } - ok( !$resolver->bgbusy($socket), 'bgbusy() SpamAssassin workaround' ); -} - - NonFatalEnd(); exit;