Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Crypt-URandom for 
openSUSE:Factory checked in at 2026-03-24 18:48:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Crypt-URandom (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Crypt-URandom.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Crypt-URandom"

Tue Mar 24 18:48:01 2026 rev:5 rq:1342079 version:0.550.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Crypt-URandom/perl-Crypt-URandom.changes    
2025-07-30 11:45:43.663594012 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Crypt-URandom.new.8177/perl-Crypt-URandom.changes
  2026-03-24 18:48:19.065103315 +0100
@@ -1,0 +2,11 @@
+Mon Mar 23 11:10:18 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 0.550.0 (0.55)
+   see /usr/share/doc/packages/perl-Crypt-URandom/Changes
+
+  0.55  Tue Feb 17 07:01:43 2026
+       - Fix for sysread/read failures.  Thanks to Miha Purg for GH#20
+       - Fix for test suite failures on STDOUT encoding.  Thanks to Lukas Mai 
for GH#19
+       - Fix for CVE-2026-2474 bsc#1258266
+
+-------------------------------------------------------------------

Old:
----
  Crypt-URandom-0.54.tar.gz

New:
----
  Crypt-URandom-0.55.tar.gz
  README.md
  _scmsync.obsinfo
  build.specials.obscpio

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

Other differences:
------------------
++++++ perl-Crypt-URandom.spec ++++++
--- /var/tmp/diff_new_pack.ijN8Wj/_old  2026-03-24 18:48:19.797132991 +0100
+++ /var/tmp/diff_new_pack.ijN8Wj/_new  2026-03-24 18:48:19.801133153 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Crypt-URandom
 #
-# Copyright (c) 2025 SUSE LLC
+# 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,15 +18,16 @@
 
 %define cpan_name Crypt-URandom
 Name:           perl-Crypt-URandom
-Version:        0.540.0
+Version:        0.550.0
 Release:        0
-# 0.54 -> normalize -> 0.540.0
-%define cpan_version 0.54
+# 0.55 -> normalize -> 0.550.0
+%define cpan_version 0.55
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        Provide non blocking randomness
 URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/D/DD/DDICK/%{cpan_name}-%{cpan_version}.tar.gz
 Source1:        cpanspec.yml
+Source100:      README.md
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(Carp) >= 1.26

++++++ Crypt-URandom-0.54.tar.gz -> Crypt-URandom-0.55.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/Changes 
new/Crypt-URandom-0.55/Changes
--- old/Crypt-URandom-0.54/Changes      2025-03-15 10:38:18.000000000 +0100
+++ new/Crypt-URandom-0.55/Changes      2026-02-16 21:05:30.000000000 +0100
@@ -1,5 +1,10 @@
 Revision history for Crypt-URandom
 
+0.55  Tue Feb 17 07:01:43 2026
+     - Fix for sysread/read failures.  Thanks to Miha Purg for GH#20
+     - Fix for test suite failures on STDOUT encoding.  Thanks to Lukas Mai 
for GH#19
+     - Fix for CVE-2026-2474
+
 0.54  Sat Mar 15 20:37:13 2025
      - Reverse solaris changes and remove errstr checks.  Thanks to eserte for 
GH#18
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/META.json 
new/Crypt-URandom-0.55/META.json
--- old/Crypt-URandom-0.54/META.json    2025-03-15 10:39:44.000000000 +0100
+++ new/Crypt-URandom-0.55/META.json    2026-02-16 21:06:39.000000000 +0100
@@ -4,7 +4,7 @@
       "David Dick <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -60,6 +60,6 @@
          "web" : "https://github.com/david-dick/crypt-urandom";
       }
    },
-   "version" : "0.54",
+   "version" : "0.55",
    "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/META.yml 
new/Crypt-URandom-0.55/META.yml
--- old/Crypt-URandom-0.54/META.yml     2025-03-15 10:39:44.000000000 +0100
+++ new/Crypt-URandom-0.55/META.yml     2026-02-16 21:06:39.000000000 +0100
@@ -11,7 +11,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -31,5 +31,5 @@
 resources:
   bugtracker: https://github.com/david-dick/crypt-urandom/issues
   repository: https://github.com/david-dick/crypt-urandom
-version: '0.54'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
+version: '0.55'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.020'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/README 
new/Crypt-URandom-0.55/README
--- old/Crypt-URandom-0.54/README       2025-03-15 10:36:46.000000000 +0100
+++ new/Crypt-URandom-0.55/README       2026-02-16 21:05:31.000000000 +0100
@@ -4,7 +4,7 @@
 
 VERSION
 
-    This document describes Crypt::URandom version 0.54
+    This document describes Crypt::URandom version 0.55
 
 SYNOPSIS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/README.md 
