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;

Reply via email to