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-12-02 17:12:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Net-DNS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Net-DNS"

Sat Dec  2 17:12:48 2023 rev:74 rq:1130245 version:1.410.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Net-DNS/perl-Net-DNS.changes        
2023-09-29 21:14:01.122711678 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.25432/perl-Net-DNS.changes     
2023-12-02 17:13:00.088970808 +0100
@@ -1,0 +2,6 @@
+Tue Nov 28 03:08:49 UTC 2023 - Tina Müller <timueller+p...@suse.de>
+
+- updated to 1.41
+   see /usr/share/doc/packages/perl-Net-DNS/Changes
+
+-------------------------------------------------------------------

Old:
----
  Net-DNS-1.40.tar.gz

New:
----
  Net-DNS-1.41.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Net-DNS.spec ++++++
--- /var/tmp/diff_new_pack.8QCXfz/_old  2023-12-02 17:13:00.604989718 +0100
+++ /var/tmp/diff_new_pack.8QCXfz/_new  2023-12-02 17:13:00.604989718 +0100
@@ -18,9 +18,9 @@
 
 %define cpan_name Net-DNS
 Name:           perl-Net-DNS
-Version:        1.400.0
+Version:        1.410.0
 Release:        0
-%define cpan_version 1.40
+%define cpan_version 1.41
 License:        MIT
 Summary:        Perl Interface to the Domain Name System
 URL:            https://metacpan.org/release/%{cpan_name}
@@ -58,7 +58,7 @@
 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) = %{version}
 Provides:       perl(Net::DNS::Domain)
 Provides:       perl(Net::DNS::DomainName)
 Provides:       perl(Net::DNS::DomainName1035)

++++++ Net-DNS-1.40.tar.gz -> Net-DNS-1.41.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/Changes new/Net-DNS-1.41/Changes
--- old/Net-DNS-1.40/Changes    2023-08-30 20:05:53.000000000 +0200
+++ new/Net-DNS-1.41/Changes    2023-11-27 14:22:19.000000000 +0100
@@ -1,4 +1,14 @@
-$Id: Changes 1936 2023-08-30 18:05:44Z willem $                       
-*-text-*-
+$Id: Changes 1952 2023-11-27 13:22:08Z willem $                       
-*-text-*-
+
+
+**** 1.41 Nov 28, 2023
+
+       Accept inbound Ethernet "Jumbo" UDP packet.
+       Facilitate decoding of mDNS/SD packets with compressed RDATA.
+       Update Parameters.pm to resync with IANA registry.
+
+Fix rt.cpan.org #150550
+       Error trying to use Socket macro SO_REUSEPORT in Windows
 
 
 **** 1.40 Aug 30, 2023
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/META.json new/Net-DNS-1.41/META.json
--- old/Net-DNS-1.40/META.json  2023-08-30 20:06:01.000000000 +0200
+++ new/Net-DNS-1.41/META.json  2023-11-27 14:22:30.000000000 +0100
@@ -6,7 +6,7 @@
       "Michael Fuhr"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "mit"
    ],
@@ -71,6 +71,6 @@
       }
    },
    "release_status" : "stable",
-   "version" : "1.40",
-   "x_serialization_backend" : "JSON::PP version 4.08"
+   "version" : "1.41",
+   "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/META.yml new/Net-DNS-1.41/META.yml
--- old/Net-DNS-1.40/META.yml   2023-08-30 20:06:01.000000000 +0200
+++ new/Net-DNS-1.41/META.yml   2023-11-27 14:22:30.000000000 +0100
@@ -17,7 +17,7 @@
   IO::File: '1.14'
   IO::Socket::IP: '0.38'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 
2.150010'
 license: mit
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -47,5 +47,5 @@
   Scalar::Util: '1.19'
   Time::Local: '1.19'
   perl: '5.008009'
-version: '1.40'
+version: '1.41'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/contrib/check_soa 
new/Net-DNS-1.41/contrib/check_soa
--- old/Net-DNS-1.40/contrib/check_soa  2023-08-30 20:05:53.000000000 +0200
+++ new/Net-DNS-1.41/contrib/check_soa  2023-11-27 14:22:19.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-my $VERSION = (qw$LastChangedRevision: 1811 $)[1];
+my $VERSION = (qw$LastChangedRevision: 1944 $)[1];
 
 =head1 NAME
 
@@ -114,7 +114,7 @@
 
 =head1 COPYRIGHT
 
-(c) 2003-2011  Dick Franks E<lt>rwfranks[...]acm.orgE<gt>
+(c)2003-2011,2014  Dick Franks E<lt>rwfranks[...]acm.orgE<gt>
 
 All rights reserved.
 
@@ -150,12 +150,6 @@
 =cut
 
 
