Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Net-DNS for openSUSE:Factory 
checked in at 2026-01-26 10:44:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Net-DNS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Net-DNS"

Mon Jan 26 10:44:41 2026 rev:83 rq:1328816 version:1.540.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Net-DNS/perl-Net-DNS.changes        
2025-10-10 17:08:21.126722656 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Net-DNS.new.1928/perl-Net-DNS.changes      
2026-01-26 10:56:47.844156827 +0100
@@ -1,0 +2,6 @@
+Sat Jan 17 05:38:56 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 1.540.0 (1.54)
+   see /usr/share/doc/packages/perl-Net-DNS/Changes
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ perl-Net-DNS.spec ++++++
--- /var/tmp/diff_new_pack.0emTtB/_old  2026-01-26 10:56:59.628650174 +0100
+++ /var/tmp/diff_new_pack.0emTtB/_new  2026-01-26 10:56:59.632650342 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Net-DNS
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,10 +18,10 @@
 
 %define cpan_name Net-DNS
 Name:           perl-Net-DNS
-Version:        1.530.0
+Version:        1.540.0
 Release:        0
-# 1.53 -> normalize -> 1.530.0
-%define cpan_version 1.53
+# 1.54 -> normalize -> 1.540.0
+%define cpan_version 1.54
 License:        MIT
 Summary:        Perl Interface to the Domain Name System
 URL:            https://metacpan.org/release/%{cpan_name}
@@ -77,13 +77,13 @@
 Provides:       perl(Net::DNS::DomainName) = 2005.0.0
 Provides:       perl(Net::DNS::DomainName1035)
 Provides:       perl(Net::DNS::DomainName2535)
-Provides:       perl(Net::DNS::Header) = 2002.0.0
+Provides:       perl(Net::DNS::Header) = 2042.0.0
 Provides:       perl(Net::DNS::Mailbox) = 2002.0.0
 Provides:       perl(Net::DNS::Mailbox1035)
 Provides:       perl(Net::DNS::Mailbox2535)
 Provides:       perl(Net::DNS::Nameserver) = 2002.0.0
 Provides:       perl(Net::DNS::Packet) = 2003.0.0
-Provides:       perl(Net::DNS::Parameters) = 2021.0.0
+Provides:       perl(Net::DNS::Parameters) = 2043.0.0
 Provides:       perl(Net::DNS::Question) = 2002.0.0
 Provides:       perl(Net::DNS::RR) = 2037.0.0
 Provides:       perl(Net::DNS::RR::A) = 2003.0.0
@@ -95,14 +95,15 @@
 Provides:       perl(Net::DNS::RR::CAA) = 2003.0.0
 Provides:       perl(Net::DNS::RR::CDNSKEY) = 2003.0.0
 Provides:       perl(Net::DNS::RR::CDS) = 2003.0.0
-Provides:       perl(Net::DNS::RR::CERT) = 2002.0.0
+Provides:       perl(Net::DNS::RR::CERT) = 2042.0.0
 Provides:       perl(Net::DNS::RR::CNAME) = 2003.0.0
 Provides:       perl(Net::DNS::RR::CSYNC) = 2003.0.0
-Provides:       perl(Net::DNS::RR::DELEG) = 2039.0.0
+Provides:       perl(Net::DNS::RR::DELEG) = 2043.0.0
+Provides:       perl(Net::DNS::RR::DELEGI) = 2043.0.0
 Provides:       perl(Net::DNS::RR::DHCID) = 2003.0.0
 Provides:       perl(Net::DNS::RR::DNAME) = 2003.0.0
-Provides:       perl(Net::DNS::RR::DNSKEY) = 2003.0.0
-Provides:       perl(Net::DNS::RR::DS) = 2003.0.0
+Provides:       perl(Net::DNS::RR::DNSKEY) = 2042.0.0
+Provides:       perl(Net::DNS::RR::DS) = 2042.0.0
 Provides:       perl(Net::DNS::RR::DSYNC) = 2003.0.0
 Provides:       perl(Net::DNS::RR::EUI48) = 2003.0.0
 Provides:       perl(Net::DNS::RR::EUI64) = 2003.0.0
@@ -150,15 +151,15 @@
 Provides:       perl(Net::DNS::RR::PX) = 2003.0.0
 Provides:       perl(Net::DNS::RR::RESINFO) = 2003.0.0
 Provides:       perl(Net::DNS::RR::RP) = 2002.0.0
-Provides:       perl(Net::DNS::RR::RRSIG) = 2003.0.0
+Provides:       perl(Net::DNS::RR::RRSIG) = 2042.0.0
 Provides:       perl(Net::DNS::RR::RT) = 2003.0.0
-Provides:       perl(Net::DNS::RR::SIG) = 2003.0.0
+Provides:       perl(Net::DNS::RR::SIG) = 2042.0.0
 Provides:       perl(Net::DNS::RR::SMIMEA) = 2003.0.0
 Provides:       perl(Net::DNS::RR::SOA) = 2002.0.0
 Provides:       perl(Net::DNS::RR::SPF) = 2003.0.0
 Provides:       perl(Net::DNS::RR::SRV) = 2003.0.0
 Provides:       perl(Net::DNS::RR::SSHFP) = 2003.0.0
-Provides:       perl(Net::DNS::RR::SVCB) = 2037.0.0
+Provides:       perl(Net::DNS::RR::SVCB) = 2043.0.0
 Provides:       perl(Net::DNS::RR::TKEY) = 2035.0.0
 Provides:       perl(Net::DNS::RR::TLSA) = 2003.0.0
 Provides:       perl(Net::DNS::RR::TSIG) = 2003.0.0
@@ -175,7 +176,7 @@
 Provides:       perl(Net::DNS::Resolver::cygwin) = 2002.0.0
 Provides:       perl(Net::DNS::Resolver::os2) = 2007.0.0
 Provides:       perl(Net::DNS::Resolver::os390) = 2007.0.0
-Provides:       perl(Net::DNS::Text) = 2002.0.0
+Provides:       perl(Net::DNS::Text) = 2043.0.0
 Provides:       perl(Net::DNS::Update) = 2017.0.0
 Provides:       perl(Net::DNS::ZoneFile) = 2002.0.0
 Provides:       perl(Net::DNS::ZoneFile::Generator)

++++++ Net-DNS-1.53.tar.gz -> Net-DNS-1.54.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/Changes new/Net-DNS-1.54/Changes
--- old/Net-DNS-1.53/Changes    2025-08-29 14:17:53.000000000 +0200
+++ new/Net-DNS-1.54/Changes    2026-01-16 13:30:38.000000000 +0100
@@ -1,4 +1,12 @@
-$Id: Changes 2041 2025-08-29 12:11:41Z willem $                       
-*-text-*-
+$Id: Changes 2045 2026-01-16 12:30:12Z willem $                       
-*-text-*-
+
+
+**** 1.54 Jan 16, 2026
+
+       Resync with IANA DNS parameters registry.
+       Resync with IANA DNSSEC algorithms registry.
+       Implement DELEGI as derived subtype of DELEG RR.
+       Backport DELEG parser to SVCB.
 
 
 **** 1.53 Aug 29, 2025
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/MANIFEST new/Net-DNS-1.54/MANIFEST
--- old/Net-DNS-1.53/MANIFEST   2025-08-29 14:17:59.000000000 +0200
+++ new/Net-DNS-1.54/MANIFEST   2026-01-16 13:30:53.000000000 +0100
@@ -45,6 +45,7 @@
 lib/Net/DNS/RR/CNAME.pm
 lib/Net/DNS/RR/CSYNC.pm
 lib/Net/DNS/RR/DELEG.pm
