Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Protocol-HTTP2 for
openSUSE:Factory checked in at 2026-06-09 14:14:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Protocol-HTTP2 (Old)
and /work/SRC/openSUSE:Factory/.perl-Protocol-HTTP2.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Protocol-HTTP2"
Tue Jun 9 14:14:11 2026 rev:5 rq:1357991 version:1.130.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Protocol-HTTP2/perl-Protocol-HTTP2.changes
2026-03-13 21:15:49.994930745 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Protocol-HTTP2.new.2375/perl-Protocol-HTTP2.changes
2026-06-09 14:14:40.790623708 +0200
@@ -1,0 +2,11 @@
+Mon Jun 8 09:59:01 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 1.130.0 (1.13)
+ see /usr/share/doc/packages/perl-Protocol-HTTP2/Changes
+
+ 1.13 2026-06-07T09:19:24Z
+ - security fix: CVE-2026-10725 - HTTP/2 Bomb, a remote denial-of-service
+ (reported by Robert Rothenberg, CPAN Security Group)
+ bsc#1267857
+
+-------------------------------------------------------------------
Old:
----
Protocol-HTTP2-1.12.tar.gz
New:
----
Protocol-HTTP2-1.13.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Protocol-HTTP2.spec ++++++
--- /var/tmp/diff_new_pack.58kVbM/_old 2026-06-09 14:14:42.354689485 +0200
+++ /var/tmp/diff_new_pack.58kVbM/_new 2026-06-09 14:14:42.354689485 +0200
@@ -18,10 +18,10 @@
%define cpan_name Protocol-HTTP2
Name: perl-Protocol-HTTP2
-Version: 1.120.0
+Version: 1.130.0
Release: 0
-# 1.12 -> normalize -> 1.120.0
-%define cpan_version 1.12
+# 1.13 -> normalize -> 1.130.0
+%define cpan_version 1.13
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: HTTP/2 protocol implementation (RFC 7540)
URL: https://metacpan.org/release/%{cpan_name}
++++++ Protocol-HTTP2-1.12.tar.gz -> Protocol-HTTP2-1.13.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/Changes
new/Protocol-HTTP2-1.13/Changes
--- old/Protocol-HTTP2-1.12/Changes 2026-02-14 13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/Changes 2026-06-07 11:19:25.000000000 +0200
@@ -1,5 +1,9 @@
Revision history for Perl extension Protocol-HTTP2
+1.13 2026-06-07T09:19:24Z
+ - security fix: CVE-2026-10725 - HTTP/2 Bomb, a remote denial-of-service
+ (reported by Robert Rothenberg, CPAN Security Group)
+
1.12 2026-02-14T12:55:50Z
- fix: incorrect END_HEADERS flag on CONTINUATION frames (#18) (Daniil
Bondarev)
- fix: arriving continuation frame overwrite the existing header buffer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/MANIFEST
new/Protocol-HTTP2-1.13/MANIFEST
--- old/Protocol-HTTP2-1.12/MANIFEST 2026-02-14 13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/MANIFEST 2026-06-07 11:19:25.000000000 +0200
@@ -53,6 +53,7 @@
t/12_leaks.t
t/13_request_with_body.t
t/14_keepalive.t
+t/15_headersize.t
t/lib/PH2ClientServerTest.pm
t/lib/PH2Test.pm
META.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/META.json
new/Protocol-HTTP2-1.13/META.json
--- old/Protocol-HTTP2-1.12/META.json 2026-02-14 13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/META.json 2026-06-07 11:19:25.000000000 +0200
@@ -63,7 +63,7 @@
"provides" : {
"Protocol::HTTP2" : {
"file" : "lib/Protocol/HTTP2.pm",
- "version" : "1.12"
+ "version" : "1.13"
},
"Protocol::HTTP2::Client" : {
"file" : "lib/Protocol/HTTP2/Client.pm"
@@ -147,7 +147,7 @@
"web" : "https://github.com/vlet/p5-Protocol-HTTP2"
}
},
- "version" : "1.12",
+ "version" : "1.13",
"x_contributors" : [
"Daniil Bondarev <[email protected]>",
"Daniil Bondarev <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/META.yml
new/Protocol-HTTP2-1.13/META.yml
--- old/Protocol-HTTP2-1.12/META.yml 2026-02-14 13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/META.yml 2026-06-07 11:19:25.000000000 +0200
@@ -30,7 +30,7 @@
provides:
Protocol::HTTP2:
file: lib/Protocol/HTTP2.pm
- version: '1.12'
+ version: '1.13'
Protocol::HTTP2::Client:
file: lib/Protocol/HTTP2/Client.pm
Protocol::HTTP2::Connection:
@@ -85,7 +85,7 @@
bugtracker: https://github.com/vlet/p5-Protocol-HTTP2/issues
homepage: https://github.com/vlet/p5-Protocol-HTTP2
repository: https://github.com/vlet/p5-Protocol-HTTP2.git
-version: '1.12'
+version: '1.13'
x_contributors:
- 'Daniil Bondarev <[email protected]>'
- 'Daniil Bondarev <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/examples/client-io-socket-ssl.pl
new/Protocol-HTTP2-1.13/examples/client-io-socket-ssl.pl
--- old/Protocol-HTTP2-1.12/examples/client-io-socket-ssl.pl 2026-02-14
13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/examples/client-io-socket-ssl.pl 2026-06-07
11:19:25.000000000 +0200
@@ -39,10 +39,10 @@
PeerPort => $port,
# openssl 1.0.1 support only NPN
- SSL_npn_protocols => ['h2'],
+ #SSL_npn_protocols => ['h2'],
# openssl 1.0.2 also have ALPN
- #SSL_alpn_protocols => ['h2'],
+ SSL_alpn_protocols => ['h2'],
) or die $!;
# non blocking
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/examples/server-io-socket-ssl.pl
new/Protocol-HTTP2-1.13/examples/server-io-socket-ssl.pl
--- old/Protocol-HTTP2-1.12/examples/server-io-socket-ssl.pl 2026-02-14
13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/examples/server-io-socket-ssl.pl 2026-06-07
11:19:25.000000000 +0200
@@ -12,10 +12,10 @@
SSL_key_file => 'test.key',
# openssl 1.0.1 support only NPN
- SSL_npn_protocols => ['h2'],
+ #SSL_npn_protocols => ['h2'],
# openssl 1.0.2 also have ALPN
- #SSL_alpn_protocols => ['h2'],
+ SSL_alpn_protocols => ['h2'],
) or die $!;
# Accept client connection
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Frame/Continuation.pm
new/Protocol-HTTP2-1.13/lib/Protocol/HTTP2/Frame/Continuation.pm
--- old/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Frame/Continuation.pm
2026-02-14 13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/lib/Protocol/HTTP2/Frame/Continuation.pm
2026-06-07 11:19:25.000000000 +0200
@@ -1,7 +1,7 @@
package Protocol::HTTP2::Frame::Continuation;
use strict;
use warnings;
-use Protocol::HTTP2::Constants qw(:flags :errors);
+use Protocol::HTTP2::Constants qw(:flags :errors :settings);
use Protocol::HTTP2::Trace qw(tracer);
sub decode {
@@ -17,9 +17,19 @@
$con->error(PROTOCOL_ERROR);
return undef;
}
+ if (
+ # Headers compressed size already exceeded decompressed limit
+ length( $con->stream_header_block( $frame_ref->{stream} ) ) + $length >
+ $con->dec_setting(SETTINGS_MAX_HEADER_LIST_SIZE)
+ )
+ {
+ $con->error(ENHANCE_YOUR_CALM);
+ return undef;
+ }
$con->stream_header_block_add( $frame_ref->{stream},
- substr( $$buf_ref, $buf_offset, $length ) );
+ substr( $$buf_ref, $buf_offset, $length ) )
+ or return undef;
# Stream header block complete
$con->stream_headers_done( $frame_ref->{stream} )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/HeaderCompression.pm
new/Protocol-HTTP2-1.13/lib/Protocol/HTTP2/HeaderCompression.pm
--- old/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/HeaderCompression.pm
2026-02-14 13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/lib/Protocol/HTTP2/HeaderCompression.pm
2026-06-07 11:19:25.000000000 +0200
@@ -139,6 +139,7 @@
my $eh = $context->{emitted_headers};
my $offset = 0;
+ my $hsize = 0;
while ( $offset < $length ) {
@@ -163,6 +164,7 @@
# Static table or Header Table entry
if ( $index <= @stable ) {
my ( $key, $value ) = @{ $stable[ $index - 1 ] };
+ $hsize += length($key) + length($value) + 32;
push @$eh, $key, $value;
tracer->debug("$key = $value\n");
}
@@ -177,6 +179,7 @@
else {
my $kv_ref = $ht->[ $index - @stable - 1 ];
+ $hsize += length( $kv_ref->[0] ) + length( $kv_ref->[1] ) + 32;
push @$eh, @$kv_ref;
tracer->debug("$kv_ref->[0] = $kv_ref->[1]\n");
}
@@ -209,6 +212,7 @@
last unless $value_size;
# Emitting header
+ $hsize += length($key) + length($value) + 32;
push @$eh, $key, $value;
# Add to index
@@ -252,6 +256,7 @@
}
# Emitting header
+ $hsize += length($key) + length($value) + 32;
push @$eh, $key, $value;
# Add to index
@@ -300,6 +305,16 @@
$con->error(COMPRESSION_ERROR);
return undef;
}
+
+ # Check header limit
+ if ( $hsize > $context->{settings}->{&SETTINGS_MAX_HEADER_LIST_SIZE} )
{
+ tracer->error( "Headers size has exceeded the allowed limit: "
+ . $hsize
+ . "\n" );
+ $con->error(ENHANCE_YOUR_CALM);
+ return undef;
+ }
+
}
if ( $offset != $length ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/lib/Protocol/HTTP2.pm
new/Protocol-HTTP2-1.13/lib/Protocol/HTTP2.pm
--- old/Protocol-HTTP2-1.12/lib/Protocol/HTTP2.pm 2026-02-14
13:56:01.000000000 +0100
+++ new/Protocol-HTTP2-1.13/lib/Protocol/HTTP2.pm 2026-06-07
11:19:25.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = "1.12";
+our $VERSION = "1.13";
sub ident_plain {
'h2c';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.12/t/15_headersize.t
new/Protocol-HTTP2-1.13/t/15_headersize.t
--- old/Protocol-HTTP2-1.12/t/15_headersize.t 1970-01-01 01:00:00.000000000
+0100
+++ new/Protocol-HTTP2-1.13/t/15_headersize.t 2026-06-07 11:19:25.000000000
+0200
@@ -0,0 +1,74 @@
+use strict;
+use warnings;
+use Test::More;
+use Protocol::HTTP2::Client;
+use Protocol::HTTP2::Server;
+use Protocol::HTTP2::Constants qw(:errors :settings :limits);
+use lib 't/lib';
+use PH2Test qw(fake_connect random_string);
+
+subtest 'hpack bomb' => sub {
+
+ plan tests => 1;
+ my $hc = 2000;
+
+ my $server;
+ $server = Protocol::HTTP2::Server->new(
+ on_error => sub {
+ my $error = shift;
+ is $error, &ENHANCE_YOUR_CALM, "ENHANCE_YOUR_CALM error";
+ },
+ on_request => sub {
+ ok 0, "request should not have been received"
+ }
+ );
+
+ my $client = Protocol::HTTP2::Client->new;
+ $client->request(
+ ':scheme' => 'http',
+ ':authority' => 'localhost:8000',
+ ':path' => '/',
+ ':method' => 'GET',
+ headers => [ ('a' => '')x$hc ],
+ );
+
+ fake_connect( $server, $client );
+};
+
+subtest 'change settings' => sub {
+
+ plan tests => 3;
+ my $hc = 2000;
+
+ my $server;
+ $server = Protocol::HTTP2::Server->new(
+ settings => {
+ &SETTINGS_MAX_HEADER_LIST_SIZE => $hc*33 + 200
+ },
+ on_error => sub {
+ my $error = shift;
+ ok 0, "should be no error";
+ },
+ on_request => sub {
+ my ( $stream_id, $headers, $data ) = @_;
+ my %h = (@$headers);
+ is $#$headers, 2*($hc+4)-1, "2*($hc + 4) headers";
+ is keys %h, 5, "merged in 1 + 4 headers";
+ ok exists $h{b}, "b header";
+ }
+ );
+
+ my $client = Protocol::HTTP2::Client->new;
+ $client->request(
+ ':scheme' => 'http',
+ ':authority' => 'localhost:8000',
+ ':path' => '/',
+ ':method' => 'GET',
+ headers => [ ('b' => '')x$hc ],
+ );
+
+ fake_connect( $server, $client );
+};
+
+
+done_testing;
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.58kVbM/_old 2026-06-09 14:14:42.578698905 +0200
+++ /var/tmp/diff_new_pack.58kVbM/_new 2026-06-09 14:14:42.582699073 +0200
@@ -1,6 +1,6 @@
-mtime: 1771135887
-commit: 842b86b185b72c226b7ae08bc26a4b06493f5b62c7f177a82c3597461c1d4337
-url: https://src.opensuse.org/perl/perl-Protocol-HTTP2.git
-revision: 842b86b185b72c226b7ae08bc26a4b06493f5b62c7f177a82c3597461c1d4337
+mtime: 1780924302
+commit: 854effe3e4f0832ffd56637db81b30c7363de61beed5ec5754ca08299e62c02c
+url: https://src.opensuse.org/perl/perl-Protocol-HTTP2
+revision: 854effe3e4f0832ffd56637db81b30c7363de61beed5ec5754ca08299e62c02c
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-08 15:11:42.000000000 +0200
@@ -0,0 +1 @@
+.osc