-use constant UTF8 => scalar eval {     ## not UTF-EBCDIC  [see UTR#16 3.6]
-       require Encode;
-       Encode::encode_utf8( chr(182) ) eq pack( 'H*', 'C2B6' );
-};
-
-
 my $self = $0;                                                 # script
 
 my $options = 'dnstv';                                         # options
@@ -171,9 +165,7 @@
 END
 
 
-my ( $target, @nameserver ) = @ARGV;
-
-my $domain = UTF8 && $target =~ /[^\000-\177]/ ? Encode::decode_utf8($target) 
: $target;
+my ( $domain, @nameserver ) = @ARGV;
 
 require Net::DNS;
 
@@ -201,16 +193,10 @@
 $resolver->nameservers(@nameserver) or die $resolver->string;
 
 
-my $question  = Net::DNS::Question->new($domain);              # invert IP 
address/prefix
-my $name      = lc $question->qname;
-my $NetDNSrev = &Net::DNS::version;
-die "\tFeature not supported by Net::DNS $NetDNSrev\n" if $name =~ 
m#[:/\s]|\.\d+$#;
+my $zone = find_zonecut($domain);                              # (also inverts 
IP address/prefix)
 
-my $packet = $resolver->send( "_nx_.$name", 'CNAME' ) or die 
$resolver->errorstring;
-my ($zone) = map { lc( $_->name ) } $packet->authority;
-
-my @ns = ( $zone or $name eq '.' ) ? NS($zone) : ();           # find NS 
serving name
-die "\nno such zone: $name\n\n", $resolver->string unless @ns; # game over
+my @ns = ( $zone ne '.' ) ? NS($zone) : ();                    # find NS 
serving zone
+die "\ninvalid: $domain\n\n", $resolver->string unless @ns;    # game over
 
 
 my @nsname = grep { $_ ne $zone } map { $_->nsdname } @ns;     # extract 
server names from NS records
@@ -273,7 +259,7 @@
 
 $resolver->usevc(1);                                           # no longer ok 
to query ANY over UDP
 $resolver->nameservers(@server);
-displayRR( $name, 'ANY' );
+displayRR( $domain, 'ANY' );
 
 print "----\n";
 
@@ -521,20 +507,28 @@
 }
 
 
+sub find_zonecut {
+       my $name = shift;
+       require Net::DNS::Resolver::Recurse;
+       my $resolver = Net::DNS::Resolver::Recurse->new();
+       my $response = $resolver->send( $name, 'NULL' ) || die 
$resolver->errorstring;
+       my ($cut)    = map { $_->name } $response->authority;
+       return $cut || die "failed to find zone cut for $name";
+}
+
+
 sub ordered {                          ## irreflexive 32-bit partial ordering
-       use integer;
-       my ( $l, $r ) = @_;
+       my ( $n1, $n2 ) = @_;
 
-       return defined $r unless defined $l;                    # ( undef, any )
-       return 0 unless defined $r;                             # ( any, undef )
+       return 0 unless defined $n2;                            # ( any, undef )
+       return 1 unless defined $n1;                            # ( undef, any )
 
-       # unwise to assume 32-bit arithmetic, or that integer overflow goes 
unpunished
-       if ( $l < 0 ) {                                         # translate 
$a<0 region
-               $l = ( $l ^ 0x80000000 ) & 0xFFFFFFFF;          #  0     <= $l 
< 2**31
-               $r = ( $r ^ 0x80000000 ) & 0xFFFFFFFF;          # -2**31 <= $r 
< 2**32
-       }
+       # unwise to assume 64-bit arithmetic, or that 32-bit integer overflow 
goes unpunished
+       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 $l < $r ? ( $l > ( $r - 0x80000000 ) ) : ( $b < ( $l - 
0x80000000 ) );
+       return $n1 < $n2 ? ( $n1 > ( $n2 - 0x80000000 ) ) : ( $n2 < ( $n1 - 
0x80000000 ) );
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/contrib/find_zonecut 
new/Net-DNS-1.41/contrib/find_zonecut
--- old/Net-DNS-1.40/contrib/find_zonecut       2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/contrib/find_zonecut       2023-11-27 14:22:19.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-my $VERSION = (qw$LastChangedRevision: 1811 $)[1] || 0.01;
+my $VERSION = (qw$LastChangedRevision: 1944 $)[1];
 
 =head1 NAME
 
@@ -24,15 +24,15 @@
 
 use Net::DNS;
 
-my $resolver = Net::DNS::Resolver->new();
-
 print find_zonecut(shift), "\n";
 
 
-sub find_zonecut {                     ## Copyright (c)2014 Dick Franks
-       my $name  = shift;
-       my $reply = $resolver->send( "*.$name", 'NULL' ) || die 
$resolver->errorstring;
-       my ($cut) = map { $_->name } $reply->authority;
+sub find_zonecut {
+       my $name = shift;
+       require Net::DNS::Resolver::Recurse;
+       my $resolver = Net::DNS::Resolver::Recurse->new();
+       my $response = $resolver->send( $name, 'NULL' ) || die 
$resolver->errorstring;
+       my ($cut)    = map { $_->name } $response->authority;
        return $cut || die "failed to find zone cut for $name";
 }
 
@@ -41,7 +41,7 @@
 
 =head1 COPYRIGHT
 
-(c)2014  Dick Franks E<lt>rwfranks[...]acm.orgE<gt>
+(c)2014         Dick Franks E<lt>rwfranks[...]acm.orgE<gt>
 
 All rights reserved.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/Nameserver.pm 
new/Net-DNS-1.41/lib/Net/DNS/Nameserver.pm
--- old/Net-DNS-1.40/lib/Net/DNS/Nameserver.pm  2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/Nameserver.pm  2023-11-27 14:22:19.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = (qw$Id: Nameserver.pm 1925 2023-05-31 11:58:59Z willem $)[2];
+our $VERSION = (qw$Id: Nameserver.pm 1949 2023-11-27 11:51:17Z willem $)[2];
 
 
 =head1 NAME
@@ -44,8 +44,10 @@
 use Net::DNS;
 use Net::DNS::ZoneFile;
 
-use IO::Socket::IP 0.38;
 use IO::Select;
+use IO::Socket::IP 0.38;
+use IO::Socket;
+use Socket;
 
 use constant USE_POSIX => defined eval 'use POSIX ":sys_wait_h"; 1';   ## no 
critic
 
@@ -54,6 +56,17 @@
 
 use constant PACKETSZ => 512;
 
+use constant SOCKOPT => eval {
+       my @sockopt;
+       push @sockopt, eval '[SOL_SOCKET, SO_REUSEADDR]';       ## no critic
+       push @sockopt, eval '[SOL_SOCKET, SO_REUSEPORT]';       ## no critic
+
+       my $pretest = sub {                                     # check that 
options safe to use
+               return eval { IO::Socket::IP->new( Proto => "udp", Sockopts => 
[shift], Type => SOCK_DGRAM ) }
+       };
+       return grep { &$pretest($_) } @sockopt;                 # without any 
guarantee that they work!
+};
+
 
 #------------------------------------------------------------------------------
 # Constructor.
@@ -409,8 +422,8 @@
                return $pid;            ## parent
        }
 
-       # else ...                      ## child
-       $coderef->();
+       # else ...
+       $coderef->();                   ## child
        exit;
 }
 