new/Crypt-URandom-0.55/README.md
--- old/Crypt-URandom-0.54/README.md    2025-03-15 10:36:46.000000000 +0100
+++ new/Crypt-URandom-0.55/README.md    2026-02-16 21:05:31.000000000 +0100
@@ -4,7 +4,7 @@
 
 # VERSION
 
-This document describes Crypt::URandom version 0.54
+This document describes Crypt::URandom version 0.55
 
 # SYNOPSIS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/URandom.xs 
new/Crypt-URandom-0.55/URandom.xs
--- old/Crypt-URandom-0.54/URandom.xs   2025-03-15 02:51:48.000000000 +0100
+++ new/Crypt-URandom-0.55/URandom.xs   2026-02-16 21:05:31.000000000 +0100
@@ -38,6 +38,9 @@
         char *data;
         int result;
     CODE:
+        if (length < 0) {
+            croak("The length argument cannot be less than 0");
+        }
         Newx(data, length + 1u, char);
       GETRANDOM:
 #ifdef HAVE_CRYPT_URANDOM_NATIVE_GETRANDOM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/lib/Crypt/URandom.pm 
new/Crypt-URandom-0.55/lib/Crypt/URandom.pm
--- old/Crypt-URandom-0.54/lib/Crypt/URandom.pm 2025-03-15 10:36:46.000000000 
+0100
+++ new/Crypt-URandom-0.55/lib/Crypt/URandom.pm 2026-02-16 21:05:31.000000000 
+0100
@@ -17,7 +17,7 @@
 our @CARP_NOT = ('Crypt::URandom');
 
 BEGIN {
-    our $VERSION = '0.54';
+    our $VERSION = '0.55';
     eval {
         require XSLoader;
 
@@ -115,7 +115,7 @@
             }
             else {
                 my $rtlgenrand =
-                  Win32::API->new( 'advapi32', <<'_RTLGENRANDOM_PROTO_');
+                  Win32::API->new( 'advapi32', <<'_RTLGENRANDOM_PROTO_' );
 INT SystemFunction036(
   PVOID RandomBuffer,
   ULONG RandomBufferLength
@@ -217,6 +217,17 @@
             && ( length $urandom == $original_length ) )
         {
         }
+        elsif ( !defined $result ) {
+            my $error = $EXTENDED_OS_ERROR;
+            $_urandom_handle = undef;
+            $_initialised    = undef;
+            Carp::croak( q[Failed to read from ] . PATH() . qq[:$error] );
+        }
+        elsif ( $result == 0 ) {
+            $_urandom_handle = undef;
+            $_initialised    = undef;
+            Carp::croak( PATH() . q[ has returned EOF] );
+        }
         elsif (( $result == SYSTEM_CALL_FAILED() )
             && ( $OS_ERROR == POSIX::EINTR() ) )
         {
@@ -245,7 +256,7 @@
 
 =head1 VERSION
 
-This document describes Crypt::URandom version 0.54
+This document describes Crypt::URandom version 0.55
 
 
 =head1 SYNOPSIS
@@ -300,7 +311,9 @@
 filled with random data on platforms that implement L<getrandom(2)>.
 It will throw an exception if the requested amount of random data is not 
returned.
 This is NOT portable across all operating systems, but is made available if
-high-speed generation of random numbers is required.
+high-speed generation of random numbers is required.  If an integer is not 
supplied
+as an argument, this function will return a empty string as a result (the same 
as if
+the integer 0 is supplied as an argument)
 
 =back
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/t/core_read.t 
new/Crypt-URandom-0.55/t/core_read.t
--- old/Crypt-URandom-0.54/t/core_read.t        2025-01-19 22:50:04.000000000 
+0100
+++ new/Crypt-URandom-0.55/t/core_read.t        2026-02-16 21:05:31.000000000 
+0100
@@ -70,6 +70,36 @@
                };
                chomp $@;
                ok(!$generated && $@ =~ /$required_error_message/smx, "Correct 
exception thrown when sysread is overridden twice:$@");
+               no warnings;
+               *CORE::GLOBAL::read = sub { $! = POSIX::EINTR(); return };
+               *CORE::GLOBAL::sysread = sub { $! = POSIX::EINTR(); return };
+               use warnings;
+               $required_error_message = q[(?:] . (quotemeta 
POSIX::strerror(POSIX::EINTR())) . q[|Interrupted[ ]system[ ]call)];
+               $generated = 0;
+               eval {
+                       Crypt::URandom::urandom(1);
+                       $generated = 1;
+               };
+               chomp $@;
+               ok(!$generated && $@ =~ /$required_error_message/smx, "Correct 
exception thrown when read is overridden:$@");
+               $generated = 0;
+               eval {
+                       Crypt::URandom::urandom(1);
+                       $generated = 1;
+               };
+               chomp $@;
+               ok(!$generated && $@ =~ /$required_error_message/smx, "Correct 
exception thrown when read is overridden twice:$@");
+               no warnings;
+               *CORE::GLOBAL::read = sub { $! = undef; return 0 };
+               *CORE::GLOBAL::sysread = sub { $! = undef; return 0 };
+               use warnings;
+               $generated = 0;
+               eval {
+                       Crypt::URandom::urandom(1);
+                       $generated = 1;
+               };
+               chomp $@;
+               ok(!$generated && $@ =~ /EOF/smx, "Correct exception thrown 
when read is overridden:$@");
        }
 }
 done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/t/getrandom.t 
new/Crypt-URandom-0.55/t/getrandom.t
--- old/Crypt-URandom-0.54/t/getrandom.t        2025-03-15 10:33:10.000000000 
+0100
+++ new/Crypt-URandom-0.55/t/getrandom.t        2026-02-16 21:05:31.000000000 
+0100
@@ -64,7 +64,7 @@
                        } elsif (defined $pid) {
                                local $ENV{LD_PRELOAD} = $binary_path;
                                eval {
-                                       exec { $^X } $^X, (map { "-I$_" } 
@INC), @extra_args, '-MCrypt::URandom', '-e', 'my $data = 
Crypt::URandom::getrandom(' . $correct_length . '); print "$data\n"; exit 0;' 
or die "Failed to exec $^X:$!";
+                                       exec { $^X } $^X, (map { "-I$_" } 
@INC), @extra_args, '-MCrypt::URandom', '-e', 'binmode STDOUT; my $data = 
Crypt::URandom::getrandom(' . $correct_length . '); print "$data\n"; exit 0;' 
or die "Failed to exec $^X:$!";
                                } or do {
                                        warn "$@";
                                };
@@ -106,7 +106,7 @@
                        } elsif (defined $pid) {
                                local $ENV{LD_PRELOAD} = $binary_path;
                                eval {
-                                       exec { $^X } $^X, (map { "-I$_" } 
@INC), @extra_args, '-MEncode', '-MCrypt::URandom', '-e', 'eval { 
Crypt::URandom::getrandom(28); } or do { print Encode::encode("UTF-8", 
"$!\t$@\n"); exit 0 }; exit 1;' or die "Failed to exec $^X:$!";
+                                       exec { $^X } $^X, (map { "-I$_" } 
@INC), @extra_args, '-MEncode', '-MCrypt::URandom', '-e', 'binmode STDOUT; eval 
{ Crypt::URandom::getrandom(28); } or do { print Encode::encode("UTF-8", 
"$!\t$@\n"); exit 0 }; exit 1;' or die "Failed to exec $^X:$!";
                                } or do {
                                        warn "$@";
                                };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Crypt-URandom-0.54/t/rand.t 
new/Crypt-URandom-0.55/t/rand.t
--- old/Crypt-URandom-0.54/t/rand.t     2025-01-19 08:39:01.000000000 +0100
+++ new/Crypt-URandom-0.55/t/rand.t     2026-02-16 21:05:31.000000000 +0100
@@ -1,4 +1,4 @@
-use Test::More tests => 10;
+use Test::More tests => 11;
 use Crypt::URandom();
 
 foreach my $correct (qw(500000 500 50)) {
@@ -38,3 +38,10 @@
 };
 chomp $@;
 ok($exception_thrown, "Correctly throws exception with non integer 
parameter:$@");
+$exception_thrown = 1;
+eval {
+       Crypt::URandom::getrandom(-1);
+       $exception_thrown = 0;
+};
+chomp $@;
+ok($exception_thrown, "getrandom correctly throws exception with less than 
zero parameter:$@");

++++++ README.md ++++++

## Build Results

Current state of perl in openSUSE:Factory is

![Factory build 
results](https://br.opensuse.org/status/openSUSE:Factory/perl-Crypt-URandom/standard)

The current state of perl in the devel project build (devel:languages:perl)

![Devel project build 
results](https://br.opensuse.org/status/devel:languages:perl/perl-Crypt-URandom)



++++++ _scmsync.obsinfo ++++++
mtime: 1774286226
commit: 1009d67b250df9c75e11a9b613bf7f077ec40d95365bd938f9d3e8b215743d51
url: https://src.opensuse.org/perl/perl-Crypt-URandom.git
revision: 1009d67b250df9c75e11a9b613bf7f077ec40d95365bd938f9d3e8b215743d51
projectscmsync: https://src.opensuse.org/perl/_ObsPrj

++++++ 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-03-23 18:21:46.000000000 +0100
@@ -0,0 +1 @@
+.osc

Reply via email to