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-03-13 21:15:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Protocol-HTTP2 (Old)
and /work/SRC/openSUSE:Factory/.perl-Protocol-HTTP2.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Protocol-HTTP2"
Fri Mar 13 21:15:38 2026 rev:4 rq:1338062 version:1.120.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Protocol-HTTP2/perl-Protocol-HTTP2.changes
2024-07-04 16:23:24.083789017 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Protocol-HTTP2.new.8177/perl-Protocol-HTTP2.changes
2026-03-13 21:15:49.994930745 +0100
@@ -1,0 +2,11 @@
+Sun Feb 15 06:11:26 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 1.120.0 (1.12)
+ see /usr/share/doc/packages/perl-Protocol-HTTP2/Changes
+
+ 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
+ - test: test continuation frames handling
+
+-------------------------------------------------------------------
Old:
----
Protocol-HTTP2-1.11.tar.gz
New:
----
Protocol-HTTP2-1.12.tar.gz
README.md
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Protocol-HTTP2.spec ++++++
--- /var/tmp/diff_new_pack.5X7E3k/_old 2026-03-13 21:15:50.938968570 +0100
+++ /var/tmp/diff_new_pack.5X7E3k/_new 2026-03-13 21:15:50.942968730 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Protocol-HTTP2
#
-# Copyright (c) 2024 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,22 +18,23 @@
%define cpan_name Protocol-HTTP2
Name: perl-Protocol-HTTP2
-Version: 1.110.0
+Version: 1.120.0
Release: 0
-# 1.11 -> normalize -> 1.110.0
-%define cpan_version 1.11
+# 1.12 -> normalize -> 1.120.0
+%define cpan_version 1.12
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: HTTP/2 protocol implementation (RFC 7540)
URL: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/C/CR/CRUX/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
+Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(AnyEvent)
BuildRequires: perl(MIME::Base64) >= 3.11
BuildRequires: perl(Module::Build)
-BuildRequires: perl(Module::Build::Tiny) >= 0.035
+BuildRequires: perl(Module::Build::Tiny) >= 0.35
#BuildRequires: perl(Net::SSLeay) >= > 1.45
BuildRequires: perl(Test::LeakTrace)
BuildRequires: perl(Test::More) >= 0.98
@@ -77,7 +78,7 @@
tls socket (see examples).
%prep
-%autosetup -n %{cpan_name}-%{cpan_version}
+%autosetup -n %{cpan_name}-%{cpan_version} -p1
%build
perl Build.PL --installdirs=vendor
++++++ Protocol-HTTP2-1.11.tar.gz -> Protocol-HTTP2-1.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/Changes
new/Protocol-HTTP2-1.12/Changes
--- old/Protocol-HTTP2-1.11/Changes 2024-05-19 18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/Changes 2026-02-14 13:56:01.000000000 +0100
@@ -1,5 +1,10 @@
Revision history for Perl extension Protocol-HTTP2
+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
+ - test: test continuation frames handling
+
1.11 2024-05-19T16:55:28Z
- Fix minor typos and spelling errors (Yoshikazu Sawa)
- Do not hardcode tlsv1 which is deprecated and disabled in some systems
(Olivier Gayot)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/MANIFEST
new/Protocol-HTTP2-1.12/MANIFEST
--- old/Protocol-HTTP2-1.11/MANIFEST 2024-05-19 18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/MANIFEST 2026-02-14 13:56:01.000000000 +0100
@@ -53,7 +53,6 @@
t/12_leaks.t
t/13_request_with_body.t
t/14_keepalive.t
-t/continuation.request.data
t/lib/PH2ClientServerTest.pm
t/lib/PH2Test.pm
META.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/META.json
new/Protocol-HTTP2-1.12/META.json
--- old/Protocol-HTTP2-1.11/META.json 2024-05-19 18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/META.json 2026-02-14 13:56:01.000000000 +0100
@@ -4,7 +4,7 @@
"Vladimir Lettiev <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "Minilla/v3.1.21",
+ "generated_by" : "Minilla/v3.1.25",
"license" : [
"perl_5"
],
@@ -63,7 +63,7 @@
"provides" : {
"Protocol::HTTP2" : {
"file" : "lib/Protocol/HTTP2.pm",
- "version" : "1.11"
+ "version" : "1.12"
},
"Protocol::HTTP2::Client" : {
"file" : "lib/Protocol/HTTP2/Client.pm"
@@ -147,9 +147,10 @@
"web" : "https://github.com/vlet/p5-Protocol-HTTP2"
}
},
- "version" : "1.11",
+ "version" : "1.12",
"x_contributors" : [
"Daniil Bondarev <[email protected]>",
+ "Daniil Bondarev <[email protected]>",
"Felipe Gasper <[email protected]>",
"Junho Choi <[email protected]>",
"Mohammad S Anwar <[email protected]>",
@@ -157,6 +158,6 @@
"gregor herrmann <[email protected]>",
"yoshikazusawa <[email protected]>"
],
- "x_serialization_backend" : "JSON::PP version 4.07",
+ "x_serialization_backend" : "JSON::PP version 4.16",
"x_static_install" : 1
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/META.yml
new/Protocol-HTTP2-1.12/META.yml
--- old/Protocol-HTTP2-1.11/META.yml 2024-05-19 18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/META.yml 2026-02-14 13:56:01.000000000 +0100
@@ -11,7 +11,7 @@
configure_requires:
Module::Build::Tiny: '0.035'
dynamic_config: 0
-generated_by: 'Minilla/v3.1.21, CPAN::Meta::Converter version 2.150010'
+generated_by: 'Minilla/v3.1.25, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -30,7 +30,7 @@
provides:
Protocol::HTTP2:
file: lib/Protocol/HTTP2.pm
- version: '1.11'
+ version: '1.12'
Protocol::HTTP2::Client:
file: lib/Protocol/HTTP2/Client.pm
Protocol::HTTP2::Connection:
@@ -85,9 +85,10 @@
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.11'
+version: '1.12'
x_contributors:
- 'Daniil Bondarev <[email protected]>'
+ - 'Daniil Bondarev <[email protected]>'
- 'Felipe Gasper <[email protected]>'
- 'Junho Choi <[email protected]>'
- 'Mohammad S Anwar <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2/Connection.pm
new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Connection.pm
--- old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2/Connection.pm 2024-05-19
18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Connection.pm 2026-02-14
13:56:01.000000000 +0100
@@ -354,7 +354,7 @@
$self->enqueue( HEADERS, $flags, $stream_id,
{ hblock => \substr( $header_block, 0, $max_size, '' ) } );
while ( length($header_block) > 0 ) {
- my $flags = length($header_block) <= $max_size ? 0 : END_HEADERS;
+ my $flags = length($header_block) <= $max_size ? END_HEADERS : 0;
$self->enqueue( CONTINUATION, $flags,
$stream_id, \substr( $header_block, 0, $max_size, '' ) );
}
@@ -372,7 +372,7 @@
[ $promised_id, \substr( $header_block, 0, $max_size - 4, '' ) ] );
while ( length($header_block) > 0 ) {
- my $flags = length($header_block) <= $max_size ? 0 : END_HEADERS;
+ my $flags = length($header_block) <= $max_size ? END_HEADERS : 0;
$self->enqueue( CONTINUATION, $flags,
$stream_id, \substr( $header_block, 0, $max_size, '' ) );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2/Frame/Continuation.pm
new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Frame/Continuation.pm
--- old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2/Frame/Continuation.pm
2024-05-19 18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Frame/Continuation.pm
2026-02-14 13:56:01.000000000 +0100
@@ -18,7 +18,7 @@
return undef;
}
- $con->stream_header_block( $frame_ref->{stream},
+ $con->stream_header_block_add( $frame_ref->{stream},
substr( $$buf_ref, $buf_offset, $length ) );
# Stream header block complete
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2/Stream.pm
new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Stream.pm
--- old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2/Stream.pm 2024-05-19
18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2/Stream.pm 2026-02-14
13:56:01.000000000 +0100
@@ -411,4 +411,11 @@
return 1;
}
+sub stream_header_block_add {
+ my ( $self, $stream_id, $header_chunk ) = @_;
+ return undef
+ if !exists $self->{streams}->{$stream_id} || !defined $header_chunk;
+ $self->{streams}->{$stream_id}->{header_block} .= $header_chunk;
+}
+
1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2.pm
new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2.pm
--- old/Protocol-HTTP2-1.11/lib/Protocol/HTTP2.pm 2024-05-19
18:55:29.000000000 +0200
+++ new/Protocol-HTTP2-1.12/lib/Protocol/HTTP2.pm 2026-02-14
13:56:01.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = "1.11";
+our $VERSION = "1.12";
sub ident_plain {
'h2c';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/t/04_continuation.t
new/Protocol-HTTP2-1.12/t/04_continuation.t
--- old/Protocol-HTTP2-1.11/t/04_continuation.t 2024-05-19 18:55:29.000000000
+0200
+++ new/Protocol-HTTP2-1.12/t/04_continuation.t 2026-02-14 13:56:01.000000000
+0100
@@ -1,36 +1,72 @@
use strict;
use warnings;
use Test::More;
-use Protocol::HTTP2::Constants qw(const_name :endpoints :states);
+use Protocol::HTTP2::Client;
+use Protocol::HTTP2::Server;
+use lib 't/lib';
+use PH2Test qw(fake_connect random_string);
-BEGIN {
- use_ok('Protocol::HTTP2::Connection');
-}
+subtest 'client large headers' => sub {
-done_testing;
-__END__
-subtest 'decode_continuation_request' => sub {
+ plan tests => 12;
+
+ my $location = "https://www.example.com/";
+ my $on_done = sub {
+ my ( $headers, $data ) = @_;
+ };
+ my %common = (
+ ':scheme' => 'http',
+ ':authority' => 'localhost:8000',
+ ':path' => '/',
+ on_done => $on_done,
+ );
+
+ my $server;
+ $server = Protocol::HTTP2::Server->new(
+ on_request => sub {
+ my ( $stream_id, $headers, $data ) = @_;
+ my %h = (@$headers);
+ for my $i ( 1 .. 6 ) {
+ ok exists $h{"h$i"}, "h$i decoded ok";
+ }
- open my $fh, '<:raw', 't/continuation.request.data' or die $!;
- my $data = do { local $/; <$fh> };
+ $server->response_stream(
+ ':status' => 302,
+ stream_id => $stream_id,
+ headers => [
+ location => $location
+ ],
+ );
- my $con = Protocol::HTTP2::Connection->new( SERVER,
- on_change_state => sub {
- my ( $stream_id, $previous_state, $current_state ) = @_;
- printf "Stream %i changed state from %s to %s\n",
- $stream_id, const_name( "states", $previous_state ),
- const_name( "states", $current_state );
},
- on_error => sub {
- fail("Error occurred");
- }
);
- my $offset = $con->preface_decode( \$data, 0 );
- is( $offset, 24, "Preface exists" ) or BAIL_OUT "preface?";
- while ( my $size = $con->frame_decode( \$data, $offset ) ) {
- $offset += $size;
- }
- is $con->error, 0, "no errors";
+
+ my $client = Protocol::HTTP2::Client->new;
+ $client->request(
+ %common,
+ headers => [
+ 'h1' => random_string(1000),
+ 'h2' => random_string(1000),
+ 'h3' => random_string(1000),
+ 'h4' => random_string(1000),
+ 'h5' => random_string(1000),
+ 'h6' => random_string(1000),
+ ],
+ ':method' => 'GET',
+ )->request(
+ %common,
+ ':method' => 'GET',
+ headers => [
+ 'h1' => random_string(5000),
+ 'h2' => random_string(5000),
+ 'h3' => random_string(5000),
+ 'h4' => random_string(5000),
+ 'h5' => random_string(5000),
+ 'h6' => random_string(5000),
+ ],
+ );
+
+ fake_connect( $server, $client );
};
done_testing;
Binary files old/Protocol-HTTP2-1.11/t/continuation.request.data and
new/Protocol-HTTP2-1.12/t/continuation.request.data differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Protocol-HTTP2-1.11/t/lib/PH2Test.pm
new/Protocol-HTTP2-1.12/t/lib/PH2Test.pm
--- old/Protocol-HTTP2-1.11/t/lib/PH2Test.pm 2024-05-19 18:55:29.000000000
+0200
+++ new/Protocol-HTTP2-1.12/t/lib/PH2Test.pm 2026-02-14 13:56:01.000000000
+0100
@@ -3,7 +3,7 @@
use warnings;
use Protocol::HTTP2::Trace qw(bin2hex);
use Exporter qw(import);
-our @EXPORT = qw(hstr binary_eq fake_connect);
+our @EXPORT = qw(hstr binary_eq fake_connect random_string);
sub hstr {
my $str = shift;
@@ -40,4 +40,9 @@
} while ( $clt_frame || $srv_frame );
}
+sub random_string {
+ my @chars = ( 'a' .. 'z', 'A' .. 'Z', 0 .. 9 );
+ join '', map { $chars[ int( rand(@chars) ) ] } 1 .. shift;
+}
+
1;
++++++ 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: 1771135887
commit: 842b86b185b72c226b7ae08bc26a4b06493f5b62c7f177a82c3597461c1d4337
url: https://src.opensuse.org/perl/perl-Protocol-HTTP2.git
revision: 842b86b185b72c226b7ae08bc26a4b06493f5b62c7f177a82c3597461c1d4337
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-09 19:29:48.000000000 +0100
@@ -0,0 +1 @@
+.osc