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

![Factory build 
results](https://br.opensuse.org/status/openSUSE:Factory/perl-Protocol-HTTP2/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-Protocol-HTTP2)



++++++ _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

Reply via email to