@@ -459,8 +472,7 @@
        my $socket = IO::Socket::IP->new(
                LocalAddr => $ip,
                LocalPort => $port,
-               ReuseAddr => 1,
-               ReusePort => 1,
+               Sockopt   => [SOCKOPT],
                Proto     => "tcp",
                Listen    => SOMAXCONN,
                Type      => SOCK_STREAM
@@ -500,8 +512,7 @@
        my $socket = IO::Socket::IP->new(
                LocalAddr => $ip,
                LocalPort => $port,
-               ReuseAddr => 1,
-               ReusePort => 1,
+               Sockopt   => [SOCKOPT],
                Proto     => "udp",
                Type      => SOCK_DGRAM
                )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/Packet.pm 
new/Net-DNS-1.41/lib/Net/DNS/Packet.pm
--- old/Net-DNS-1.40/lib/Net/DNS/Packet.pm      2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/Packet.pm      2023-11-27 14:22:19.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = (qw$Id: Packet.pm 1925 2023-05-31 11:58:59Z willem $)[2];
+our $VERSION = (qw$Id: Packet.pm 1947 2023-11-23 09:40:45Z willem $)[2];
 
 
 =head1 NAME
@@ -398,9 +398,10 @@
 
        my $header = $self->header;
        my $opcode = $header->opcode;
+       my $packet = $header->qr ? 'Response' : 'Query';
        my $server = $self->{replyfrom};
        my $length = $self->{replysize};
-       my $origin = $server ? ";; Response received from $server ($length 
octets)\n" : "";
+       my $origin = $server ? ";; $packet received from [$server] $length 
octets\n" : "";
        my @record = ( "$origin;; HEADER SECTION", $header->string );
 
        if ( $opcode eq 'DSO' ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/Parameters.pm 
new/Net-DNS-1.41/lib/Net/DNS/Parameters.pm
--- old/Net-DNS-1.40/lib/Net/DNS/Parameters.pm  2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/Parameters.pm  2023-11-27 14:22:19.000000000 
+0100
@@ -3,13 +3,13 @@
 ################################################
 ##
 ##     Domain Name System (DNS) Parameters
-##     (last updated 2023-04-28)
+##     (last updated 2023-11-08)
 ##
 ################################################
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: Parameters.pm 1921 2023-05-08 18:39:59Z willem $)[2];
+our $VERSION = (qw$Id: Parameters.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use integer;
 use Carp;
@@ -112,8 +112,8 @@
        OPENPGPKEY => 61,                                       # RFC7929
        CSYNC      => 62,                                       # RFC7477
        ZONEMD     => 63,                                       # RFC8976
-       SVCB       => 64,                                       # 
RFC-ietf-dnsop-svcb-https-12
-       HTTPS      => 65,                                       # 
RFC-ietf-dnsop-svcb-https-12
+       SVCB       => 64,                                       # RFC9460
+       HTTPS      => 65,                                       # RFC9460
        SPF        => 99,                                       # RFC7208
        UINFO      => 100,                                      # IANA-Reserved
        UID        => 101,                                      # IANA-Reserved
@@ -137,6 +137,7 @@
        AVC        => 258,                                      #
        DOA        => 259,                                      # 
draft-durand-doa-over-dns
        AMTRELAY   => 260,                                      # RFC8777
+       RESINFO    => 261,                                      # 
draft-ietf-add-resolver-info-06
        TA         => 32768,                                    # 
http://cameo.library.cmu.edu/ http://www.watson.org/~weiler/INI1999-19.pdf
        DLV        => 32769,                                    # RFC8749 
RFC4431
        );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/AFSDB.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/AFSDB.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/AFSDB.pm    2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/AFSDB.pm    2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: AFSDB.pm 1898 2023-02-15 14:27:22Z willem $)[2];