+lib/Net/DNS/RR/DELEGI.pm
 lib/Net/DNS/RR/DHCID.pm
 lib/Net/DNS/RR/DNAME.pm
 lib/Net/DNS/RR/DNSKEY.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/META.json new/Net-DNS-1.54/META.json
--- old/Net-DNS-1.53/META.json  2025-08-29 14:17:59.000000000 +0200
+++ new/Net-DNS-1.54/META.json  2026-01-16 13:30:53.000000000 +0100
@@ -79,6 +79,6 @@
       }
    },
    "release_status" : "stable",
-   "version" : "1.53",
+   "version" : "1.54",
    "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/META.yml new/Net-DNS-1.54/META.yml
--- old/Net-DNS-1.53/META.yml   2025-08-29 14:17:59.000000000 +0200
+++ new/Net-DNS-1.54/META.yml   2026-01-16 13:30:52.000000000 +0100
@@ -55,5 +55,5 @@
   perl: '5.008009'
   strict: '1.03'
   warnings: '1.0501'
-version: '1.53'
+version: '1.54'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/Header.pm 
new/Net-DNS-1.54/lib/Net/DNS/Header.pm
--- old/Net-DNS-1.53/lib/Net/DNS/Header.pm      2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/Header.pm      2026-01-16 13:30:38.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = (qw$Id: Header.pm 2002 2025-01-07 09:57:46Z willem $)[2];
+our $VERSION = (qw$Id: Header.pm 2042 2025-12-24 10:23:11Z willem $)[2];
 
 
 =head1 NAME
@@ -86,11 +86,12 @@
        my $cd = $self->cd;
        my $do = $self->do;
        my $co = $self->co;
+       my $de = $self->de;
        return <<"QQ";
 ;;     id = $dispid
 ;;     qr = $qr        aa = $aa        tc = $tc        rd = $rd        opcode 
= $opcode
 ;;     ra = $ra        z  = $zz        ad = $ad        cd = $cd        rcode  
= $rcode
-;;     do = $do        co = $co
+;;     do = $do        co = $co        de = $de
 ;;     qdcount = $qd   ancount = $an
 ;;     nscount = $ns   arcount = $ar
 QQ
@@ -376,7 +377,7 @@
 
 =head1 EDNS Protocol Extensions
 
-=head2 do, co
+=head2 do, co, de
 
        print "DNSSEC_OK flag was ", $packet->header->do ? "not" : "", "set\n";
        $packet->header->do(1);
@@ -395,6 +396,11 @@
        return $self->_ednsflag( 0x4000, @value );
 }
 
+sub de {
+       my ( $self, @value ) = @_;
+       return $self->_ednsflag( 0x2000, @value );
+}
+
 
 =head2 Extended rcode
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/Parameters.pm 
new/Net-DNS-1.54/lib/Net/DNS/Parameters.pm
--- old/Net-DNS-1.53/lib/Net/DNS/Parameters.pm  2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/Parameters.pm  2026-01-16 13:30:38.000000000 
+0100
@@ -3,13 +3,13 @@
 ################################################
 ##
 ##     Domain Name System (DNS) Parameters
-##     (last updated 2025-07-01)
+##     (last updated 2025-12-29)
 ##
 ################################################
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: Parameters.pm 2021 2025-07-04 13:00:27Z willem $)[2];
+our $VERSION = (qw$Id: Parameters.pm 2043 2026-01-14 13:35:59Z willem $)[2];
 
 use integer;
 use Carp;
@@ -50,7 +50,9 @@
 
 # Registry: Resource Record (RR) TYPEs
 my @typebyname = (
-       DELEG      => 65432,                                    # 
draft-ietf-deleg
+       DELEG      => 65432,                                    # 
draft-ietf-deleg-02
+       DELEG      => 61440,                                    # 
draft-ietf-deleg-03
+       DELEGI     => 65433,                                    # 
draft-ietf-deleg-03
        A          => 1,                                        # RFC1035
        NS         => 2,                                        # RFC1035
        MD         => 3,                                        # RFC1035
@@ -115,9 +117,9 @@
        ZONEMD     => 63,                                       # RFC8976
        SVCB       => 64,                                       # RFC9460
        HTTPS      => 65,                                       # RFC9460
-       DSYNC      => 66,                                       # 
RFC-ietf-dnsop-generalized-notify-09
-       HHIT       => 67,                                       # 
draft-ietf-drip-registries-28
-       BRID       => 68,                                       # 
draft-ietf-drip-registries-28
+       DSYNC      => 66,                                       # RFC9859
+       HHIT       => 67,                                       # RFC9886
+       BRID       => 68,                                       # RFC9886
        SPF        => 99,                                       # RFC7208
        UINFO      => 100,                                      # IANA-Reserved
        UID        => 101,                                      # IANA-Reserved
@@ -129,7 +131,7 @@
        LP         => 107,                                      # RFC6742
        EUI48      => 108,                                      # RFC7043
        EUI64      => 109,                                      # RFC7043
-       NXNAME     => 128,                                      # 
RFC-ietf-dnsop-compact-denial-of-existence-07
+       NXNAME     => 128,                                      # RFC9824
        TKEY       => 249,                                      # RFC2930
        TSIG       => 250,                                      # RFC8945
        IXFR       => 251,                                      # RFC1995
@@ -244,7 +246,7 @@
 # Registry: EDNS Header Flags (16 bits)
 my @ednsflagbyname = (
        DO => 0x8000,                                           # RFC4035 
RFC3225 RFC6840
-       CO => 0x4000,                                           # 
RFC-ietf-dnsop-compact-denial-of-existence-07
+       CO => 0x4000,                                           # RFC9824
        );
 push @ednsflagbyname, map { /^\d/ ? $_ : lc($_) } @ednsflagbyname;
 our %ednsflagbyname = @ednsflagbyname;
@@ -297,7 +299,7 @@
        27 => 'Unsupported NSEC3 Iterations Value',             # RFC9276
        28 => 'Unable to conform to policy',                    # 
draft-homburg-dnsop-codcp-00
        29 => 'Synthesized',                                    # 
https://github.com/PowerDNS/pdns/pull/12334
-       30 => 'Invalid Query Type',                             # 
RFC-ietf-dnsop-compact-denial-of-existence-07
+       30 => 'Invalid Query Type',                             # RFC9824
        );
 our %dnserrorbyval = @dnserrorbyval;
 
@@ -416,8 +418,8 @@
 sub _typespec {
        my $generate = defined wantarray;
        return EXTLANG ? eval <<'END' : '';     ## no critic
-       my ($node) = @_;                ## draft-levine-dnsextlang
-       my $instance = Net::DNS::Extlang->new();
+       my ($node) = @_;
+       my $instance = Net::DNS::Extlang->new();        ## 
draft-levine-dnsextlang
        my $basename = $instance->domain || return '';
 
        require Net::DNS::Resolver;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/CERT.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/CERT.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/CERT.pm     2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/CERT.pm     2026-01-16 13:30:38.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: CERT.pm 2002 2025-01-07 09:57:46Z willem $)[2];
