Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Cookie-Baker for openSUSE:Factory checked in at 2024-03-08 18:08:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Cookie-Baker (Old) and /work/SRC/openSUSE:Factory/.perl-Cookie-Baker.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Cookie-Baker" Fri Mar 8 18:08:45 2024 rev:7 rq:1156054 version:0.120.0 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Cookie-Baker/perl-Cookie-Baker.changes 2019-06-12 13:14:14.288820519 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Cookie-Baker.new.1770/perl-Cookie-Baker.changes 2024-03-08 18:08:46.741228874 +0100 @@ -1,0 +2,12 @@ +Sat Jan 6 03:06:08 UTC 2024 - Tina Müller <timueller+p...@suse.de> + +- updated to 0.12 + see /usr/share/doc/packages/perl-Cookie-Baker/Changes + + 0.12 2024-01-05T08:27:56Z + + - Support CHIPS #20 + - Set secure when SameSite=None #21 + Thank you yoshikazusawa. + +------------------------------------------------------------------- Old: ---- Cookie-Baker-0.11.tar.gz New: ---- Cookie-Baker-0.12.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Cookie-Baker.spec ++++++ --- /var/tmp/diff_new_pack.NUxv0D/_old 2024-03-08 18:08:47.185245556 +0100 +++ /var/tmp/diff_new_pack.NUxv0D/_new 2024-03-08 18:08:47.185245556 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-Cookie-Baker # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,32 +16,34 @@ # +%define cpan_name Cookie-Baker Name: perl-Cookie-Baker -Version: 0.11 +Version: 0.120.0 Release: 0 -%define cpan_name Cookie-Baker -Summary: Cookie string generator / parser +%define cpan_version 0.12 License: Artistic-1.0 OR GPL-1.0-or-later -Group: Development/Libraries/Perl -Url: https://metacpan.org/release/%{cpan_name} -Source0: https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO/%{cpan_name}-%{version}.tar.gz +Summary: Cookie string generator / parser +URL: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(Module::Build) BuildRequires: perl(Module::Build::Tiny) >= 0.035 BuildRequires: perl(Test::More) >= 0.98 BuildRequires: perl(Test::Time) BuildRequires: perl(URI::Escape) Requires: perl(URI::Escape) +Provides: perl(Cookie::Baker) = %{version} +%define __perllib_provides /bin/true %{perl_requires} %description Cookie::Baker provides simple cookie string generator and parser. %prep -%setup -q -n %{cpan_name}-%{version} +%autosetup -n %{cpan_name}-%{cpan_version} %build perl Build.PL --installdirs=vendor @@ -55,7 +57,6 @@ %perl_gen_filelist %files -f %{name}.files -%defattr(-,root,root,755) -%doc Changes minil.toml README.md +%doc Changes README.md %license LICENSE ++++++ Cookie-Baker-0.11.tar.gz -> Cookie-Baker-0.12.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cookie-Baker-0.11/Changes new/Cookie-Baker-0.12/Changes --- old/Cookie-Baker-0.11/Changes 2019-06-07 08:27:51.000000000 +0200 +++ new/Cookie-Baker-0.12/Changes 2024-01-05 09:28:00.000000000 +0100 @@ -1,5 +1,11 @@ Revision history for Perl extension Cookie-Baker +0.12 2024-01-05T08:27:56Z + + - Support CHIPS #20 + - Set secure when SameSite=None #21 + Thank you yoshikazusawa. + 0.11 2019-06-07T06:27:50Z - Supportt SameSite=None https://github.com/kazeburo/Cookie-Baker/pull/15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cookie-Baker-0.11/META.json new/Cookie-Baker-0.12/META.json --- old/Cookie-Baker-0.11/META.json 2019-06-07 08:27:51.000000000 +0200 +++ new/Cookie-Baker-0.12/META.json 2024-01-05 09:28:00.000000000 +0100 @@ -4,7 +4,7 @@ "Masahiro Nagano <kazeb...@gmail.com>" ], "dynamic_config" : 0, - "generated_by" : "Minilla/v3.1.1", + "generated_by" : "Minilla/v3.1.23", "license" : [ "perl_5" ], @@ -35,7 +35,7 @@ "requires" : { "Test::CPAN::Meta" : "0", "Test::MinimumVersion::Fast" : "0.04", - "Test::PAUSE::Permissions" : "0.04", + "Test::PAUSE::Permissions" : "0.07", "Test::Pod" : "1.41", "Test::Spellunker" : "v0.2.7" } @@ -60,7 +60,7 @@ "provides" : { "Cookie::Baker" : { "file" : "lib/Cookie/Baker.pm", - "version" : "0.11" + "version" : "0.12" } }, "release_status" : "stable", @@ -70,18 +70,20 @@ }, "homepage" : "https://github.com/kazeburo/Cookie-Baker", "repository" : { - "url" : "git://github.com/kazeburo/Cookie-Baker.git", + "type" : "git", + "url" : "https://github.com/kazeburo/Cookie-Baker.git", "web" : "https://github.com/kazeburo/Cookie-Baker" } }, - "version" : "0.11", + "version" : "0.12", "x_contributors" : [ "David Romano <un...@cpan.org>", "Ichinose Shogo <shogo82...@gmail.com>", "Olaf Alders <o...@wundersolutions.com>", "Shoichi Kaji <sk...@cpan.org>", - "kwry <kwrk...@gmail.com>" + "kwry <kwrk...@gmail.com>", + "yoshikazusawa <883514+yoshikazus...@users.noreply.github.com>" ], - "x_serialization_backend" : "JSON::PP version 2.27300_01", + "x_serialization_backend" : "JSON::PP version 4.07", "x_static_install" : 1 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cookie-Baker-0.11/META.yml new/Cookie-Baker-0.12/META.yml --- old/Cookie-Baker-0.11/META.yml 2019-06-07 08:27:51.000000000 +0200 +++ new/Cookie-Baker-0.12/META.yml 2024-01-05 09:28:00.000000000 +0100 @@ -8,7 +8,7 @@ configure_requires: Module::Build::Tiny: '0.035' dynamic_config: 0 -generated_by: 'Minilla/v3.1.1, CPAN::Meta::Converter version 2.150005' +generated_by: 'Minilla/v3.1.23, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -27,7 +27,7 @@ provides: Cookie::Baker: file: lib/Cookie/Baker.pm - version: '0.11' + version: '0.12' requires: Exporter: '0' URI::Escape: '0' @@ -35,13 +35,14 @@ resources: bugtracker: https://github.com/kazeburo/Cookie-Baker/issues homepage: https://github.com/kazeburo/Cookie-Baker - repository: git://github.com/kazeburo/Cookie-Baker.git -version: '0.11' + repository: https://github.com/kazeburo/Cookie-Baker.git +version: '0.12' x_contributors: - 'David Romano <un...@cpan.org>' - 'Ichinose Shogo <shogo82...@gmail.com>' - 'Olaf Alders <o...@wundersolutions.com>' - 'Shoichi Kaji <sk...@cpan.org>' - 'kwry <kwrk...@gmail.com>' + - 'yoshikazusawa <883514+yoshikazus...@users.noreply.github.com>' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' x_static_install: 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cookie-Baker-0.11/README.md new/Cookie-Baker-0.12/README.md --- old/Cookie-Baker-0.11/README.md 2019-06-07 08:27:51.000000000 +0200 +++ new/Cookie-Baker-0.12/README.md 2024-01-05 09:28:00.000000000 +0100 @@ -16,7 +16,7 @@ # XS IMPLEMENTATION -This module tries to use [Cookie::Baker::XS](https://metacpan.org/pod/Cookie::Baker::XS)'s crush\_cookie by default. +This module tries to use [Cookie::Baker::XS](https://metacpan.org/pod/Cookie%3A%3ABaker%3A%3AXS)'s crush\_cookie by default. If this fails, it will use Cookie::Baker's pure Perl crush\_cookie. There is no XS implementation of bake\_cookie yet. @@ -46,6 +46,11 @@ Cookie's domain. + - partitioned + + If true, sets Partitioned flag, and also enforces secure, SameSite=None. false by default. + [Cookies Having Independent Partitioned State specification](https://www.ietf.org/archive/id/draft-cutler-httpbis-partitioned-cookies-00.html) + - expires Cookie's expires date time. Several formats are supported: @@ -93,7 +98,7 @@ CPAN already has many cookie related modules. But there is no simple cookie string generator and parser module. -[CGI](https://metacpan.org/pod/CGI), [CGI::Simple](https://metacpan.org/pod/CGI::Simple), [Plack](https://metacpan.org/pod/Plack), [Dancer::Cookie](https://metacpan.org/pod/Dancer::Cookie) +[CGI](https://metacpan.org/pod/CGI), [CGI::Simple](https://metacpan.org/pod/CGI%3A%3ASimple), [Plack](https://metacpan.org/pod/Plack), [Dancer::Cookie](https://metacpan.org/pod/Dancer%3A%3ACookie) # LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cookie-Baker-0.11/lib/Cookie/Baker.pm new/Cookie-Baker-0.12/lib/Cookie/Baker.pm --- old/Cookie-Baker-0.11/lib/Cookie/Baker.pm 2019-06-07 08:27:51.000000000 +0200 +++ new/Cookie-Baker-0.12/lib/Cookie/Baker.pm 2024-01-05 09:28:00.000000000 +0100 @@ -7,7 +7,7 @@ use URI::Escape; BEGIN { - our $VERSION = "0.11"; + our $VERSION = "0.12"; our @EXPORT = qw/bake_cookie crush_cookie/; my $use_pp = $ENV{COOKIE_BAKER_PP}; if (!$use_pp) { @@ -33,6 +33,11 @@ return '' unless defined $val; my %args = ref $val ? %{$val} : (value => $val); + if ($args{partitioned}) { + # enforce SameSite=None; and secure; on CHIPS (Cookies Having Independent Partitioned State) + $args{samesite} = 'none'; + $args{secure} = 1; + } $name = URI::Escape::uri_escape($name) if $name =~ m![^a-zA-Z\-\._~]!; my $cookie = "$name=" . URI::Escape::uri_escape($args{value}) . '; '; $cookie .= 'domain=' . $args{domain} . '; ' if $args{domain}; @@ -40,10 +45,14 @@ $cookie .= 'expires=' . _date($args{expires}) . '; ' if exists $args{expires} && defined $args{expires}; $cookie .= 'max-age=' . $args{"max-age"} . '; ' if exists $args{"max-age"}; if (exists $args{samesite} && $args{samesite} =~ m/^(?:lax|strict|none)/i) { - $cookie .= 'SameSite=' . ucfirst(lc($args{samesite})) . '; ' + $cookie .= 'SameSite=' . ucfirst(lc($args{samesite})) . '; '; + # secure flag must be set when SameSite=None + $args{secure} = 1 if $cookie =~ m/SameSite=None; /; } $cookie .= 'secure; ' if $args{secure}; $cookie .= 'HttpOnly; ' if $args{httponly}; + $cookie .= 'Partitioned; ' if $args{partitioned}; + substr($cookie,-2,2,''); $cookie; } @@ -168,6 +177,11 @@ Cookie's domain. +=item partitioned + +If true, sets Partitioned flag, and also enforces secure, SameSite=None. false by default. +L<Cookies Having Independent Partitioned State specification|https://www.ietf.org/archive/id/draft-cutler-httpbis-partitioned-cookies-00.html> + =item expires Cookie's expires date time. Several formats are supported: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cookie-Baker-0.11/t/01_bake.t new/Cookie-Baker-0.12/t/01_bake.t --- old/Cookie-Baker-0.11/t/01_bake.t 2019-06-07 08:27:51.000000000 +0200 +++ new/Cookie-Baker-0.12/t/01_bake.t 2024-01-05 09:28:00.000000000 +0100 @@ -12,8 +12,10 @@ [ 'foo', { value => 'foo bar baz' }, 'foo=foo%20bar%20baz'], [ 'foo', { value => 'val',expires => undef }, 'foo=val'], [ 'foo', { value => 'val',path => '/' }, 'foo=val; path=/'], - [ 'foo', { value => 'val',path => '/', secure => 1, httponly => 0 }, 'foo=val; path=/; secure'], - [ 'foo', { value => 'val',path => '/', secure => 0, httponly => 1 }, 'foo=val; path=/; HttpOnly'], + [ 'foo', { value => 'val',path => '/', secure => 0, httponly => 0, partitioned => 0 }, 'foo=val; path=/'], + [ 'foo', { value => 'val',path => '/', secure => 1, httponly => 0, partitioned => 0 }, 'foo=val; path=/; secure'], + [ 'foo', { value => 'val',path => '/', secure => 0, httponly => 1, partitioned => 0 }, 'foo=val; path=/; HttpOnly'], + [ 'foo', { value => 'val',path => '/', secure => 0, httponly => 0, partitioned => 1 }, 'foo=val; path=/; SameSite=None; secure; Partitioned'], [ 'foo', { value => 'val',expires => 'now' }, 'foo=val; expires=Mon, 07-Oct-2013 13:56:57 GMT'], [ 'foo', { value => 'val',expires => $now + 24*60*60 }, 'foo=val; expires=Tue, 08-Oct-2013 13:56:57 GMT'], [ 'foo', { value => 'val',expires => '1s' }, 'foo=val; expires=Mon, 07-Oct-2013 13:56:58 GMT'], @@ -31,8 +33,10 @@ [ 'foo', { value => 'val','max-age' => '0' }, 'foo=val; max-age=0'], [ 'foo', { value => 'val', samesite => 'lax' }, 'foo=val; SameSite=Lax'], [ 'foo', { value => 'val', samesite => 'strict' }, 'foo=val; SameSite=Strict'], - [ 'foo', { value => 'val', samesite => 'none' }, 'foo=val; SameSite=None'], + [ 'foo', { value => 'val', samesite => 'none' }, 'foo=val; SameSite=None; secure'], + [ 'foo', { value => 'val', samesite => 'none', secure => 0 }, 'foo=val; SameSite=None; secure'], [ 'foo', { value => 'val', samesite => 'invalid value' }, 'foo=val'], + [ 'foo', { value => 'val', samesite => 'strict', partitioned => 1 }, 'foo=val; SameSite=None; secure; Partitioned'], ); for my $test (@tests) {