+our $VERSION = (qw$Id: AFSDB.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -19,10 +19,10 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
        $self->{subtype}  = unpack "\@$offset n", $$data;
-       $self->{hostname} = Net::DNS::DomainName2535->decode( $data, $offset + 
2 );
+       $self->{hostname} = Net::DNS::DomainName2535->decode( $data, $offset + 
2, @opaque );
        return;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/HTTPS.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/HTTPS.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/HTTPS.pm    2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/HTTPS.pm    2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: HTTPS.pm 1896 2023-01-30 12:59:25Z willem $)[2];
+our $VERSION = (qw$Id: HTTPS.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR::SVCB);
 
@@ -76,4 +76,6 @@
 L<perl> L<Net::DNS> L<Net::DNS::RR>
 L<Net::DNS::RR::SVCB>
 
+L<RFC9460|https://tools.ietf.org/html/rfc9460>
+
 =cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/KX.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/KX.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/KX.pm       2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/KX.pm       2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: KX.pm 1898 2023-02-15 14:27:22Z willem $)[2];
+our $VERSION = (qw$Id: KX.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -19,10 +19,10 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
        $self->{preference} = unpack( "\@$offset n", $$data );
-       $self->{exchange}   = Net::DNS::DomainName2535->decode( $data, $offset 
+ 2 );
+       $self->{exchange}   = Net::DNS::DomainName2535->decode( $data, $offset 
+ 2, @opaque );
        return;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/MX.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/MX.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/MX.pm       2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/MX.pm       2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: MX.pm 1896 2023-01-30 12:59:25Z willem $)[2];
+our $VERSION = (qw$Id: MX.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -19,8 +19,7 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, @argument ) = @_;
-       my ( $data, $offset, @opaque ) = @argument;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
        $self->{preference} = unpack( "\@$offset n", $$data );
        $self->{exchange}   = Net::DNS::DomainName1035->decode( $data, $offset 
+ 2, @opaque );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/NSEC.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/NSEC.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/NSEC.pm     2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/NSEC.pm     2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: NSEC.pm 1896 2023-01-30 12:59:25Z willem $)[2];
+our $VERSION = (qw$Id: NSEC.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -20,10 +20,10 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
        my $limit = $offset + $self->{rdlength};
-       ( $self->{nxtdname}, $offset ) = Net::DNS::DomainName->decode( $data, 
$offset );
+       ( $self->{nxtdname}, $offset ) = Net::DNS::DomainName->decode( $data, 
$offset, @opaque );
        $self->{typebm} = substr $$data, $offset, $limit - $offset;
        return;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/PX.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/PX.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/PX.pm       2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/PX.pm       2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: PX.pm 1898 2023-02-15 14:27:22Z willem $)[2];
+our $VERSION = (qw$Id: PX.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -19,11 +19,11 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
        $self->{preference} = unpack( "\@$offset n", $$data );
-       ( $self->{map822},  $offset ) = Net::DNS::DomainName2535->decode( 
$data, $offset + 2 );
-       ( $self->{mapx400}, $offset ) = Net::DNS::DomainName2535->decode( 
$data, $offset );
+       ( $self->{map822},  $offset ) = Net::DNS::DomainName2535->decode( 
$data, $offset + 2, @opaque );
+       ( $self->{mapx400}, $offset ) = Net::DNS::DomainName2535->decode( 
$data, $offset,     @opaque );
        return;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/RP.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/RP.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/RP.pm       2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/RP.pm       2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: RP.pm 1898 2023-02-15 14:27:22Z willem $)[2];
