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  The current state of perl in the devel project build (devel:languages:perl)  ++++++ _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