+our $VERSION = (qw$Id: CERT.pm 2042 2025-12-24 10:23:11Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -141,8 +141,8 @@
                'ECDSAP384SHA384'    => 14,                     # [RFC6605]
                'ED25519'            => 15,                     # [RFC8080]
                'ED448'              => 16,                     # [RFC8080]
-               'SM2SM3'             => 17,                     # 
[RFC-cuiling-dnsop-sm2-alg-15]
-               'ECC-GOST12'         => 23,                     # 
[RFC-makarenko-gost2012-dnssec-05]
+               'SM2SM3'             => 17,                     # [RFC9563]
+               'ECC-GOST12'         => 23,                     # [RFC9558]
 
                'INDIRECT'   => 252,                            # [RFC4034]
                'PRIVATEDNS' => 253,                            # [RFC4034]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/DELEG.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/DELEG.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/DELEG.pm    2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/DELEG.pm    2026-01-16 13:30:38.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: DELEG.pm 2039 2025-08-26 09:01:09Z willem $)[2];
+our $VERSION = (qw$Id: DELEG.pm 2043 2026-01-14 13:35:59Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -18,13 +18,16 @@
 use Net::DNS::RR::A;
 use Net::DNS::RR::AAAA;
 use Net::DNS::DomainName;
+use Net::DNS::Text;
 
-my %keyname = (
-       1 => 'server-ip4',
-       2 => 'server-ip6',
+my %keybycode = (
+       0 => 'mandatory',
+       1 => 'server-ipv4',
+       2 => 'server-ipv6',
        3 => 'server-name',
-       4 => 'include-name',
+       4 => 'include-delegi',
        );
+my %keybyname = reverse %keybycode;
 
 
 sub _decode_rdata {                    ## decode rdata from wire-format octet 
string
@@ -69,13 +72,13 @@
        while (@parameters) {
                my $key = shift @parameters;
                my $val = shift @parameters;
-               if ( my $name = $keyname{$key} ) {
+               if ( my $name = $keybycode{$key} ) {
                        my @val = grep {length} $self->$name;
                        my @rhs = grep {length} join ',', @val;
                        push @rdata, join '=', $name, @rhs;
                } else {
-                       my @hex = unpack 'H*', $val;
-                       $self->_annotation(qq[unexpected key$key="@hex"]);
+                       my $txt = Net::DNS::Text->decode( \$val, 0, length $val 
);
+                       push @rdata, join '=', "key$key", $txt->string;
                }
        }
 
@@ -87,16 +90,17 @@
        my ( $self, @argument ) = @_;
 
        while ( local $_ = shift @argument ) {
-               my @value;
-               m/^[^=]+=?(.*)$/;
-               for ( my $rhs = /=$/ ? shift @argument : $1 ) {
-                       s/^"(.*)"$/$1/;                         # strip 
enclosing quotes
+               m/^([^=]+)(=?)(.*)$/;
+               my $key = $1;
+               my $val = length($3) ? $3 : $2 ? shift @argument : '';
+               if (/^key\d+/) {
+                       $self->$key($val);
+               } else {
+                       local $_ = $val;
+                       s/^"([^"]*)"$/$1/s;                     # strip 
enclosing quotes
                        s/\\,/\\044/g;                          # disguise 
escaped comma
-                       push @value, length() ? split /,/ : ();
+                       $self->$key( split /,/ );
                }
-
-               m/^([^=]+)/;                                    # extract 
identifier
-               $self->$1(@value);
        }
        return;
 }
@@ -106,50 +110,72 @@
        my $self = shift;
 
        my ($paramref) = grep {defined} $self->{parameters}, [];
-       my %paramhash  = @$paramref;
-       if ( defined $paramhash{3} ) {
-               die( $self->type . qq[: invalid $keyname{3}] )
-                               unless unpack 'xa*', $paramhash{3};
+       my %parameter  = @$paramref;
+
+       if ( defined $parameter{0} ) {
+               my %unique;
+               foreach ( grep { !$unique{$_}++ } unpack 'n*', $parameter{0} ) {
+                       die( $self->type . qq[: unexpected "key0" in mandatory 
list] ) if $unique{0};
+                       die( $self->type . qq[: duplicate "key$_" in mandatory 
list] ) if --$unique{$_};
+                       die( $self->type . qq[: mandatory "key$_" not present] 
) unless defined $parameter{$_};
+               }
+       }
+
+       foreach ( 3, 4 ) {
+               next unless defined $parameter{$_};
+               next if length( $parameter{$_} ) > 1;
+               die( $self->type . qq[: invalid $keybycode{$_}] );
        }
 
-       if ( defined $paramhash{4} ) {
-               die( $self->type . qq[: invalid $keyname{4}] )
-                               unless unpack 'xa*', delete $paramhash{4};
-               die( $self->type . qq[: parameter conflicts with $keyname{4}] )
-                               if scalar keys %paramhash;
+       if ( defined $parameter{4} ) {
+               die( $self->type . qq[: parameter conflicts with $keybycode{4}] 
)
+                               if scalar( keys %parameter ) > 1;
        }
        return;
 }
 
 
-sub server_ip4 {                       ## server-ip4=192.0.2.53
+sub mandatory {                                ## 
mandatory=key1,server-name,...
+       my ( $self, @value ) = @_;                              # uncoverable 
pod
+       my @list = map { $keybyname{lc $_} || $_ } @value;
+       my @keys = map { /(\d+)$/ ? $1 : die( $self->type . qq[: unexpected 
"$_"] ) } @list;
+       return $self->_parameter( 0, _integer16( sort { $a <=> $b } @keys ) ) 
if @keys;
+       my $packed = $self->_parameter(0);
+       return _list( defined($packed) ? map {"key$_"} unpack 'n*', $packed : 
return );
+}
+
+sub server_ipv4 {                      ## server-ipv4=192.0.2.53
        my ( $self, @value ) = @_;
        return $self->_parameter( 1, _address4(@value) ) if @value;
        my $packed = $self->_parameter(1) || return;
        my @iplist = unpack 'a4' x ( length($packed) / 4 ), $packed;
-       return map { Net::DNS::RR::A::address( {address => $_} ) } @iplist;
+       return _list( map { Net::DNS::RR::A::address( {address => $_} ) } 
@iplist );
 }
 
-sub server_ip6 {                       ## server-ip6=2001:DB8::53
+sub server_ipv6 {                      ## server-ipv6=2001:DB8::53
        my ( $self, @value ) = @_;
        return $self->_parameter( 2, _address6(@value) ) if @value;
        my $packed = $self->_parameter(2) || return;
        my @iplist = unpack 'a16' x ( length($packed) / 16 ), $packed;
-       return map { Net::DNS::RR::AAAA::address_short( {address => $_} ) } 
@iplist;
+       return _list( map { Net::DNS::RR::AAAA::address_short( {address => $_} 
) } @iplist );
 }
 
 sub server_name {                      ## server-name=nameserver.example
        my ( $self, @value ) = @_;
        return $self->_parameter( 3, _domain(@value) ) if @value;
        my $packed = $self->_parameter(3) || return;
-       return Net::DNS::DomainName->decode( \$packed )->fqdn;
+       my $index  = 0;
+       ( $value[++$#value], $index ) = Net::DNS::DomainName->decode( \$packed, 
$index ) while $index < length $packed;
+       return _list( map { $_->fqdn } @value );
 }
 
-sub include_name {                     ## include-name=devolved.example
+sub include_delegi {                   ## include-delegi=devolved.example
        my ( $self, @value ) = @_;
        return $self->_parameter( 4, _domain(@value) ) if @value;
        my $packed = $self->_parameter(4) || return;
-       return Net::DNS::DomainName->decode( \$packed )->fqdn;
+       my $index  = 0;
+       ( $value[++$#value], $index ) = Net::DNS::DomainName->decode( \$packed, 
$index ) while $index < length $packed;
+       return _list( map { $_->fqdn } @value );
 }
 
 
@@ -170,8 +196,11 @@
 
        my $super = "SUPER::$method";
        return $self->$super(@argument) unless $method =~ /^key[0]*(\d+)$/i;
-       die( $self->type . qq[: unsupported $method(...)] ) if @argument;
-       return $self->_parameter($1);
+       my $key = $1;
+       return $self->_parameter($key) unless @argument;
+       my $first = shift @argument;
+       my $value = defined $first ? Net::DNS::Text->new($first)->raw : $first;
+       return $self->_parameter( $key, $value, @argument );
 }
 
 
@@ -183,10 +212,9 @@
 
        if ( scalar @argument ) {
                my $arg = shift @argument;                      # key($value);
-               my $tag = $keyname{$key} || '';
                delete $parameter{$key} unless defined $arg;
-               die( $self->type . qq[: duplicate parameter $tag] ) if defined 
$parameter{$key};
-               die( $self->type . qq[: unexpected $tag value] )    if scalar 
@argument;
+               die( $self->type . qq[: duplicate parameter key$key] ) if 
defined $parameter{$key};
+               die( $self->type . qq[: unexpected key$key value] )    if 
scalar @argument;
                delete $self->{rdata};
                $parameter{$key} = $arg if defined $arg;
                $self->{parameters} = [map { ( $_, $parameter{$_} ) } sort { $a 
<=> $b } keys %parameter];
@@ -201,6 +229,11 @@
        return scalar(@arg) > 1 ? join( '', @arg ) : @arg;
 }
 
+sub _list {                            ## context-dependent list or single 
value
+       my @arg = @_;
+       return wantarray ? @arg : shift @arg;
+}
+
 sub _address4 {
        my @arg = @_;
        return _concatenate( map { Net::DNS::RR::A::address( {}, $_ ) } @arg );
@@ -213,7 +246,12 @@
 
 sub _domain {
        my @arg = @_;
-       return map { Net::DNS::DomainName->new($_)->encode() } @arg;
+       return _concatenate( map { Net::DNS::DomainName->new($_)->encode() } 
@arg );
+}
+
+sub _integer16 {
+       my @arg = @_;
+       return _concatenate( map { pack( 'n', $_ ) } @arg );
 }
 
 
@@ -247,14 +285,14 @@
 =head1 SYNOPSIS
 
        use Net::DNS;
-       $rr = Net::DNS::RR->new('zone DELEG server-ip4=192.0.2.1 ...');
-       $rr = Net::DNS::RR->new('zone DELEG server-ip6=2001:db8::53 ...');
+       $rr = Net::DNS::RR->new('zone DELEG server-ipv4=192.0.2.1 ...');
+       $rr = Net::DNS::RR->new('zone DELEG server-ipv6=2001:db8::53 ...');
        $rr = Net::DNS::RR->new('zone DELEG server-name=nameserver.example 
...');
-       $rr = Net::DNS::RR->new('zone DELEG include-name=devolved.example');
+       $rr = Net::DNS::RR->new('zone DELEG include-delegi=devolved.example');
 
 =head1 DESCRIPTION
 
-The DNS DELEG resource record set, wherever it appears, advertises the
+The DNS DELEG resource record set, wherever it appears, designates the
 authoritative nameservers and transport parameters to be used to resolve
 queries for data at the owner name or any subordinate thereof.
 
@@ -271,18 +309,18 @@
 other unpredictable behaviour.
 
 
-=head2 server_ip4
+=head2 server_ipv4
 
-       eg.example. DELEG server-ip4=192.0.2.1,...
-       @ip = $rr->server_ip4;
+       eg.example. DELEG server-ipv4=192.0.2.1,...
+       @ip = $rr->server_ipv4;
 
 Sets or gets a list of IP addresses.
 
 
-=head2 server_ip6
+=head2 server_ipv6
 
-       eg.example. DELEG server-ip6=2001:db8::53,...
-       @ip = $rr->server_ip6;
+       eg.example. DELEG server-ipv6=2001:db8::53,...
+       @ip = $rr->server_ipv6;
 
 Sets or gets a list of IP addresses.
 
@@ -297,10 +335,10 @@
 Returns the nameserver domain name or the undefined value if not specified.
 
 
-=head2 include_name
+=head2 include_delegi
 
-       eg.example. DELEG include-name=devolved.example.
-       $destination = $rr->include_name;
+       eg.example. DELEG include-delegi=devolved.example.
+       $destination = $rr->include_delegi;
 
 Specifies the location of a devolved nameserver configuration.
 
@@ -338,6 +376,6 @@
 =head1 SEE ALSO
 
 L<perl> L<Net::DNS> L<Net::DNS::RR>
-draft-ietf-deleg-02
+draft-ietf-deleg-06
 
 =cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/DELEGI.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/DELEGI.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/DELEGI.pm   1970-01-01 01:00:00.000000000 
+0100
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/DELEGI.pm   2026-01-16 13:30:38.000000000 
+0100
@@ -0,0 +1,77 @@
+package Net::DNS::RR::DELEGI;
+
+use strict;
+use warnings;
+our $VERSION = (qw$Id: DELEGI.pm 2043 2026-01-14 13:35:59Z willem $)[2];
+
+use base qw(Net::DNS::RR::DELEG);
+
+
+=head1 NAME
+
+Net::DNS::RR::DELEGI - DNS DELEGI resource record
+
+=cut
+
+
+1;
+__END__
+
+
+=head1 SYNOPSIS
+
+       use Net::DNS;
+
+=head1 DESCRIPTION
+
+Extensible DNS delegation information.
+
+This is a clone of the DELEG record and inherits all properties of
+the Net::DNS::RR::DELEG class.
+
+Please see the L<Net::DNS::RR::DELEG> documentation for details.
+
+=head1 METHODS
+
+The available methods are those inherited from the base class augmented
+by the type-specific methods defined in this package.
+
+Use of undocumented package features or direct access to internal data
+structures is discouraged and could result in program termination or
+other unpredictable behaviour.
+
+
+
+=head1 COPYRIGHT
+
+Copyright (c)2026 Dick Franks. 
+
+All rights reserved.
+
+Package template (c)2009,2012 O.M.Kolkman and R.W.Franks.
+
+
+=head1 LICENSE
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the original copyright notices appear in all copies and that both
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the author not be used in advertising
+or publicity pertaining to distribution of the software without specific
+prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+
+=head1 SEE ALSO
+
+L<perl> L<Net::DNS> L<Net::DNS::RR>
+
+=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/DNSKEY.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/DNSKEY.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/DNSKEY.pm   2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/DNSKEY.pm   2026-01-16 13:30:38.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: DNSKEY.pm 2003 2025-01-21 12:06:06Z willem $)[2];
+our $VERSION = (qw$Id: DNSKEY.pm 2042 2025-12-24 10:23:11Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -103,6 +103,17 @@
 }
 
 
+sub adt {
+       my ( $self, @value ) = @_;
+       if ( scalar @value ) {
+               for ( $self->{flags} |= 0x0002 ) {
+                       $_ ^= 0x0002 unless shift @value;
+               }
+       }
+       return $self->{flags} & 0x0002;
+}
+
+
 sub sep {
        my ( $self, @value ) = @_;
        if ( scalar @value ) {
@@ -237,8 +248,8 @@
                'ECDSAP384SHA384'    => 14,                     # [RFC6605]
                'ED25519'            => 15,                     # [RFC8080]
                'ED448'              => 16,                     # [RFC8080]
-               'SM2SM3'             => 17,                     # 
[RFC-cuiling-dnsop-sm2-alg-15]
-               'ECC-GOST12'         => 23,                     # 
[RFC-makarenko-gost2012-dnssec-05]
+               'SM2SM3'             => 17,                     # [RFC9563]
+               'ECC-GOST12'         => 23,                     # [RFC9558]
 
                'INDIRECT'   => 252,                            # [RFC4034]
                'PRIVATEDNS' => 253,                            # [RFC4034]
@@ -328,6 +339,20 @@
 
 =back
 
+=over 4
+
+=item adt
+
+       $rr->adt(1);
+
+       if ( $rr->adt ) {
+               ...
+       }
+
+Authoritative Delegation Types (ADT) flag.
+
+=back
+
 =over 4
 
 =item sep
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/DS.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/DS.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/DS.pm       2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/DS.pm       2026-01-16 13:30:38.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: DS.pm 2003 2025-01-21 12:06:06Z willem $)[2];
+our $VERSION = (qw$Id: DS.pm 2042 2025-12-24 10:23:11Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -174,8 +174,8 @@
                'SHA-256'           => 2,                       # [RFC4509]
                'GOST-R-34.11-94'   => 3,                       # [RFC5933]
                'SHA-384'           => 4,                       # [RFC6605]
-               'GOST-R-34.11-2012' => 5,                       # 
[RFC-makarenko-gost2012-dnssec-05]
-               'SM3'               => 6,                       # 
[RFC-cuiling-dnsop-sm2-alg-15]
+               'GOST-R-34.11-2012' => 5,                       # [RFC9558]
+               'SM3'               => 6,                       # [RFC9563]
                );
 
        my @digestalias = ( 'SHA' => 1 );
@@ -221,8 +221,8 @@
                'ECDSAP384SHA384'    => 14,                     # [RFC6605]
                'ED25519'            => 15,                     # [RFC8080]
                'ED448'              => 16,                     # [RFC8080]
-               'SM2SM3'             => 17,                     # 
[RFC-cuiling-dnsop-sm2-alg-15]
-               'ECC-GOST12'         => 23,                     # 
[RFC-makarenko-gost2012-dnssec-05]
+               'SM2SM3'             => 17,                     # [RFC9563]
+               'ECC-GOST12'         => 23,                     # [RFC9558]
 
                'INDIRECT'   => 252,                            # [RFC4034]
                'PRIVATEDNS' => 253,                            # [RFC4034]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/RRSIG.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/RRSIG.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/RRSIG.pm    2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/RRSIG.pm    2026-01-16 13:30:38.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: RRSIG.pm 2003 2025-01-21 12:06:06Z willem $)[2];
+our $VERSION = (qw$Id: RRSIG.pm 2042 2025-12-24 10:23:11Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -29,20 +29,22 @@
 ## IMPORTANT: MUST NOT include crypto packages in metadata (strong crypto 
prohibited in many territories)
 use constant DNSSEC => defined $INC{'Net/DNS/SEC.pm'}; ## Discover how we got 
here, without exposing any crypto
 
-my @index;
+my @algorithms;
+my @deprecated;
 if (DNSSEC) {
-       foreach my $class ( map {"Net::DNS::SEC::$_"} qw(Private RSA DSA ECDSA 
EdDSA Digest SM2) ) {
-               my @algorithms = eval join '', qw(r e q u i r e), " $class; 
${class}::_index()";        ## no critic
-               push @index, map { ( $_ => $class ) } @algorithms;
+       foreach my $class ( map {"Net::DNS::SEC::$_"} qw(Private DSA RSA ECDSA 
EdDSA Digest SM2) ) {
+               my @index = eval join '', qw(r e q u i r e), " $class; 
${class}::_index()";     ## no critic
+               push @algorithms, map { ( $_ => $class ) } @index;
+               push @deprecated, eval "${class}::_deprecate()";                
                ## no critic
        }
-       croak 'Net::DNS::SEC version not supported' unless scalar(@index);
+       croak 'Net::DNS::SEC version not supported' unless scalar(@algorithms);
 }
 
-my %DNSSEC_verify = @index;
-my %DNSSEC_siggen = @index;
+my %DNSSEC_verify = @algorithms;
+my %DNSSEC_siggen = @algorithms;
 
-my @deprecated = ( 1, 3, 6, 12 );                              # RFC8624
-delete @DNSSEC_siggen{@deprecated};
+delete @DNSSEC_verify{@deprecated};    ## DNSSEC status per RFC9904
+delete @DNSSEC_siggen{map { abs($_) } @deprecated};
 
 my @field = qw(typecovered algorithm labels orgttl sigexpiration siginception 
keytag);
 
@@ -349,8 +351,8 @@
                'ECDSAP384SHA384'    => 14,                     # [RFC6605]
                'ED25519'            => 15,                     # [RFC8080]
                'ED448'              => 16,                     # [RFC8080]
-               'SM2SM3'             => 17,                     # 
[RFC-cuiling-dnsop-sm2-alg-15]
-               'ECC-GOST12'         => 23,                     # 
[RFC-makarenko-gost2012-dnssec-05]
+               'SM2SM3'             => 17,                     # [RFC9563]
+               'ECC-GOST12'         => 23,                     # [RFC9558]
 
                'INDIRECT'   => 252,                            # [RFC4034]
                'PRIVATEDNS' => 253,                            # [RFC4034]
@@ -570,8 +572,8 @@
        use Net::DNS::SEC;
        $sigrr = Net::DNS::RR::RRSIG->create(
                                \@rrset, $keypath,
-                               sigex => 20241230010101,
-                               sigin => 20241201010101
+                               sigex => 20251230010101,
+                               sigin => 20251201010101
                                );
 
        $sigrr->verify( \@rrset, $keyrr ) || die $sigrr->vrfyerrstr;
@@ -696,8 +698,8 @@
 
        $sigrr = Net::DNS::RR::RRSIG->create(
                                \@rrsetref, $keypath,
-                               sigex => 20241230010101,
-                               sigin => 20241201010101
+                               sigex => 20251230010101,
+                               sigin => 20251201010101
                                );
        $sigrr->print;
 
@@ -723,8 +725,8 @@
 The optional remaining arguments consist of ( name => value ) pairs
 as follows:
 
-       sigex   => 20241230010101,      # signature expiration
-       sigin   => 20241201010101,      # signature inception
+       sigex   => 20251230010101,      # signature expiration
+       sigin   => 20251201010101,      # signature inception
        sigval  => 30,                  # validity window (days)
        ttl     => 3600
 
@@ -799,9 +801,6 @@
 
 Dick Franks added support for elliptic curve and Edwards curve algorithms.
 
-Mike McCauley created the Crypt::OpenSSL::ECDSA perl extension module
-specifically for this development.
-
 
 =head1 COPYRIGHT
 
@@ -809,7 +808,7 @@
 
 Copyright (c)2007-2008 NLnet Labs, Olaf M. Kolkman
 
-Portions Copyright (c)2014 Dick Franks 
+Portions Copyright (c)2014,2025 Dick Franks 
 
 All rights reserved.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/SIG.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/SIG.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/SIG.pm      2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/SIG.pm      2026-01-16 13:30:38.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: SIG.pm 2003 2025-01-21 12:06:06Z willem $)[2];
+our $VERSION = (qw$Id: SIG.pm 2042 2025-12-24 10:23:11Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -29,17 +29,19 @@
 ## IMPORTANT: MUST NOT include crypto packages in metadata (strong crypto 
prohibited in many territories)
 use constant DNSSEC => defined $INC{'Net/DNS/SEC.pm'}; ## Discover how we got 
here, without exposing any crypto
 
-my @index;
+my @algorithms;
+my @deprecated;
 if (DNSSEC) {
-       foreach my $class ( map {"Net::DNS::SEC::$_"} qw(Private RSA DSA ECDSA 
EdDSA Digest SM2) ) {
-               my @algorithms = eval join '', qw(r e q u i r e), " $class; 
${class}::_index()";        ## no critic
-               push @index, map { ( $_ => $class ) } @algorithms;
+       foreach my $class ( map {"Net::DNS::SEC::$_"} qw(Private DSA RSA ECDSA 
EdDSA Digest SM2) ) {
+               my @index = eval join '', qw(r e q u i r e), " $class; 
${class}::_index()";     ## no critic
+               push @algorithms, map { ( $_ => $class ) } @index;
+               push @deprecated, eval "${class}::_deprecate()";                
                ## no critic
        }
-       croak 'Net::DNS::SEC version not supported' unless scalar(@index);
+       croak 'Net::DNS::SEC version not supported' unless scalar(@algorithms);
 }
 
-my %DNSSEC_verify = @index;
-my %DNSSEC_siggen = @index;
+my %DNSSEC_verify = @algorithms;
+my %DNSSEC_siggen = @algorithms;
 
 my @field = qw(typecovered algorithm labels orgttl sigexpiration siginception 
keytag);
 
@@ -349,8 +351,8 @@
                'ECDSAP384SHA384'    => 14,                     # [RFC6605]
                'ED25519'            => 15,                     # [RFC8080]
                'ED448'              => 16,                     # [RFC8080]
-               'SM2SM3'             => 17,                     # 
[RFC-cuiling-dnsop-sm2-alg-15]
-               'ECC-GOST12'         => 23,                     # 
[RFC-makarenko-gost2012-dnssec-05]
+               'SM2SM3'             => 17,                     # [RFC9563]
+               'ECC-GOST12'         => 23,                     # [RFC9558]
 
                'INDIRECT'   => 252,                            # [RFC4034]
                'PRIVATEDNS' => 253,                            # [RFC4034]
@@ -676,8 +678,8 @@
 The optional remaining arguments consist of ( name => value ) pairs
 as follows:
 
-       sigin  => 20241201010101,       # signature inception
-       sigex  => 20241201011101,       # signature expiration
+       sigin  => 20251201010101,       # signature inception
+       sigex  => 20251201011101,       # signature expiration
        sigval => 10,                   # validity window (minutes)
 
 The sigin and sigex values may be specified as Perl time values or as
@@ -749,6 +751,8 @@
 
 T.J. Mather provided support for the DSA algorithm.
 
+Dick Franks added support for elliptic curve and Edwards curve algorithms.
+
 
 =head1 COPYRIGHT
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/RR/SVCB.pm 
new/Net-DNS-1.54/lib/Net/DNS/RR/SVCB.pm
--- old/Net-DNS-1.53/lib/Net/DNS/RR/SVCB.pm     2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/RR/SVCB.pm     2026-01-16 13:30:38.000000000 
+0100
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = (qw$Id: SVCB.pm 2037 2025-08-18 14:39:32Z willem $)[2];
+our $VERSION = (qw$Id: SVCB.pm 2043 2026-01-14 13:35:59Z willem $)[2];
 
 use base qw(Net::DNS::RR);
 
@@ -112,29 +112,21 @@
        $self->svcpriority( shift @argument );
        $self->targetname( shift @argument );
 
-       local $SIG{__WARN__} = sub { die @_ };
-       while ( my $svcparam = shift @argument ) {
-               for ($svcparam) {
-                       my @value;
-                       if (/^key\d+$/i) {
-                               push @value, '';
-                       } elsif (/^key\d+=(.*)$/i) {
-                               local $_ = length($1) ? $1 : shift @argument;
-                               s/^"([^"]*)"$/$1/;              # strip 
enclosing quotes
-                               push @value, $_;
-                       } elsif (/^[^=]+=(.*)$/) {
-                               local $_ = length($1) ? $1 : shift @argument;
-                               die <<"Amen" if /\\092[,\\]/;
+       while ( local $_ = shift @argument ) {
+               m/^([^=]+)(=?)(.*)$/;
+               my $key = $1;
+               my $val = length($3) ? $3 : $2 ? shift @argument : '';
+               if (/^key\d+/) {
+                       $self->$key($val);
+               } else {
+                       local $_ = $val;
+                       die <<'RIP' if /\\092[,\\]/;
 SVCB:  Please use standard RFC1035 escapes
        RFC9460 double-escape insanity not implemented
-Amen
-                               s/^"([^"]*)"$/$1/;              # strip 
enclosing quotes
-                               s/\\,/\\044/g;                  # disguise 
(RFC1035) escaped comma
-                               push @value, split /,/;
-                       }
-
-                       m/^([^=]+)/;                            # extract 
identifier
-                       $self->$1(@value);
+RIP
+                       s/^"([^"]*)"$/$1/s;                     # strip 
enclosing quotes
+                       s/\\,/\\044/g;                          # disguise 
(RFC1035) escaped comma
+                       $self->$key( split /,/ );
                }
        }
        return;
@@ -188,7 +180,7 @@
 
 sub mandatory {                                ## mandatory=key1,port,...
        my ( $self, @value ) = @_;
-       my @list = map { $keybyname{lc $_} || $_ } map { split /,/ } @value;
+       my @list = map { $keybyname{lc $_} || $_ } @value;
        my @keys = map { /(\d+)$/ ? $1 : die( $self->type . qq[: unexpected 
"$_"] ) } @list;
        return $self->_SvcParam( 0, _integer16( sort { $a <=> $b } @keys ) );
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS/Text.pm 
new/Net-DNS-1.54/lib/Net/DNS/Text.pm
--- old/Net-DNS-1.53/lib/Net/DNS/Text.pm        2025-08-29 14:17:53.000000000 
+0200
+++ new/Net-DNS-1.54/lib/Net/DNS/Text.pm        2026-01-16 13:30:38.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = (qw$Id: Text.pm 2002 2025-01-07 09:57:46Z willem $)[2];
+our $VERSION = (qw$Id: Text.pm 2043 2026-01-14 13:35:59Z willem $)[2];
 
 
 =head1 NAME
@@ -185,7 +185,7 @@
 
        my @s = map { split '', $_ } @$self;                    # escape 
special and ASCII non-printable
        my $s = _decode_utf8( join '', map { $escape{$_} } @s );
-       return $s =~ /[ \t\n\r\f(),;]|^$/ ? qq("$s") : $s;      # quote special 
characters and empty string
+       return $s =~ /[ \t\n\r\f();]|^$/ ? qq("$s") : $s;       # quote special 
characters and empty string
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/lib/Net/DNS.pm 
new/Net-DNS-1.54/lib/Net/DNS.pm
--- old/Net-DNS-1.53/lib/Net/DNS.pm     2025-08-29 14:17:53.000000000 +0200
+++ new/Net-DNS-1.54/lib/Net/DNS.pm     2026-01-16 13:30:38.000000000 +0100
@@ -4,9 +4,9 @@
 use warnings;
 
 our $VERSION;
-$VERSION = '1.53';
+$VERSION = '1.54';
 $VERSION = eval {$VERSION};
-our $SVNVERSION = (qw$Id: DNS.pm 2041 2025-08-29 12:11:41Z willem $)[2];
+our $SVNVERSION = (qw$Id: DNS.pm 2045 2026-01-16 12:30:12Z willem $)[2];
 
 
 =head1 NAME
@@ -320,7 +320,7 @@
        $update = Net::DNS::Update->new( 'example.com' );
 
        $update->push( prereq => nxrrset('example.com. AAAA') );
-       $update->push( update => rr_add('example.com. 86400 AAAA 
2001::DB8::F00') );
+       $update->push( update => rr_add('example.com. 86400 AAAA 
2001:DB8::F00') );
 
 =head2 yxrrset
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/t/03-parameters.t 
new/Net-DNS-1.54/t/03-parameters.t
--- old/Net-DNS-1.53/t/03-parameters.t  2025-08-29 14:17:53.000000000 +0200
+++ new/Net-DNS-1.54/t/03-parameters.t  2026-01-16 13:30:38.000000000 +0100
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: 03-parameters.t 1921 2023-05-08 18:39:59Z willem $      -*-perl-*-
+# $Id: 03-parameters.t 2042 2025-12-24 10:23:11Z willem $      -*-perl-*-
 #
 
 use strict;
@@ -26,8 +26,8 @@
 
 foreach ( sort { $a <=> $b } 65535, keys %Net::DNS::Parameters::typebyval ) {
        my $name = typebyval($_);       ## check type conversion functions
-       my $code = eval { typebyname($name) };
-       is( $code, $_, "typebyname($name)" );
+       my $code = eval { typebyname($name) };  ## NB: codes may be aliased
+       is( typebyval($code), $name, "typebyname($name)" );
 }
 is( typebyname('*'), typebyname('ANY'), "typebyname(*)" );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/t/05-DELEG.t 
new/Net-DNS-1.54/t/05-DELEG.t
--- old/Net-DNS-1.53/t/05-DELEG.t       2025-08-29 14:17:53.000000000 +0200
+++ new/Net-DNS-1.54/t/05-DELEG.t       2026-01-16 13:30:38.000000000 +0100
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: 05-DELEG.t 2039 2025-08-26 09:01:09Z willem $   -*-perl-*-
+# $Id: 05-DELEG.t 2043 2026-01-14 13:35:59Z willem $   -*-perl-*-
 #
 
 use strict;
@@ -13,7 +13,7 @@
                unless ( $] > 5.018001 )
                or ( $] < 5.018 );
 
-plan tests => 48;
+plan tests => 47;
 
 
 my $type = 'DELEG';
@@ -22,64 +22,60 @@
 ok( $typecode, "$type RR type code = $typecode" );
 
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. DELEG' ) ) {
-       ok( $rr, "new DELEG RR: $record" );
-       is( $rr->server_ip4,   undef, 'server_ip4 undefined' );
-       is( $rr->server_ip6,   undef, 'server_ip6 undefined' );
-       is( $rr->server_name,  undef, 'server_name undefined' );
-       is( $rr->include_name, undef, 'include_name undefined' );
-       is( $rr->rdata,        '',    'empty rdata' );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type" ) ) {
+       ok( $rr, "parse RR:     $record" );
+       is( $rr->rdata,          '',    'empty rdata' );
+       is( $rr->mandatory,      undef, 'mandatory undefined' );
+       is( $rr->server_ipv4,    undef, 'server_ipv4 undefined' );
+       is( $rr->server_ipv6,    undef, 'server_ipv6 undefined' );
+       is( $rr->server_name,    undef, 'server_name undefined' );
+       is( $rr->include_delegi, undef, 'include_delegi undefined' );
        ok( $rr->string,  'presentation format string' );
        ok( $rr->generic, 'RFC3597 generic format' );
 }
 
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. DELEG 
server-ip4=192.0.2.1,192.0.2.2' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 
server-ipv4=192.0.2.1,192.0.2.2" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key1(), 'correct parameter key defined' );
-       my @list = eval { $rr->server_ip4 };
-       ok( scalar @list, '$rr->server_ip4 returns address list' );
-       is( $rr->include_name, undef, 'include_name undefined' );
+       my @list = eval { $rr->server_ipv4 };
+       is( scalar(@list), 2, '$rr->server_ipv4 returns address list' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. DELEG 
server-ip6=2001:db8::1' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 
server-ipv6=2001:db8::1,2001:db8::2" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key2(), 'correct parameter key defined' );
-       my @list = eval { $rr->server_ip6 };
-       ok( scalar @list, '$rr->server_ip6 returns address list' );
-       is( $rr->include_name, undef, 'include_name undefined' );
+       my @list = eval { $rr->server_ipv6 };
+       is( scalar(@list), 2, '$rr->server_ipv6 returns address list' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. DELEG 
server-name=nameserver.example' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 
server-name=nameserver.example" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key3(), 'correct parameter key defined' );
-       is( $rr->server_name,  'nameserver.example.', '$rr->server_name returns 
domain name' );
-       is( $rr->include_name, undef,                 'include_name undefined' 
);
+       is( $rr->server_name, 'nameserver.example.', '$rr->server_name returns 
domain name' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. DELEG 
include-name="devolved.example"' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = qq(example. $type 
include-delegi="devolved.example") ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key4(), 'correct parameter key defined' );
-       is( $rr->include_name, 'devolved.example.', '$rr->include_name returns 
domain name' );
-       is( $rr->server_name,  undef,               'server_name undefined' );
-       is( $rr->server_ip4,   undef,               'server_ip4 undefined' );
-       is( $rr->server_ip6,   undef,               'server_ip6 undefined' );
+       is( $rr->include_delegi, 'devolved.example.', '$rr->include_delegi 
returns domain name' );
 }
 
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. 0 IN DELEG' ) ) {
-       ok( $rr, "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. 0 IN $type" ) ) {
+       ok( $rr, "parse RR:     $record" );
        is( $rr->rdata, '', 'empty rdata' );
-       ok( $rr->server_ip4('192.0.2.1'),            'server_ip4 write access 
method' );
-       ok( $rr->server_ip6('2001:db8::53'),         'server_ip6 write access 
method' );
-       ok( $rr->server_name('nameserver.example.'), 'server_name write access 
method' );
-       ok( $rr->include_name('devolved.example.'),  'include_name write access 
method' );
-       ok( $rr->rdata,                              'non-empty rdata' );
-       ok( $rr->encode,                             'wire-format octet string' 
);
-       ok( !$rr->_parameter( 4, undef ),            'delete include_name 
parameter' );
-       ok( $rr->_parameter( 65500, '!' ),           'unexpected parameter' );
-       ok( $rr->string,                             'presentation format 
string' );
-       ok( $rr->generic,                            'RFC3597 generic format' );
+       ok( $rr->mandatory( 1, 2, 3 ),                'mandatory write access 
method' );
+       ok( $rr->server_ipv4('192.0.2.1'),            'server_ipv4 write access 
method' );
+       ok( $rr->server_ipv6('2001:db8::53'),         'server_ipv6 write access 
method' );
+       ok( $rr->server_name('nameserver.example.'),  'server_name write access 
method' );
+       ok( $rr->include_delegi('devolved.example.'), 'include_delegi write 
access method' );
+       ok( $rr->rdata,                               'non-empty rdata' );
+       ok( $rr->encode,                              'wire-format octet 
string' );
+       ok( !$rr->key65500(undef),                    'delete parameter' );
+       ok( $rr->_parameter( 65500, '!' ),            'unexpected parameter' );
+       ok( $rr->string,                              'presentation format 
string' );
+       ok( $rr->generic,                             'RFC3597 generic format' 
);
        my $encoded = $rr->encode;
        my $decoded = ref($rr)->decode( \$encoded );
        is( $decoded->generic, $rr->generic, 'encode/decode transparent' );
@@ -89,13 +85,16 @@
 }
 
 
-exception( 'duplicated parameter',   sub { Net::DNS::RR->new('example. DELEG 
include-name=x include-name=y') } );
-exception( 'incompatible parameter', sub { Net::DNS::RR->new('example. DELEG 
include-name=x server-name=y') } );
-exception( 'invalid argument',      sub { Net::DNS::RR->new('example. DELEG 
include-name=.') } );
-exception( 'invalid argument',      sub { Net::DNS::RR->new('example. DELEG 
server-name=.') } );
-exception( 'unexpected arguments',   sub { Net::DNS::RR->new('example. DELEG 
server-name=x,y') } );
-exception( 'unsupported parameter',  sub { Net::DNS::RR->new('example. 
DELEG')->key65500('') } );
-exception( 'unrecognised parameter', sub { Net::DNS::RR->new('example. DELEG 
bogus') } );
+exception( 'duplicated parameter',   sub { Net::DNS::RR->new("example. $type 
include-delegi=x include-delegi=y") } );
+exception( 'incompatible parameter', sub { Net::DNS::RR->new("example. $type 
include-delegi=x server-name=y") } );
+exception( 'invalid argument',      sub { Net::DNS::RR->new("example. $type 
include-delegi=.") } );
+exception( 'invalid argument',      sub { Net::DNS::RR->new("example. $type 
server-name=.") } );
+exception( 'unexpected argument',    sub { Net::DNS::RR->new("example. 
$type")->key65500(qw(X Y)) } );
+exception( 'unrecognised parameter', sub { Net::DNS::RR->new("example. $type 
bogus") } );
+exception( 'mandatory key0 in list', sub { Net::DNS::RR->new("example. $type 
mandatory=server-ipv4,key0") } );
+exception( 'mandatory key repeated', sub { Net::DNS::RR->new("example. $type 
mandatory=key1,key1") } );
+exception( 'mandatory key required', sub { Net::DNS::RR->new("example. $type 
mandatory=key2,key3 key2=X") } );
+exception( 'mandatory key unknown',  sub { Net::DNS::RR->new("example. $type 
mandatory=bogus") } );
 
 exit;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/t/05-DNSKEY.t 
new/Net-DNS-1.54/t/05-DNSKEY.t
--- old/Net-DNS-1.53/t/05-DNSKEY.t      2025-08-29 14:17:53.000000000 +0200
+++ new/Net-DNS-1.54/t/05-DNSKEY.t      2026-01-16 13:30:38.000000000 +0100
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: 05-DNSKEY.t 1910 2023-03-30 19:16:30Z willem $  -*-perl-*-
+# $Id: 05-DNSKEY.t 2042 2025-12-24 10:23:11Z willem $  -*-perl-*-
 #
 
 use strict;
@@ -19,7 +19,7 @@
        exit;
 }
 
-plan tests => 49;
+plan tests => 53;
 
 
 my $name = 'DNSKEY.example';
@@ -87,6 +87,7 @@
 
        toggle( $rr, 'zone',   1, 0, 1, 0 );
        toggle( $rr, 'revoke', 0, 1, 0, 1 );
+       toggle( $rr, 'adt',    1, 0, 1, 0 );
        toggle( $rr, 'sep',    1, 0, 1, 0 );
 
        my $class = ref($rr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-DNS-1.53/t/05-SVCB.t new/Net-DNS-1.54/t/05-SVCB.t
--- old/Net-DNS-1.53/t/05-SVCB.t        2025-08-29 14:17:53.000000000 +0200
+++ new/Net-DNS-1.54/t/05-SVCB.t        2026-01-16 13:30:38.000000000 +0100
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: 05-SVCB.t 2035 2025-08-14 11:49:15Z willem $    -*-perl-*-
+# $Id: 05-SVCB.t 2043 2026-01-14 13:35:59Z willem $    -*-perl-*-
 #
 
 use strict;
@@ -25,8 +25,8 @@
 ok( $typecode, "$type RR type code = $typecode" );
 
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB' ) ) {
-       ok( $rr, "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type" ) ) {
+       ok( $rr, "parse RR:     $record" );
        foreach my $parameter ( qw(SvcPriority TargetName), @keys, @also ) {
                is( $rr->$parameter, undef, "$parameter undefined" );
        }
@@ -34,77 +34,77 @@
        ok( $rr->string, 'presentation format string' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 0 target.example.' 
) ) {
-       ok( $rr,             "new DELEG RR:     $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 0 
target.example." ) ) {
+       ok( $rr,             "parse RR: $record" );
        ok( $rr->TargetName, 'TargetName defined' );
        is( $rr->SvcPriority, 0, 'SvcPriority zero' );
        ok( $rr->string, 'presentation format string' );
 }
 
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 target.example.' 
) ) {
-       ok( $rr,             "new DELEG RR:     $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 
target.example." ) ) {
+       ok( $rr,             "parse RR: $record" );
        ok( $rr->TargetName, 'TargetName defined' );
        is( $rr->SvcPriority, 1, 'SvcPriority non-zero' );
        ok( $rr->string, 'presentation format string' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 .' ) ) {
-       ok( $rr, "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 ." ) ) {
+       ok( $rr, "parse RR:     $record" );
        is( $rr->TargetName, $rr->owner, 'TargetName defined' );
        ok( $rr->string, 'presentation format string' );
 }
 
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . mandatory=alpn 
alpn=h2,h3' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . 
mandatory=alpn alpn=h2,h3" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key0(), 'correct SvcParameter key defined' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . alpn=h2,h3 
no-default-alpn' ) ) {
-       ok( $rr,                          "new DELEG RR:        $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . alpn=h2,h3 
no-default-alpn" ) ) {
+       ok( $rr,                          "parse RR:    $record" );
        ok( defined $rr->key1(),          'correct SvcParameter key defined' );
        ok( defined $rr->no_default_alpn, '$rr->no_default_alpn true' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . port=53' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . port=53" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key3(), 'correct SvcParameter key defined' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . 
ipv4hint=192.0.2.1' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . 
ipv4hint=192.0.2.1" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key4(), 'correct SvcParameter key defined' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . 
ech=Base64format' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . 
ech=Base64format" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key5(), 'correct SvcParameter key defined' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . 
ipv6hint=192.0.2.1' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . 
ipv6hint=192.0.2.1" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key6(), 'correct SvcParameter key defined' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . 
dohpath=/dns-query{?dns}' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . 
dohpath=/dns-query{?dns}" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key7(), 'correct SvcParameter key defined' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . ohttp=0 
ohttp=1' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . ohttp=0 
ohttp=1" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key8(), 'correct SvcParameter key defined' );
 }
 
-for my $rr ( Net::DNS::RR->new( my $record = 'example. SVCB 1 . 
tls-supported-groups=29,23' ) ) {
-       ok( $rr,                 "new DELEG RR: $record" );
+for my $rr ( Net::DNS::RR->new( my $record = "example. $type 1 . 
tls-supported-groups=29,23" ) ) {
+       ok( $rr,                 "parse RR:     $record" );
        ok( defined $rr->key9(), 'correct SvcParameter key defined' );
 }
 
 
-Net::DNS::RR->new(<<'END')->print;
-example.com.   SVCB    16 foo.example.org.     ( mandatory=alpn alpn=h2,h3-19
+Net::DNS::RR->new(<<"END")->print;
+example.com.   $type   16 foo.example.org.     ( mandatory=alpn alpn=h2,h3-19
                        no-default-alpn port=1234 ipv4hint=192.0.2.1
                        
ech=AEP+DQA/BAAgACCW2/dfOBZAtQU55/py/BlhdRdaauPAkrERAUwppoeSEgAEAAEAAQAQY2QxLnRlc3QuZGVmby5pZQAA
                        ipv6hint=2001:db8::1
@@ -115,7 +115,7 @@
 END
 
 
-for my $rr ( Net::DNS::RR->new('example. SVCB 1 . ') ) {
+for my $rr ( Net::DNS::RR->new("example. $type 1 . ") ) {
        my $l0 = length $rr->encode;
        $rr->port(53);
        is( length( $rr->encode ), $l0 + 6, 'insert SvcParams key' );

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.0emTtB/_old  2026-01-26 10:56:59.860659887 +0100
+++ /var/tmp/diff_new_pack.0emTtB/_new  2026-01-26 10:56:59.868660222 +0100
@@ -1,6 +1,6 @@
-mtime: 1759844047
-commit: aace4744ba00af87361c382e970c828f08ec8c814c67b7cd926fb3ba85432843
+mtime: 1768628337
+commit: 0a882a98b9b11b76d79dc077d120ddf7e7580ae29d1676a13f78d685ecc763a3
 url: https://src.opensuse.org/perl/perl-Net-DNS.git
-revision: aace4744ba00af87361c382e970c828f08ec8c814c67b7cd926fb3ba85432843
+revision: 0a882a98b9b11b76d79dc077d120ddf7e7580ae29d1676a13f78d685ecc763a3
 projectscmsync: https://src.opensuse.org/perl/_ObsPrj
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-01-22 09:30:27.000000000 +0100
@@ -0,0 +1 @@
+.osc

Reply via email to