+our $VERSION = (qw$Id: RP.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -20,10 +20,10 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
-       ( $self->{mbox}, $offset ) = Net::DNS::Mailbox2535->decode( $data, 
$offset );
-       $self->{txtdname} = Net::DNS::DomainName2535->decode( $data, $offset );
+       ( $self->{mbox}, $offset ) = Net::DNS::Mailbox2535->decode( $data, 
$offset, @opaque );
+       $self->{txtdname} = Net::DNS::DomainName2535->decode( $data, $offset, 
@opaque );
        return;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/RT.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/RT.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/RT.pm       2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/RT.pm       2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: RT.pm 1898 2023-02-15 14:27:22Z willem $)[2];
+our $VERSION = (qw$Id: RT.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -19,10 +19,10 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
        $self->{preference}   = unpack( "\@$offset n", $$data );
-       $self->{intermediate} = Net::DNS::DomainName2535->decode( $data, 
$offset + 2 );
+       $self->{intermediate} = Net::DNS::DomainName2535->decode( $data, 
$offset + 2, @opaque );
        return;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/SOA.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/SOA.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/SOA.pm      2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/SOA.pm      2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: SOA.pm 1931 2023-08-23 13:14:15Z willem $)[2];
+our $VERSION = (qw$Id: SOA.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -20,10 +20,9 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, @argument ) = @_;
-       my ( $data, $offset, @opaque ) = @argument;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
-       ( $self->{mname}, $offset ) = 
Net::DNS::DomainName1035->decode(@argument);
+       ( $self->{mname}, $offset ) = Net::DNS::DomainName1035->decode( $data, 
$offset, @opaque );
        ( $self->{rname}, $offset ) = Net::DNS::Mailbox1035->decode( $data, 
$offset, @opaque );
        @{$self}{qw(serial refresh retry expire minimum)} = unpack "\@$offset 
N5", $$data;
        return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/SRV.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/SRV.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/SRV.pm      2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/SRV.pm      2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: SRV.pm 1898 2023-02-15 14:27:22Z willem $)[2];
+our $VERSION = (qw$Id: SRV.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -19,11 +19,11 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
        @{$self}{qw(priority weight port)} = unpack( "\@$offset n3", $$data );
 
-       $self->{target} = Net::DNS::DomainName2535->decode( $data, $offset + 6 
);
+       $self->{target} = Net::DNS::DomainName2535->decode( $data, $offset + 6, 
@opaque );
        return;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/RR/SVCB.pm 
new/Net-DNS-1.41/lib/Net/DNS/RR/SVCB.pm
--- old/Net-DNS-1.40/lib/Net/DNS/RR/SVCB.pm     2023-08-30 20:05:53.000000000 
+0200
+++ new/Net-DNS-1.41/lib/Net/DNS/RR/SVCB.pm     2023-11-27 14:22:19.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: SVCB.pm 1930 2023-08-21 14:10:10Z willem $)[2];
+our $VERSION = (qw$Id: SVCB.pm 1945 2023-11-22 08:02:31Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -35,22 +35,19 @@
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
-       my ( $self, $data, $offset ) = @_;
+       my ( $self, $data, $offset, @opaque ) = @_;
 
-       my $rdata = substr $$data, $offset, $self->{rdlength};
-       $self->{SvcPriority} = unpack( 'n', $rdata );
-
-       my $index;
-       ( $self->{TargetName}, $index ) = Net::DNS::DomainName->decode( 
\$rdata, 2 );
+       my $limit = $offset + $self->{rdlength};
+       $self->{SvcPriority} = unpack( "\@$offset n", $$data );
+       ( $self->{TargetName}, $offset ) = Net::DNS::DomainName->decode( $data, 
$offset + 2, @opaque );
 
        my $params = $self->{SvcParams} = [];
-       my $limit  = length($rdata) - 3;
-       while ( $index < $limit ) {
-               my ( $key, $size ) = unpack( "\@$index n2", $rdata );
-               push @$params, ( $key, substr $rdata, $index + 4, $size );
-               $index += ( $size + 4 );
+       while ( $offset < $limit ) {
+               my ( $key, $size ) = unpack( "\@$offset n2", $$data );
+               push @$params, ( $key, substr $$data, $offset + 4, $size );
+               $offset += ( $size + 4 );
        }
-       die $self->type . ': corrupt RDATA' unless $index == length($rdata);
+       die $self->type . ': corrupt RDATA' unless $offset == $limit;
        return;
 }
 
@@ -255,7 +252,7 @@
        s/\\,/\\044/g;                                          # disguise 
(RFC1035) escaped comma
        die <<"QQ" if /\\092,|\\092\\092/;
 SVCB:  Please use standard RFC1035 escapes
-       draft-ietf-dnsop-svcb-https double-escape nonsense not implemented
+       RFC9460 double-escape nonsense not implemented
 QQ
        return _presentation( map { Net::DNS::Text->new($_)->encode() } split 
/,/ );
 }
