Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Net-CIDR-Set for 
openSUSE:Factory checked in at 2026-06-03 20:27:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Net-CIDR-Set (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Net-CIDR-Set.new.1937 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Net-CIDR-Set"

Wed Jun  3 20:27:45 2026 rev:11 rq:1356942 version:0.210.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Net-CIDR-Set/perl-Net-CIDR-Set.changes      
2026-05-18 17:48:57.050618528 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Net-CIDR-Set.new.1937/perl-Net-CIDR-Set.changes
    2026-06-03 20:29:58.115985126 +0200
@@ -1,0 +2,18 @@
+Wed Jun  3 10:07:49 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 0.210.0 (0.21)
+   see /usr/share/doc/packages/perl-Net-CIDR-Set/Changes
+
+  0.21      2026-06-02 17:45:44+01:00 Europe/London
+    [Security]
+    - Improved strictness of IP address (CVE-2026-49940) and netmask parsing 
(CVE-2026-49942).
+    - Removed potential infinite loops when attempting to parse IP addresses 
(CVE-2026-49941).
+    [Documentation]
+    - Removed CONTRIBUTING.md until policies about AI are updated.
+    [Tests]
+    - Changed tests to use Test::Exception.
+    [Toolchain]
+    - Added doap.xml to the distibution.
+    - Added automation-policy.json to the distribution.
+
+-------------------------------------------------------------------

Old:
----
  Net-CIDR-Set-0.20.tar.gz

New:
----
  Net-CIDR-Set-0.21.tar.gz

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

Other differences:
------------------
++++++ perl-Net-CIDR-Set.spec ++++++
--- /var/tmp/diff_new_pack.7vUgOV/_old  2026-06-03 20:29:59.084025216 +0200
+++ /var/tmp/diff_new_pack.7vUgOV/_new  2026-06-03 20:29:59.092025548 +0200
@@ -18,10 +18,10 @@
 
 %define cpan_name Net-CIDR-Set
 Name:           perl-Net-CIDR-Set
-Version:        0.200.0
+Version:        0.210.0
 Release:        0
-# 0.20 -> normalize -> 0.200.0
-%define cpan_version 0.20
+# 0.21 -> normalize -> 0.210.0
+%define cpan_version 0.21
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        Manipulate sets of IP addresses
 URL:            https://metacpan.org/release/%{cpan_name}
@@ -32,6 +32,8 @@
 BuildRequires:  perl-macros
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 7.22
 BuildRequires:  perl(Module::Metadata) >= 1.000015
+BuildRequires:  perl(Test::Exception)
+BuildRequires:  perl(Test::More) >= 0.96
 BuildRequires:  perl(namespace::autoclean)
 Requires:       perl(namespace::autoclean)
 Provides:       perl(Net::CIDR::Set) = %{version}
@@ -72,6 +74,6 @@
 %perl_gen_filelist
 
 %files -f %{name}.files
-%doc Changes CONTRIBUTING.md README.md SECURITY.md
+%doc Changes doap.xml README.md SECURITY.md
 %license LICENSE
 

++++++ Net-CIDR-Set-0.20.tar.gz -> Net-CIDR-Set-0.21.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/CONTRIBUTING.md 
new/Net-CIDR-Set-0.21/CONTRIBUTING.md
--- old/Net-CIDR-Set-0.20/CONTRIBUTING.md       2026-04-27 20:02:29.000000000 
+0200
+++ new/Net-CIDR-Set-0.21/CONTRIBUTING.md       1970-01-01 01:00:00.000000000 
+0100
@@ -1,188 +0,0 @@
-# HOW TO CONTRIBUTE
-
-Thank you for considering contributing to Net-CIDR-Set.
-
-There are multiple ways that you can help with this project.
-
-Any contributions (bug reports, feature requests, security issues, or patches)
-must cite any tools which generated the reports or code, and any software that
-the code is based on.
-
-Contributions must not include content generated by large language models
-(LLMs) or other probabilistic tools, including but not limited to Anthropic,
-Copilot or ChatGPT.  This policy covers code, documentation, pull requests,
-issues, comments, and any other contributions to this project.
-
-See [AI Contributions](#ai-contributions) below for more more details.
-
-## Report Bugs and Submit Feature Requests
-
-Please report any bugs or feature requests on the bugtracker website
-<https://rt.cpan.org/Dist/Display.html?Queue=Net-CIDR-Set>.
-
-When submitting a bug or request, please include a test-file or a patch to an
-existing test-file that illustrates the bug or desired feature.
-
-Using the bugtracker is preferable to emailing the maintainer, as identified
-in the AUTHOR section of the POD.  But if you are unable to use the
-bugtracker, then you may email the current maintainer,
-Robert Rothenberg <[email protected]>.
-
-### Reporting Security Vulnerabilities
-
-Security issues should not be reported on the bugtracker website. Please see
-`SECURITY.md` for instructions how to report security vulnerabilities.
-
-## Submitting Patches
-
-The source code is available via GitHub at
-<https://github.com/robrwo/perl-Net-CIDR-Set>.
-
-Patches should be based on a recent fork of the `main` branch.
-
-This distribution is managed with [Dist::Zilla](https://dzil.org/).  This
-means that many of the usual files you might expect are not in the repository,
-but are generated at release time, as is much of the documentation.  Some
-generated files are kept in the repository as a convenience
-(e.g. `Makefile.PL` or `cpanfile`).
-
-Generally, **you do not need Dist::Zilla to contribute patches**.  You do need
-Dist::Zilla to create a tarball.
-See [Installing and using Dist::Zilla](#installing-and-using-distzilla) below
-for guidance.
-
-### Getting dependencies
-
-If you have [App::cpanminus](https://metacpan.org/pod/App::cpanminus) 1.6 or
-later installed, you can use `cpanm` to satisfy dependencies like this:
-
-    $ cpanm --installdeps .
-
-Otherwise, look for either a `Makefile.PL` or `cpanfile` file for a list of
-dependencies to satisfy.
-
-### Running tests
-
-You can run tests directly using the `prove` tool:
-
-    $ prove -l
-    $ prove -lv t/some_test_file.t
-
-For most cases, `prove` is entirely sufficient to test any patches you have.
-
-### Code style and tidying
-
-Please try to match any existing coding style.  If there is a `.perltidyrc`
-file, please install [Perl::Tidy](https://metacpan.org/pod/Perl::Tidy) and use
-`perltidy` before submitting patches.
-
-If there is a `tidyall.ini` file, you can also install
-[Code::TidyAll](https://metacpan.org/pod/Code::TidyAll) and run `tidyall` on a
-file or `tidyall -a` to tidy all files.
-
-### Patching documentation
-
-Much of the documentation POD is generated at release time.  Some is generated
-boilerplate; other documentation is built from
-[Pod::Weaver](https://metacpan.org/pod/Pod::Weaver) pseudo-POD directives in
-the source like '=attr', '=method' or '=export'.
-
-If you would like to submit a documentation edit, please limit yourself to the
-documentation you see.
-
-If you see typos or documentation issues in the generated docs, please email
-the maintainers or open a bug ticket instead of patching.
-
-### Where to send patches and pull requests
-
-If you found this distribution on GitHub, sending a pull-request is the best 
way to contribute.
-
-If a pull-request isn't possible, a bug ticket with a patch file is the next 
best option.
-
-As a last resort, an email to the maintainer is acceptable.
-
-## Installing and using Dist::Zilla
-
-Dist::Zilla is not required for contributing, but if you'd like to learn more,
-this section will get you up to speed.
-
-Dist::Zilla is a very powerful authoring tool, optimised for maintaining a
-large number of distributions with a high degree of automation, but it has a
-large dependency chain, a bit of a learning curve and requires a number of
-author-specific plugins.
-
-To install it from CPAN, I recommend one of the following approaches for the
-quickest installation:
-
-    # using CPAN.pm, but bypassing non-functional pod tests
-    $ cpan TAP::Harness::Restricted
-    $ PERL_MM_USE_DEFAULT=1 HARNESS_CLASS=TAP::Harness::Restricted cpan 
Dist::Zilla
-
-    # using cpanm, bypassing *all* tests
-    $ cpanm -n Dist::Zilla
-
-In either case, it's probably going to take several minutes.  Go for a walk,
-go get a cup of your favourite beverage, take a bathroom break, or whatever.
-When you get back, Dist::Zilla should be ready for you.
-
-Then you need to install any plugins specific to this distribution:
-
-    $ cpan `dzil authordeps`
-    $ dzil authordeps | cpanm
-
-Once installed, here are some dzil commands you might try:
-
-    $ dzil build
-    $ dzil test
-
-You can learn more about Dist::Zilla at <http://dzil.org>.
-
-## AI Contributions
-
-Contributions must not include content generated by large language models
-(LLMs) or other probabilistic tools, including but not limited to Anthropic,
-Copilot or ChatGPT.  This policy covers code, documentation, pull requests,
-issues, comments, and any other contributions to this project.
-
-This restriction is based on several concerns:
-
-### Maintainer burden
-
-These tools make it easy to generate large amounts of plausible-looking bug
-reports or code that the contributor does not understand and cannot explain.
-Instead, the burden of understanding is placed on the maintainers.
-
-### Correctness and security
-
-These tools generate code based on probabilities of symbols in their models.
-There is no semantic model about what the code does.  There is no guarantee
-that it is correct, and no indication of what security implications it may
-have.
-
-### Copyright issues
-
-These tools may use models that are trained on copyrighted content, both
-accidentally and intentionally, and their output often includes that content
-verbatim, without attribution.  Since the legality of this is uncertain, these
-contributions may violate the licenses of copyrighted works.
-
-Using these tools also requires training their models on the source code from
-this project, and it makes it likely that code from this project will be used
-in other projects in ways that violate this project's license.
-
-### Ethical issues
-
-These tools require an unreasonable amount of energy and water to build and
-operate, and they are being used to undermine labour and justify layoffs.
-These are harms that the maintainers of this project do not want to
-perpetuate, even if only indirectly.
-
-# Credits
-
-This file was adapted from an initial `CONTRIBUTING.mkdn` file from David
-Golden under the terms of the Apache 2 license.
-
-The text in "AI Contributions" was adapted from the
-[Contributing to Servo](https://book.servo.org/contributing.html) section of
-The Servo Book, which is licensed as no rights reserved under
-[CC0](https://creativecommons.org/public-domain/cc0/).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/CPAN-META/automation-policy.json 
new/Net-CIDR-Set-0.21/CPAN-META/automation-policy.json
--- old/Net-CIDR-Set-0.20/CPAN-META/automation-policy.json      1970-01-01 
01:00:00.000000000 +0100
+++ new/Net-CIDR-Set-0.21/CPAN-META/automation-policy.json      2026-06-02 
18:45:45.000000000 +0200
@@ -0,0 +1,7 @@
+{
+   "automated_actions" : "issue",
+   "automated_contributions" : "issue",
+   "code_generation" : "toolchain",
+   "distribution" : "Net-CIDR-Set-0.21",
+   "version" : 1
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/Changes 
new/Net-CIDR-Set-0.21/Changes
--- old/Net-CIDR-Set-0.20/Changes       2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/Changes       2026-06-02 18:45:45.000000000 +0200
@@ -1,5 +1,22 @@
 Revision history for Net-CIDR-Set
 
+0.21      2026-06-02 17:45:44+01:00 Europe/London
+  [Security]
+  - Improved strictness of IP address (CVE-2026-49940) and netmask parsing 
(CVE-2026-49942).
+
+  - Removed potential infinite loops when attempting to parse IP addresses 
(CVE-2026-49941).
+
+  [Documentation]
+  - Removed CONTRIBUTING.md until policies about AI are updated.
+
+  [Tests]
+  - Changed tests to use Test::Exception.
+
+  [Toolchain]
+  - Added doap.xml to the distibution.
+
+  - Added automation-policy.json to the distribution.
+
 0.20      2026-04-27 19:02:28+01:00 Europe/London
   [Documentation]
   - Mentioned CONTRIBUTING.md in SOURCE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/MANIFEST 
new/Net-CIDR-Set-0.21/MANIFEST
--- old/Net-CIDR-Set-0.20/MANIFEST      2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/MANIFEST      2026-06-02 18:45:45.000000000 +0200
@@ -1,5 +1,5 @@
 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.037
-CONTRIBUTING.md
+CPAN-META/automation-policy.json
 Changes
 LICENSE
 MANIFEST
@@ -11,6 +11,7 @@
 SECURITY.md
 cpanfile
 dist.ini
+doap.xml
 lib/Net/CIDR/Set.pm
 lib/Net/CIDR/Set/IPv4.pm
 lib/Net/CIDR/Set/IPv6.pm
@@ -24,6 +25,7 @@
 t/octal.t
 t/operations.t
 t/private.t
+t/validation.t
 weaver.ini
 xt/author/clean-namespaces.t
 xt/author/critic.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/META.json 
new/Net-CIDR-Set-0.21/META.json
--- old/Net-CIDR-Set-0.20/META.json     2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/META.json     2026-06-02 18:45:45.000000000 +0200
@@ -18,7 +18,7 @@
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : 2
+      "version" : "2"
    },
    "name" : "Net-CIDR-Set",
    "prereqs" : {
@@ -35,6 +35,7 @@
       },
       "develop" : {
          "requires" : {
+            "Dist::AutomationPolicy" : "v0.2.0",
             "Dist::Zilla::Plugin::UsefulReadme" : "v0.4.3",
             "Pod::Coverage::TrustPod" : "0",
             "Pod::Markdown::Github" : "0",
@@ -81,22 +82,23 @@
             "Data::Dumper" : "0",
             "File::Spec" : "0",
             "Module::Metadata" : "1.000015",
-            "Test::More" : "0"
+            "Test::Exception" : "0",
+            "Test::More" : "0.96"
          }
       }
    },
    "provides" : {
       "Net::CIDR::Set" : {
          "file" : "lib/Net/CIDR/Set.pm",
-         "version" : "0.20"
+         "version" : "0.21"
       },
       "Net::CIDR::Set::IPv4" : {
          "file" : "lib/Net/CIDR/Set/IPv4.pm",
-         "version" : "0.20"
+         "version" : "0.21"
       },
       "Net::CIDR::Set::IPv6" : {
          "file" : "lib/Net/CIDR/Set/IPv6.pm",
-         "version" : "0.20"
+         "version" : "0.21"
       }
    },
    "release_status" : "stable",
@@ -111,7 +113,7 @@
       },
       "x_authority" : "cpan:RRWO"
    },
-   "version" : "0.20",
+   "version" : "0.21",
    "x_contributors" : [
       "Thomas Eckardt <[email protected]>",
       "Brian Gottreu <[email protected]>",
@@ -119,7 +121,7 @@
       "Stig Palmquist <[email protected]>"
    ],
    "x_generated_by_perl" : "v5.42.1",
-   "x_serialization_backend" : "Cpanel::JSON::XS version 4.40",
+   "x_serialization_backend" : "JSON::XS version 4.04",
    "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/META.yml 
new/Net-CIDR-Set-0.21/META.yml
--- old/Net-CIDR-Set-0.20/META.yml      2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/META.yml      2026-06-02 18:45:45.000000000 +0200
@@ -7,7 +7,8 @@
   ExtUtils::MakeMaker: '7.22'
   File::Spec: '0'
   Module::Metadata: '1.000015'
-  Test::More: '0'
+  Test::Exception: '0'
+  Test::More: '0.96'
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
@@ -27,13 +28,13 @@
 provides:
   Net::CIDR::Set:
     file: lib/Net/CIDR/Set.pm
-    version: '0.20'
+    version: '0.21'
   Net::CIDR::Set::IPv4:
     file: lib/Net/CIDR/Set/IPv4.pm
-    version: '0.20'
+    version: '0.21'
   Net::CIDR::Set::IPv6:
     file: lib/Net/CIDR/Set/IPv6.pm
-    version: '0.20'
+    version: '0.21'
 requires:
   Carp: '0'
   namespace::autoclean: '0'
@@ -45,7 +46,7 @@
   Authority: cpan:RRWO
   bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Net-CIDR-Set
   repository: git://github.com/robrwo/perl-Net-CIDR-Set.git
-version: '0.20'
+version: '0.21'
 x_contributors:
   - 'Thomas Eckardt <[email protected]>'
   - 'Brian Gottreu <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/Makefile.PL 
new/Net-CIDR-Set-0.21/Makefile.PL
--- old/Net-CIDR-Set-0.20/Makefile.PL   2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/Makefile.PL   2026-06-02 18:45:45.000000000 +0200
@@ -31,9 +31,10 @@
     "Data::Dumper" => 0,
     "File::Spec" => 0,
     "Module::Metadata" => "1.000015",
-    "Test::More" => 0
+    "Test::Exception" => 0,
+    "Test::More" => "0.96"
   },
-  "VERSION" => "0.20",
+  "VERSION" => "0.21",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -46,7 +47,8 @@
   "ExtUtils::MakeMaker" => "7.22",
   "File::Spec" => 0,
   "Module::Metadata" => "1.000015",
-  "Test::More" => 0,
+  "Test::Exception" => 0,
+  "Test::More" => "0.96",
   "namespace::autoclean" => 0,
   "overload" => 0,
   "strict" => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/README.md 
new/Net-CIDR-Set-0.21/README.md
--- old/Net-CIDR-Set-0.20/README.md     2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/README.md     2026-06-02 18:45:45.000000000 +0200
@@ -37,18 +37,18 @@
 
 # RECENT CHANGES
 
-Changes for version 0.20 (2026-04-27)
+Changes for version 0.21 (2026-06-02)
 
+- Security
+    - Improved strictness of IP address (CVE-2026-49940) and netmask parsing 
(CVE-2026-49942).
+    - Removed potential infinite loops when attempting to parse IP addresses 
(CVE-2026-49941).
 - Documentation
-    - Mentioned CONTRIBUTING.md in SOURCE.
-    - Updated copyright year.
-    - Updated the current maintainer email.
+    - Removed CONTRIBUTING.md until policies about AI are updated.
 - Tests
-    - Added and improved author tests.
-    - Moved author tests into xt.
+    - Changed tests to use Test::Exception.
 - Toolchain
-    - Set up GitHub workflow for testing.
-    - Stopped using Module::Signature for signing modules.
+    - Added doap.xml to the distibution.
+    - Added automation-policy.json to the distribution.
 
 See the `Changes` file for more details.
 
@@ -122,8 +122,6 @@
 The development version is on github at 
[https://github.com/robrwo/perl-Net-CIDR-Set](https://github.com/robrwo/perl-Net-CIDR-Set)
 and may be cloned from 
[https://github.com/robrwo/perl-Net-CIDR-Set.git](https://github.com/robrwo/perl-Net-CIDR-Set.git)
 
-See `CONTRIBUTING.md` for more information.
-
 # AUTHOR
 
 Andy Armstrong <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/cpanfile 
new/Net-CIDR-Set-0.21/cpanfile
--- old/Net-CIDR-Set-0.20/cpanfile      2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/cpanfile      2026-06-02 18:45:45.000000000 +0200
@@ -17,7 +17,8 @@
   requires "Data::Dumper" => "0";
   requires "File::Spec" => "0";
   requires "Module::Metadata" => "1.000015";
-  requires "Test::More" => "0";
+  requires "Test::Exception" => "0";
+  requires "Test::More" => "0.96";
 };
 
 on 'test' => sub {
@@ -29,6 +30,7 @@
 };
 
 on 'develop' => sub {
+  requires "Dist::AutomationPolicy" => "v0.2.0";
   requires "Dist::Zilla::Plugin::UsefulReadme" => "v0.4.3";
   requires "Pod::Coverage::TrustPod" => "0";
   requires "Pod::Markdown::Github" => "0";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/dist.ini 
new/Net-CIDR-Set-0.21/dist.ini
--- old/Net-CIDR-Set-0.20/dist.ini      2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/dist.ini      2026-06-02 18:45:45.000000000 +0200
@@ -15,12 +15,15 @@
 
 [GatherDir]
 exclude_match = cpanfile*
-exclude_match = LICENSE
-exclude_match = SECURITY.md
+exclude_filename = LICENSE
+exclude_filename = SECURITY.md
+exclude_filename = doap.xml
+
 [PruneCruft]
 [ManifestSkip]
 [CPANFile]
 [License]
+[DOAP]
 [ExecDir]
 [ShareDir]
 [MakeMaker]
@@ -51,6 +54,9 @@
 ; type = requires
 ; type = recommends
 
+[AutomationPolicy]
+template = issues_only
+
 [SecurityPolicy]
 ; authordep Software::Security::Policy::Individual
 -policy = Individual
@@ -75,6 +81,7 @@
 copy = README.md
 copy = SECURITY.md
 copy = cpanfile
+copy = doap.xml
 
 [PruneFiles]
 match = ~$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/doap.xml 
new/Net-CIDR-Set-0.21/doap.xml
--- old/Net-CIDR-Set-0.20/doap.xml      1970-01-01 01:00:00.000000000 +0100
+++ new/Net-CIDR-Set-0.21/doap.xml      2026-06-02 18:45:45.000000000 +0200
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Project
+  xmlns="http://usefulinc.com/ns/doap#";
+  xmlns:dc="http://purl.org/dc/terms/";
+  xmlns:foaf="http://xmlns.com/foaf/0.1/";
+  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#";
+  >
+  <name>Net-CIDR-Set</name>
+  <shortdesc>Manipulate sets of IP addresses</shortdesc>
+  <category rdfs:label="CIDR" />
+  <category rdfs:label="INET" />
+  <category rdfs:label="LPM" />
+  <category rdfs:label="Longest" />
+  <category rdfs:label="Prefix" />
+  <category rdfs:label="Match" />
+  <developer>
+    <foaf:Person>
+      <foaf:name>Andy Armstrong</foaf:name>
+      <foaf:mbox rdf:resource="mailto:[email protected]"; />
+    </foaf:Person>
+  </developer>
+  <helper>
+    <foaf:Person>
+      <foaf:name>Thomas Eckardt</foaf:name>
+      <foaf:mbox rdf:resource="mailto:[email protected]"; />
+    </foaf:Person>
+  </helper>
+  <helper>
+    <foaf:Person>
+      <foaf:name>Brian Gottreu</foaf:name>
+      <foaf:mbox rdf:resource="mailto:[email protected]"; />
+    </foaf:Person>
+  </helper>
+  <helper>
+    <foaf:Person>
+      <foaf:name>Robert Rothenberg</foaf:name>
+      <foaf:mbox rdf:resource="mailto:[email protected]"; />
+    </foaf:Person>
+  </helper>
+  <helper>
+    <foaf:Person>
+      <foaf:name>Stig Palmquist</foaf:name>
+      <foaf:mbox rdf:resource="mailto:[email protected]"; />
+    </foaf:Person>
+  </helper>
+  <license rdf:resource="http://dev.perl.org/licenses/"; />
+  <bug-database 
rdf:resource="https://rt.cpan.org/Public/Dist/Display.html?Name=Net-CIDR-Set"; />
+  <repository>
+    <GitRepository>
+      <browse rdf:resource="https://github.com/robrwo/perl-Net-CIDR-Set"; />
+      <location rdf:resource="git://github.com/robrwo/perl-Net-CIDR-Set.git" />
+    </GitRepository>
+  </repository>
+  <programming-language>Perl</programming-language>
+</Project>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/lib/Net/CIDR/Set/IPv4.pm 
new/Net-CIDR-Set-0.21/lib/Net/CIDR/Set/IPv4.pm
--- old/Net-CIDR-Set-0.20/lib/Net/CIDR/Set/IPv4.pm      2026-04-27 
20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/lib/Net/CIDR/Set/IPv4.pm      2026-06-02 
18:45:45.000000000 +0200
@@ -8,15 +8,18 @@
 
 # ABSTRACT: Encode / decode IPv4 addresses
 
-our $VERSION = '0.20';
+our $VERSION = '0.21';
 
 sub new { bless \my $x, shift }
 
+my $DEC = "(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})";
+my $IP  = "(?:${DEC}\.){3}${DEC}";
+
 sub _pack {
   my @nums = split /[.]/, shift, -1;
   return unless @nums == 4;
   for ( @nums ) {
-    return unless /^\d{1,3}$/ and !/^0\d{1,2}$/ and $_ < 256;
+    return unless /\A${DEC}\z/ and !/\A0[1-9]+/;
   }
   return pack "CC*", 0, @nums;
 }
@@ -33,7 +36,7 @@
   my $ip = shift or return;
   vec( $ip, 0, 8 ) = 255;
   my $bits = unpack 'B*', $ip;
-  return unless $bits =~ /^1*0*$/;    # Valid mask?
+  return unless $bits =~ /\A1*0*\z/;    # Valid mask?
   return $ip;
 }
 
@@ -42,30 +45,33 @@
   my $mask = ~( $lo ^ $hi );
   my $bits = unpack 'B*', $mask;
   return unless $hi eq ($lo | $hi);
-  return unless $bits =~ /^(1*)0*$/;
+  return unless $bits =~ /\A(1*)0*\z/;
   return length( $1 ) - 8;
 }
 
 sub _encode {
   my ( $self, $ip ) = @_;
-  if ( $ip =~ m{^(.+?)/(.+)$} ) {
+  if ( $ip =~ m{\A(${IP})/((?:3[0-2]|[12]?[0-9])|${IP})\z} ) {
     my $mask = $2;
     return unless my $addr = _pack( $1 );
     return
      unless my $bits
-       = ( $mask =~ /^\d+$/ )
+       = ( $mask =~ /\A[0-9]+\z/ )
       ? _width2bits( $mask, 32 )
       : _ip2bits( _pack( $mask ) );
     return ( $addr & $bits, Net::CIDR::Set::_inc( $addr | ~$bits ) );
   }
-  elsif ( $ip =~ m{^(.+?)-(.+)$} ) {
+  elsif ( $ip =~ m{\A(${IP})-(${IP})\z} ) {
     return unless my $lo = _pack( $1 );
     return unless my $hi = _pack( $2 );
     return ( $lo, Net::CIDR::Set::_inc( $hi ) );
   }
-  else {
+  elsif ( $ip =~ m{\A${IP}\z} ) {
     return $self->_encode( "$ip/32" );
   }
+  else {
+    return;
+  }
 }
 
 sub encode {
@@ -110,7 +116,7 @@
 
 =head1 VERSION
 
-version 0.20
+version 0.21
 
 =for Pod::Coverage new
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/lib/Net/CIDR/Set/IPv6.pm 
new/Net-CIDR-Set-0.21/lib/Net/CIDR/Set/IPv6.pm
--- old/Net-CIDR-Set-0.20/lib/Net/CIDR/Set/IPv6.pm      2026-04-27 
20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/lib/Net/CIDR/Set/IPv6.pm      2026-06-02 
18:45:45.000000000 +0200
@@ -8,15 +8,17 @@
 
 # ABSTRACT: Encode / decode IPv6 addresses
 
-our $VERSION = '0.20';
+our $VERSION = '0.21';
 
 sub new { bless \my $x, shift }
 
+my $DEC = "(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})";
+
 sub _pack_ipv4 {
   my @nums = split /[.]/, shift, -1;
   return unless @nums == 4;
   for ( @nums ) {
-    return unless /^\d{1,3}$/ and !/^0\d{1,2}$/ and $_ < 256;
+    return unless /\A${DEC}\z/ and !/\A0[1-9]+/;
   }
   return pack "CC*", 0, @nums;
 }
@@ -30,14 +32,14 @@
 sub _pack {
   my $ip = shift;
   return pack( 'H*', '0' x 33 ) if $ip eq '::';
-  return if $ip =~ /^:/ and $ip !~ s/^::/:/;
-  return if $ip =~ /:$/ and $ip !~ s/::$/:/;
+  return if $ip =~ /\A:/ and $ip !~ s/\A::/:/;
+  return if $ip =~ /:\z/ and $ip !~ s/::\z/:/;
   my @nums = split /:/, $ip, -1;
   return unless @nums <= 8;
   my ( $empty, $ipv4, $str ) = ( 0, '', '' );
   for ( @nums ) {
     return if $ipv4;
-    $str .= "0" x ( 4 - length ) . $_, next if /^[a-fA-F\d]{1,4}$/;
+    $str .= "0" x ( 4 - length ) . $_, next if /\A[A-Fa-f0-9]{1,4}\z/;
     do { return if $empty++ }, $str .= "X", next if $_ eq '';
     next if $ipv4 = _pack_ipv4( $_ );
     return;
@@ -55,7 +57,7 @@
 # Replace longest run of null blocks with a double colon
 sub _compress_ipv6 {
   my $ip = shift;
-  if ( my @runs = $ip =~ /((?:(?:^|:)(?:0000))+:?)/g ) {
+  if ( my @runs = $ip =~ /((?:(?:\A|:)(?:0000))+:?)/g ) {
     my $max = $runs[0];
     for ( @runs[ 1 .. $#runs ] ) {
       $max = $_ if length( $max ) < length;
@@ -77,27 +79,30 @@
   my $mask = ~( $lo ^ $hi );
   my $bits = unpack 'B*', $mask;
   return unless $hi eq ($lo | $hi);
-  return unless $bits =~ /^(1*)0*$/;
+  return unless $bits =~ /\A(1*)0*\z/;
   return length( $1 ) - 8;
 }
 
 sub _encode {
   my ( $self, $ip ) = @_;
-  if ( $ip =~ m{^(.+?)/(.+)$} ) {
+  if ( $ip =~ m{\A([0-9A-Fa-f:]+)/(0|[1-9][0-9]*)\z} ) {
     my $mask = $2;
     return unless my $addr = _pack( $1 );
     return unless my $bits = _width2bits( $mask, 128 );
     return ( $addr & $bits, Net::CIDR::Set::_inc( $addr | ~$bits ) );
   }
-  elsif ( $ip =~ m{^(.+?)-(.+)$} ) {
+  elsif ( $ip =~ m{\A([0-9A-Fa-f:]+)-([0-9A-Fa-f:]+)\z} ) {
     my ( $from, $to ) = ( $1, $2 );
     return unless my $lo = _pack( $from );
     return unless my $hi = _pack( $to );
     return ( $lo, Net::CIDR::Set::_inc( $hi ) );
   }
-  else {
+  elsif ( $ip =~ m{\A[0-9A-Fa-f:]+\z} ) {
     return $self->_encode( "$ip/128" );
   }
+  else {
+    return;
+  }
 }
 
 sub encode {
@@ -142,7 +147,7 @@
 
 =head1 VERSION
 
-version 0.20
+version 0.21
 
 =for Pod::Coverage new
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/lib/Net/CIDR/Set.pm 
new/Net-CIDR-Set-0.21/lib/Net/CIDR/Set.pm
--- old/Net-CIDR-Set-0.20/lib/Net/CIDR/Set.pm   2026-04-27 20:02:29.000000000 
+0200
+++ new/Net-CIDR-Set-0.21/lib/Net/CIDR/Set.pm   2026-06-02 18:45:45.000000000 
+0200
@@ -13,7 +13,7 @@
 
 use namespace::autoclean;
 
-our $VERSION = '0.20';
+our $VERSION = '0.21';
 
 
 {
@@ -436,7 +436,7 @@
 
 =head1 VERSION
 
-version 0.20
+version 0.21
 
 =head1 SYNOPSIS
 
@@ -775,8 +775,6 @@
 The development version is on github at 
L<https://github.com/robrwo/perl-Net-CIDR-Set>
 and may be cloned from L<https://github.com/robrwo/perl-Net-CIDR-Set.git>
 
-See F<CONTRIBUTING.md> for more information.
-
 =head1 SUPPORT
 
 Only the latest version of this module will be supported.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/t/00-report-prereqs.dd 
new/Net-CIDR-Set-0.21/t/00-report-prereqs.dd
--- old/Net-CIDR-Set-0.20/t/00-report-prereqs.dd        2026-04-27 
20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/t/00-report-prereqs.dd        2026-06-02 
18:45:45.000000000 +0200
@@ -12,6 +12,7 @@
                       },
        'develop' => {
                       'requires' => {
+                                      'Dist::AutomationPolicy' => 'v0.2.0',
                                       'Dist::Zilla::Plugin::UsefulReadme' => 
'v0.4.3',
                                       'Pod::Coverage::TrustPod' => '0',
                                       'Pod::Markdown::Github' => '0',
@@ -58,7 +59,8 @@
                                    'Data::Dumper' => '0',
                                    'File::Spec' => '0',
                                    'Module::Metadata' => '1.000015',
-                                   'Test::More' => '0'
+                                   'Test::Exception' => '0',
+                                   'Test::More' => '0.96'
                                  }
                  }
      };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/t/misc.t 
new/Net-CIDR-Set-0.21/t/misc.t
--- old/Net-CIDR-Set-0.20/t/misc.t      2026-04-27 20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/t/misc.t      2026-06-02 18:45:45.000000000 +0200
@@ -2,33 +2,41 @@
 
 use strict;
 use warnings;
-use Test::More tests => 6;
+
+use Test::More 0.96;
+use Test::Exception;
+
+
 use Net::CIDR::Set;
 
-{
-  eval { Net::CIDR::Set->new( 'foo' ) };
-  like $@, qr{Can't decode}, 'parse error on new';
-}
-
-{
-  my $set = Net::CIDR::Set->new;
-  eval { $set->add( 'foo' ) };
-  like $@, qr{Can't decode}, 'parse error on add';
-  eval { $set->add( '10.0.0.0/8' ) };
-  ok !$@, 'can still parse ipv4';
-  eval { $set->add( '::' ) };
-  like $@, qr{Can't decode}, 'ipv4 personality set';
-}
-
-{
-  my $set = Net::CIDR::Set->new;
-  eval { $set->add( 'foo' ) };
-  like $@, qr{Can't decode}, 'parse error on add';
-  eval { $set->add( '::' ) };
-  ok !$@, 'can still parse ipv6';
-#  eval { $set->add( '10.0.0.0/8' ) };
-#  like $@, qr{Can't decode}, 'ipv6 personality set';
-}
+throws_ok {
+  Net::CIDR::Set->new( 'foo' );
+} qr{Can't decode}, 'parse error on new';
 
-# vim:ts=2:sw=2:et:ft=perl
+my $set = Net::CIDR::Set->new;
+
+throws_ok {
+    $set->add( 'foo' )
+} qr{Can't decode}, 'parse error on add';
+
+lives_ok {
+    $set->add( '10.0.0.0/8' )
+} 'can still parse ipv4';
 
+throws_ok {
+    $set->add( '::' )
+} qr{Can't decode}, 'ipv4 personality set';
+
+$set = Net::CIDR::Set->new;
+
+throws_ok {
+    $set->add( 'foo' )
+} qr{Can't decode}, 'parse error on add';
+
+lives_ok {
+    $set->add( '::' )
+}  'can still parse ipv6';
+
+done_testing;
+
+# vim:ts=2:sw=2:et:ft=perl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/t/validation.t 
new/Net-CIDR-Set-0.21/t/validation.t
--- old/Net-CIDR-Set-0.20/t/validation.t        1970-01-01 01:00:00.000000000 
+0100
+++ new/Net-CIDR-Set-0.21/t/validation.t        2026-06-02 18:45:45.000000000 
+0200
@@ -0,0 +1,38 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More 0.96;
+use Test::Exception;
+
+use Net::CIDR::Set;
+
+
+my $set = Net::CIDR::Set->new;
+
+throws_ok {
+    $set->add("\x{0661}0.0.0.0/8");
+} qr{^Can't decode \x{0661}0\.0\.0\.0/8 as an IPv4 or IPv6 address};
+
+$set->add("10.0.0.0/8");
+
+throws_ok {
+    $set->add("1.1.1.1/09");
+} qr{^Can't decode 1\.1\.1\.1/09 as an IPv4 (or IPv6 )?address};
+
+throws_ok {
+    $set->contains("10\n.0.0.0");
+} qr{^Can't decode 10\n\.0\.0\.0 as an IPv4 or IPv6 address}s;
+
+throws_ok {
+    Net::CIDR::Set->new->add("::1/foo");
+} qr{^Can't decode ::1/foo as an IPv4 or IPv6 address};
+
+
+throws_ok {
+    Net::CIDR::Set->new->add("::1/02");
+} qr{^Can't decode ::1/02 as an IPv4 or IPv6 address};
+
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/xt/author/eol.t 
new/Net-CIDR-Set-0.21/xt/author/eol.t
--- old/Net-CIDR-Set-0.20/xt/author/eol.t       2026-04-27 20:02:29.000000000 
+0200
+++ new/Net-CIDR-Set-0.21/xt/author/eol.t       2026-06-02 18:45:45.000000000 
+0200
@@ -19,7 +19,8 @@
     't/misc.t',
     't/octal.t',
     't/operations.t',
-    't/private.t'
+    't/private.t',
+    't/validation.t'
 );
 
 eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/xt/author/mixed-unicode-scripts.t 
new/Net-CIDR-Set-0.21/xt/author/mixed-unicode-scripts.t
--- old/Net-CIDR-Set-0.20/xt/author/mixed-unicode-scripts.t     2026-04-27 
20:02:29.000000000 +0200
+++ new/Net-CIDR-Set-0.21/xt/author/mixed-unicode-scripts.t     2026-06-02 
18:45:45.000000000 +0200
@@ -22,7 +22,8 @@
     't/misc.t',
     't/octal.t',
     't/operations.t',
-    't/private.t'
+    't/private.t',
+    't/validation.t'
 );
 
 file_scripts_ok($_, { scripts => \@scxs } ) for @files;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Net-CIDR-Set-0.20/xt/author/no-tabs.t 
new/Net-CIDR-Set-0.21/xt/author/no-tabs.t
--- old/Net-CIDR-Set-0.20/xt/author/no-tabs.t   2026-04-27 20:02:29.000000000 
+0200
+++ new/Net-CIDR-Set-0.21/xt/author/no-tabs.t   2026-06-02 18:45:45.000000000 
+0200
@@ -19,7 +19,8 @@
     't/misc.t',
     't/octal.t',
     't/operations.t',
-    't/private.t'
+    't/private.t',
+    't/validation.t'
 );
 
 notabs_ok($_) foreach @files;

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.7vUgOV/_old  2026-06-03 20:29:59.216030683 +0200
+++ /var/tmp/diff_new_pack.7vUgOV/_new  2026-06-03 20:29:59.220030849 +0200
@@ -1,6 +1,6 @@
-mtime: 1777362315
-commit: 4c1ced1bb65a3d28673ea7690a41a017c8bb6caeaa586943308cde300d715c8e
+mtime: 1780481270
+commit: 0023a40732d2bd2d1dc87b621e04689b2766778d7a7e632cc3ad85511f6ebe14
 url: https://src.opensuse.org/perl/perl-Net-CIDR-Set
-revision: 4c1ced1bb65a3d28673ea7690a41a017c8bb6caeaa586943308cde300d715c8e
+revision: 0023a40732d2bd2d1dc87b621e04689b2766778d7a7e632cc3ad85511f6ebe14
 projectscmsync: https://src.opensuse.org/perl/_ObsPrj
 

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

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-06-03 12:07:50.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to