@@ -350,7 +347,7 @@
     $string = $rr->port();     # \004\210
     $rr->key3($string);
 
-Constructor methods for mnemonic SvcParams defined in 
draft-ietf-dnsop-svcb-https.
+Constructor methods for mnemonic SvcParams prescribed by RFC9460.
 When invoked without arguments, the methods return the presentation format
 value for the underlying key.
 The behaviour with undefined arguments is not specified.
@@ -399,8 +396,7 @@
 =head1 SEE ALSO
 
 L<perl> L<Net::DNS> L<Net::DNS::RR>
-draft-ietf-dnsop-svcb-https,
-L<RFC1035|https://tools.ietf.org/html/rfc1035>
+L<RFC9460|https://tools.ietf.org/html/rfc9460>
 
 L<Service Parameter Keys|https://www.iana.org/assignments/dns-svcb>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS/Resolver/Base.pm 
new/Net-DNS-1.41/lib/Net/DNS/Resolver/Base.pm
--- old/Net-DNS-1.40/lib/Net/DNS/Resolver/Base.pm       2023-08-30 
20:05:53.000000000 +0200
+++ new/Net-DNS-1.41/lib/Net/DNS/Resolver/Base.pm       2023-11-27 
14:22:19.000000000 +0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: Base.pm 1930 2023-08-21 14:10:10Z willem $)[2];
+our $VERSION = (qw$Id: Base.pm 1947 2023-11-23 09:40:45Z willem $)[2];
 
 
 #
@@ -443,13 +443,13 @@
                $self->errorstring($!);
 
                my $buffer = _read_tcp($socket);
-               $self->{replyfrom} = $ip;
-               $self->_diag( 'reply from', "[$ip]", length($buffer), 'bytes' );
+               my $peer   = $self->{replyfrom} = $socket->peerhost;
+               $self->_diag( 'packet from', "[$peer]", length($buffer), 
'octets' );
 
                my $reply = Net::DNS::Packet->decode( \$buffer, $self->{debug} 
);
                $self->errorstring($@);
                next unless $self->_accept_reply( $reply, $query );
-               $reply->from($ip);
+               $reply->from($peer);
 
                if ( $self->{tsig_rr} && !$reply->verify($query) ) {
                        $self->errorstring( $reply->verifyerr );
@@ -509,10 +509,10 @@
 
                        my $reply;
                        while ( my ($socket) = $select->can_read($timeout) ) {
-                               my $peer = $self->{replyfrom} = 
$socket->peerhost;
+                               my $buffer = _read_udp($socket);
 
-                               my $buffer = _read_udp( $socket, 
$self->_packetsz );
-                               $self->_diag( "reply from [$peer]", 
length($buffer), 'bytes' );
+                               my $peer = $self->{replyfrom} = 
$socket->peerhost;
+                               $self->_diag( "packet from [$peer]", 
length($buffer), 'octets' );
 
                                my $packet = Net::DNS::Packet->decode( 
\$buffer, $self->{debug} );
                                $self->errorstring($@);
@@ -621,15 +621,16 @@
        my ( $expire, $query, $read ) = @$appendix;
        return if ref($read);
 
-       return time() <= $expire unless IO::Select->new($handle)->can_read(0);
+       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;
 
        my $ans = $self->_bgread($handle);
+       $$appendix[0] = time();
        $$appendix[2] = [$ans];
        return unless $ans;
+       return if $self->{igntc};
        return unless $ans->header->tc;
 
        $self->_diag('packet truncated: retrying using TCP');
@@ -661,20 +662,17 @@
        my ( $expire, $query, $read ) = @$appendix;
        return shift(@$read) if ref($read);
 
-       my $select = IO::Select->new($handle);
-       unless ( $select->can_read(0) ) {
-               $self->errorstring('timed out');
-               return;
-       }
-
-       my $peer = $self->{replyfrom} = $handle->peerhost;
+       return unless IO::Select->new($handle)->can_read(0);
 
        my $dgram  = $handle->socktype() == SOCK_DGRAM;
-       my $buffer = $dgram ? _read_udp( $handle, $self->_packetsz ) : 
_read_tcp($handle);
-       $self->_diag( "reply from [$peer]", length($buffer), 'bytes' );
+       my $buffer = $dgram ? _read_udp($handle) : _read_tcp($handle);
+
+       my $peer = $self->{replyfrom} = $handle->peerhost;
+       $self->_diag( "packet from [$peer]", length($buffer), 'octets' );
 
        my $reply = Net::DNS::Packet->decode( \$buffer, $self->{debug} );
        $self->errorstring($@);
+
        return unless $self->_accept_reply( $reply, $query );
        $reply->from($peer);
 
@@ -692,7 +690,7 @@
        my $header = $reply->header;
        return unless $header->qr;
 
-       return if $query && $header->id != $query->header->id;
+       return if $query && ( $header->id != $query->header->id );
 
        return $self->errorstring( $header->rcode );            # historical 
quirk
 }
@@ -746,7 +744,7 @@
        my ( $self, @argument ) = @_;                           # uncoverable 
pod
        $self->_deprecate('prefer  $iterator = $self->axfr(...)');
        my $iterator = $self->axfr(@argument);
-       ( $self->{axfr_iter} ) = grep {defined} ( $iterator, sub {} );
+       ( $self->{axfr_iter} ) = grep {defined} ( $iterator, sub { } );
        return defined($iterator);
 }
 
@@ -838,18 +836,18 @@
 
 
 #
-# Usage:  $data = _read_udp($socket, $length);
+# Usage:  $data = _read_udp($socket);
 #
 sub _read_udp {
        my $socket = shift;
        my $buffer = '';
-       $socket->recv( $buffer, shift );
+       $socket->recv( $buffer, 9000 ); ## payload limit for Ethernet "Jumbo" 
packet
        return $buffer;
 }
 
 
 sub _create_tcp_socket {
-       my ( $self, $ip ) = @_;
+       my ( $self, $ip, @sockopt ) = @_;
 
        my $socket;
        my $sock_key = "TCP[$ip]";
@@ -867,6 +865,7 @@
                PeerPort  => $self->{port},
                Proto     => 'tcp',
                Timeout   => $self->{tcp_timeout},
+               @sockopt
                )
                        if USE_SOCKET_IP;
 
@@ -878,6 +877,7 @@
                        PeerPort  => $self->{port},
                        Proto     => 'tcp',
                        Timeout   => $self->{tcp_timeout},
+                       @sockopt
                        )
                                unless $ip6_addr;
        }
@@ -888,7 +888,7 @@
 
 
 sub _create_udp_socket {
-       my ( $self, $ip ) = @_;
+       my ( $self, $ip, @sockopt ) = @_;
 
        my $socket;
        my $sock_key = "UDP[$ip]";
@@ -899,7 +899,8 @@
                LocalAddr => $ip6_addr ? $self->{srcaddr6} : $self->{srcaddr4},
                LocalPort => $self->{srcport},
                Proto     => 'udp',
-               Type      => SOCK_DGRAM
+               Type      => SOCK_DGRAM,
+               @sockopt
                )
                        if USE_SOCKET_IP;
 
@@ -908,7 +909,8 @@
                        LocalAddr => $self->{srcaddr4},
                        LocalPort => $self->{srcport} || undef,
                        Proto     => 'udp',
-                       Type      => SOCK_DGRAM
+                       Type      => SOCK_DGRAM,
+                       @sockopt
                        )
                                unless $ip6_addr;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/lib/Net/DNS.pm 
new/Net-DNS-1.41/lib/Net/DNS.pm
--- old/Net-DNS-1.40/lib/Net/DNS.pm     2023-08-30 20:05:53.000000000 +0200
+++ new/Net-DNS-1.41/lib/Net/DNS.pm     2023-11-27 14:22:19.000000000 +0100
@@ -4,9 +4,9 @@
 use warnings;
 
 our $VERSION;
-$VERSION = '1.40';
+$VERSION = '1.41';
 $VERSION = eval {$VERSION};
-our $SVNVERSION = (qw$Id: DNS.pm 1936 2023-08-30 18:05:44Z willem $)[2];
+our $SVNVERSION = (qw$Id: DNS.pm 1951 2023-11-27 13:20:59Z willem $)[2];
 
 
 =head1 NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/t/04-packet.t 
new/Net-DNS-1.41/t/04-packet.t
--- old/Net-DNS-1.40/t/04-packet.t      2023-08-30 20:05:53.000000000 +0200
+++ new/Net-DNS-1.41/t/04-packet.t      2023-11-27 14:22:19.000000000 +0100
@@ -1,10 +1,10 @@
 #!/usr/bin/perl
-# $Id: 04-packet.t 1910 2023-03-30 19:16:30Z willem $  -*-perl-*-
+# $Id: 04-packet.t 1947 2023-11-23 09:40:45Z willem $  -*-perl-*-
 #
 
 use strict;
 use warnings;
-use Test::More tests => 102;
+use Test::More tests => 103;
 use TestToolkit;
 
 
@@ -168,6 +168,7 @@
 for my $packet ( Net::DNS::Packet->new('example.com') ) {
        my $reply = $packet->reply();   ## check $packet->reply()
        ok( $reply->isa('Net::DNS::Packet'), '$packet->reply() returns packet' 
);
+       like( $reply->string, '/HEADER/', 'reply->string() represents packet' );
 
        my $udpmax = 2048;
        $packet->edns->udpsize($udpmax);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/t/08-IPv4.t new/Net-DNS-1.41/t/08-IPv4.t
--- old/Net-DNS-1.40/t/08-IPv4.t        2023-08-30 20:05:53.000000000 +0200
+++ new/Net-DNS-1.41/t/08-IPv4.t        2023-11-27 14:22:19.000000000 +0100
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: 08-IPv4.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*-
+# $Id: 08-IPv4.t 1945 2023-11-22 08:02:31Z willem $ -*-perl-*-
 #
 
 use strict;
@@ -409,19 +409,19 @@
 }
 
 
-{                                      ## exercise error path in bgbusy() and 
_bgread()
-       my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout 
=> 0 );
+{                                      ## exercise error path in bgbusy() and 
bgread()
+       my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout 
=> 5 );
+       my $original = $resolver->_make_query_packet(qw(net-dns.org SOA));
+       my $mismatch = $resolver->_make_query_packet(qw(net-dns.org SOA));
+       my $handle   = $resolver->_bgsend_udp( $original, $mismatch->data );
+       ok( !$resolver->bgread($handle), 'bgread()      id mismatch' );
 
-       ok( !$resolver->bgread(undef), '_bgread()       undefined handle' );
+       ok( !$resolver->bgread(undef), 'bgread()        undefined handle' );
 
-       my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA));
-       my $broken = bless {%$packet, id => 0xffff ^ $packet->header->id}, 
ref($packet);
-       my $handle = $resolver->_bgsend_udp( $packet, $broken->data );
-       ok( !$resolver->bgread($handle), '_bgread()     no reply' );
-
-       ok( !$resolver->bgread( ref($handle)->new ), '_bgread() timeout' );
+       ok( !$resolver->bgread( ref($handle)->new ), 'bgread()  timeout' );
 
        $resolver->tcp_timeout(10);
+       my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA));
        my $socket = $resolver->_bgsend_tcp( $packet, $packet->data );
        while ( $resolver->bgbusy($socket) ) { sleep 1 }
        my $discard;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.40/t/08-IPv6.t new/Net-DNS-1.41/t/08-IPv6.t
--- old/Net-DNS-1.40/t/08-IPv6.t        2023-08-30 20:05:53.000000000 +0200
+++ new/Net-DNS-1.41/t/08-IPv6.t        2023-11-27 14:22:19.000000000 +0100
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: 08-IPv6.t 1930 2023-08-21 14:10:10Z willem $ -*-perl-*-
+# $Id: 08-IPv6.t 1945 2023-11-22 08:02:31Z willem $ -*-perl-*-
 #
 
 use strict;
@@ -412,19 +412,19 @@
 }
 
 
-{                                      ## exercise error path in bgbusy() and 
_bgread()
-       my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout 
=> 0 );
+{                                      ## exercise error path in bgbusy() and 
bgread()
+       my $resolver = Net::DNS::Resolver->new( nameservers => $IP, udp_timeout 
=> 5 );
+       my $original = $resolver->_make_query_packet(qw(net-dns.org SOA));
+       my $mismatch = $resolver->_make_query_packet(qw(net-dns.org SOA));
+       my $handle   = $resolver->_bgsend_udp( $original, $mismatch->data );
+       ok( !$resolver->bgread($handle), 'bgread()      id mismatch' );
 
-       ok( !$resolver->bgread(undef), '_bgread()       undefined handle' );
+       ok( !$resolver->bgread(undef), 'bgread()        undefined handle' );
 
-       my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA));
-       my $broken = bless {%$packet, id => 0xffff ^ $packet->header->id}, 
ref($packet);
-       my $handle = $resolver->_bgsend_udp( $packet, $broken->data );
-       ok( !$resolver->bgread($handle), '_bgread()     no reply' );
-
-       ok( !$resolver->bgread( ref($handle)->new ), '_bgread() timeout' );
+       ok( !$resolver->bgread( ref($handle)->new ), 'bgread()  timeout' );
 
        $resolver->tcp_timeout(10);
+       my $packet = $resolver->_make_query_packet(qw(net-dns.org SOA));
        my $socket = $resolver->_bgsend_tcp( $packet, $packet->data );
        while ( $resolver->bgbusy($socket) ) { sleep 1 }
        my $discard;

Reply via email to