Hello community,

here is the log from the commit of package perl-CGI for openSUSE:Leap:15.2 
checked in at 2020-04-21 19:04:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/perl-CGI (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.perl-CGI.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-CGI"

Tue Apr 21 19:04:09 2020 rev:22 rq:795734 version:4.46

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/perl-CGI/perl-CGI.changes      2020-01-15 
15:39:57.595133947 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.perl-CGI.new.2738/perl-CGI.changes    
2020-04-21 19:04:13.851585135 +0200
@@ -1,0 +2,84 @@
+Tue Feb  4 03:07:29 UTC 2020 -  <[email protected]>
+
+- updated to 4.46 (bsc#1162868)
+   see /usr/share/doc/packages/perl-CGI/Changes
+
+  4.46 2020-02-03
+  
+      [ DOCUMENTATION ]
+      - Document support for SameSite=None cookies (GH #238)
+
+-------------------------------------------------------------------
+Tue Jan 14 03:07:14 UTC 2020 -  <[email protected]>
+
+- updated to 4.45
+   see /usr/share/doc/packages/perl-CGI/Changes
+
+  4.45 2019-06-03
+  
+      [ ENHANCEMENT ]
+      - Add support for SameSite=None cookies (GH #237, thanks to Dur09)
+
+-------------------------------------------------------------------
+Tue Jun  4 05:02:28 UTC 2019 - Stephan Kulow <[email protected]>
+
+- updated to 4.44
+   see /usr/share/doc/packages/perl-CGI/Changes
+
+  4.44 2019-06-03
+  
+      [ ENHANCEMENT ]
+      - Replace only use of "base" with "parent" (GH #235)
+
+-------------------------------------------------------------------
+Thu May  2 05:03:14 UTC 2019 - Stephan Kulow <[email protected]>
+
+- updated to 4.43
+   see /usr/share/doc/packages/perl-CGI/Changes
+
+  4.43 2019-05-01
+  
+      [ FIX / TESTING ]
+      - support unquoted multipart/form-data name values (GH #234)
+
+-------------------------------------------------------------------
+Wed Mar 27 06:04:25 UTC 2019 - Stephan Kulow <[email protected]>
+
+- updated to 4.42
+   see /usr/share/doc/packages/perl-CGI/Changes
+
+  4.42 2019-03-26
+  
+      [ DOCUMENTATION ]
+      - clarify licence also in Makefile.PL (GH #232)
+  
+  4.41 2019-03-26
+  
+      [ DOCUMENTATION ]
+      - clarify licence (GH #232)
+
+-------------------------------------------------------------------
+Sat Aug 18 05:05:04 UTC 2018 - [email protected]
+
+- updated to 4.40
+   see /usr/share/doc/packages/perl-CGI/Changes
+
+  4.40 2018-08-15
+  
+      [ FIX / TESTING ]
+      - support perls < 5.10.1 in Makefile.PL by being more dynamic
+        (GH #229, GH #230, thanks to Aristotle)
+
+-------------------------------------------------------------------
+Tue Aug 14 05:05:39 UTC 2018 - [email protected]
+
+- updated to 4.39
+   see /usr/share/doc/packages/perl-CGI/Changes
+
+  4.39 2018-08-13
+  
+      [ FIX / TESTING ]
+      - specify CONFIGURE_REQUIRES in Makefile.PL so can use TEST_REQUIRES
+        to build with older perls (GH #228)
+
+-------------------------------------------------------------------

Old:
----
  CGI-4.38.tar.gz

New:
----
  CGI-4.46.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-CGI.spec ++++++
--- /var/tmp/diff_new_pack.kM8MUw/_old  2020-04-21 19:04:14.247585963 +0200
+++ /var/tmp/diff_new_pack.kM8MUw/_new  2020-04-21 19:04:14.251585971 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-CGI
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           perl-CGI
-Version:        4.38
+Version:        4.46
 Release:        0
 %define cpan_name CGI
 Summary:        Handle Common Gateway Interface requests and responses
-License:        Artistic-1.0 or GPL-1.0+
+License:        Artistic-2.0
 Group:          Development/Libraries/Perl
-Url:            http://search.cpan.org/dist/CGI/
+URL:            https://metacpan.org/release/%{cpan_name}
 Source0:        
https://cpan.metacpan.org/authors/id/L/LE/LEEJO/%{cpan_name}-%{version}.tar.gz
 Source1:        cpanspec.yml
 BuildArch:      noarch
@@ -58,14 +58,14 @@
 
 %prep
 %setup -q -n %{cpan_name}-%{version}
-find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
+find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path 
"*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
 
 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
 
 %check
-%{__make} test
+make test
 
 %install
 %perl_make_install

++++++ CGI-4.38.tar.gz -> CGI-4.46.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/Changes new/CGI-4.46/Changes
--- old/CGI-4.38/Changes        2017-12-01 09:30:41.000000000 +0100
+++ new/CGI-4.46/Changes        2020-02-03 15:47:56.000000000 +0100
@@ -1,3 +1,45 @@
+4.46 2020-02-03
+
+    [ DOCUMENTATION ]
+    - Document support for SameSite=None cookies (GH #238)
+
+4.45 2019-06-03
+
+    [ ENHANCEMENT ]
+    - Add support for SameSite=None cookies (GH #237, thanks to Dur09)
+
+4.44 2019-06-03
+
+    [ ENHANCEMENT ]
+    - Replace only use of "base" with "parent" (GH #235)
+
+4.43 2019-05-01
+
+    [ FIX / TESTING ]
+    - support unquoted multipart/form-data name values (GH #234)
+
+4.42 2019-03-26
+
+    [ DOCUMENTATION ]
+    - clarify licence also in Makefile.PL (GH #232)
+
+4.41 2019-03-26
+
+    [ DOCUMENTATION ]
+    - clarify licence (GH #232)
+
+4.40 2018-08-15
+
+    [ FIX / TESTING ]
+    - support perls < 5.10.1 in Makefile.PL by being more dynamic
+      (GH #229, GH #230, thanks to Aristotle)
+
+4.39 2018-08-13
+
+    [ FIX / TESTING ]
+    - specify CONFIGURE_REQUIRES in Makefile.PL so can use TEST_REQUIRES
+      to build with older perls (GH #228)
+
 4.38 2017-12-01
 
     [ TESTING ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/LICENSE new/CGI-4.46/LICENSE
--- old/CGI-4.38/LICENSE        2016-10-13 13:34:56.000000000 +0200
+++ new/CGI-4.46/LICENSE        2019-03-26 16:56:43.000000000 +0100
@@ -1,2 +1,74 @@
-The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0.
+Artistic License 2.0
+
+Copyright (c) 2000-2006, The Perl Foundation.
+
+Everyone is permitted to copy and distribute verbatim copies of this license 
document, but changing it is not allowed.
+Preamble
+
+This license establishes the terms under which a given free software Package 
may be copied, modified, distributed, and/or redistributed. The intent is that 
the Copyright Holder maintains some artistic control over the development of 
that Package while still keeping the Package available as open source and free 
software.
+
+You are always permitted to make arrangements wholly outside of this license 
directly with the Copyright Holder of a given Package. If the terms of this 
license do not permit the full use that you propose to make of the Package, you 
should contact the Copyright Holder and seek a different licensing arrangement.
+Definitions
+
+"Copyright Holder" means the individual(s) or organization(s) named in the 
copyright notice for the entire Package.
+
+"Contributor" means any party that has contributed code or other material to 
the Package, in accordance with the Copyright Holder's procedures.
+
+"You" and "your" means any person who would like to copy, distribute, or 
modify the Package.
+
+"Package" means the collection of files distributed by the Copyright Holder, 
and derivatives of that collection and/or of those files. A given Package may 
consist of either the Standard Version, or a Modified Version.
+
+"Distribute" means providing a copy of the Package or making it accessible to 
anyone else, or in the case of a company or organization, to others outside of 
your company or organization.
+
+"Distributor Fee" means any fee that you charge for Distributing this Package 
or providing support for this Package to another party. It does not mean 
licensing fees.
+
+"Standard Version" refers to the Package if it has not been modified, or has 
been modified only in ways explicitly requested by the Copyright Holder.
+
+"Modified Version" means the Package, if it has been changed, and such changes 
were not explicitly requested by the Copyright Holder.
+
+"Original License" means this Artistic License as Distributed with the 
Standard Version of the Package, in its current version or as it may be 
modified by The Perl Foundation in the future.
+
+"Source" form means the source code, documentation source, and configuration 
files for the Package.
+
+"Compiled" form means the compiled bytecode, object code, binary, or any other 
form resulting from mechanical transformation or translation of the Source form.
+Permission for Use and Modification Without Distribution
+
+(1) You are permitted to use the Standard Version and create and use Modified 
Versions for any purpose without restriction, provided that you do not 
Distribute the Modified Version.
+Permissions for Redistribution of the Standard Version
+
+(2) You may Distribute verbatim copies of the Source form of the Standard 
Version of this Package in any medium without restriction, either gratis or for 
a Distributor Fee, provided that you duplicate all of the original copyright 
notices and associated disclaimers. At your discretion, such verbatim copies 
may or may not include a Compiled form of the Package.
+
+(3) You may apply any bug fixes, portability changes, and other modifications 
made available from the Copyright Holder. The resulting Package will still be 
considered the Standard Version, and as such will be subject to the Original 
License.
+Distribution of Modified Versions of the Package as Source
+
+(4) You may Distribute your Modified Version as Source (either gratis or for a 
Distributor Fee, and with or without a Compiled form of the Modified Version) 
provided that you clearly document how it differs from the Standard Version, 
including, but not limited to, documenting any non-standard features, 
executables, or modules, and provided that you do at least ONE of the following:
+
+(a) make the Modified Version available to the Copyright Holder of the 
Standard Version, under the Original License, so that the Copyright Holder may 
include your modifications in the Standard Version.
+(b) ensure that installation of your Modified Version does not prevent the 
user installing or running the Standard Version. In addition, the Modified 
Version must bear a name that is different from the name of the Standard 
Version.
+(c) allow anyone who receives a copy of the Modified Version to make the 
Source form of the Modified Version available to others under
+(i) the Original License or
+(ii) a license that permits the licensee to freely copy, modify and 
redistribute the Modified Version using the same licensing terms that apply to 
the copy that the licensee received, and requires that the Source form of the 
Modified Version, and of any works derived from it, be made freely available in 
that license fees are prohibited but Distributor Fees are allowed.
+Distribution of Compiled Forms of the Standard Version or Modified Versions 
without the Source
+
+(5) You may Distribute Compiled forms of the Standard Version without the 
Source, provided that you include complete instructions on how to get the 
Source of the Standard Version. Such instructions must be valid at the time of 
your distribution. If these instructions, at any time while you are carrying 
out such distribution, become invalid, you must provide new instructions on 
demand or cease further distribution. If you provide valid instructions or 
cease distribution within thirty days after you become aware that the 
instructions are invalid, then you do not forfeit any of your rights under this 
license.
+
+(6) You may Distribute a Modified Version in Compiled form without the Source, 
provided that you comply with Section 4 with respect to the Source of the 
Modified Version.
+Aggregating or Linking the Package
+
+(7) You may aggregate the Package (either the Standard Version or Modified 
Version) with other packages and Distribute the resulting aggregation provided 
that you do not charge a licensing fee for the Package. Distributor Fees are 
permitted, and licensing fees for other components in the aggregation are 
permitted. The terms of this license apply to the use and Distribution of the 
Standard or Modified Versions as included in the aggregation.
+
+(8) You are permitted to link Modified and Standard Versions with other works, 
to embed the Package in a larger work of your own, or to build stand-alone 
binary or bytecode versions of applications that include the Package, and 
Distribute the result without restriction, provided the result does not expose 
a direct interface to the Package.
+Items That are Not Considered Part of a Modified Version
+
+(9) Works (including, but not limited to, modules and scripts) that merely 
extend or make use of the Package, do not, by themselves, cause the Package to 
be a Modified Version. In addition, such works are not considered parts of the 
Package itself, and are not subject to the terms of this license.
+General Provisions
+
+(10) Any use, modification, and distribution of the Standard or Modified 
Versions is governed by this Artistic License. By using, modifying or 
distributing the Package, you accept this license. Do not use, modify, or 
distribute the Package, if you do not accept this license.
+
+(11) If your Modified Version has been derived from a Modified Version made by 
someone other than you, you are nevertheless required to ensure that your 
Modified Version complies with the requirements of this license.
+
+(12) This license does not grant you the right to use any trademark, service 
mark, tradename, or logo of the Copyright Holder.
+
+(13) This license includes the non-exclusive, worldwide, free-of-charge patent 
license to make, have made, use, offer to sell, sell, import and otherwise 
transfer the Package with respect to any patent claims licensable by the 
Copyright Holder that are necessarily infringed by the Package. If you 
institute patent litigation (including a cross-claim or counterclaim) against 
any party alleging that the Package constitutes direct or contributory patent 
infringement, then this Artistic License to you shall terminate on the date 
that such litigation is filed.
+
+(14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER 
AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE 
IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR 
NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. 
UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR 
ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY 
OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
DAMAGE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/MANIFEST new/CGI-4.46/MANIFEST
--- old/CGI-4.38/MANIFEST       2017-12-01 09:31:53.000000000 +0100
+++ new/CGI-4.46/MANIFEST       2020-02-03 15:49:04.000000000 +0100
@@ -82,6 +82,8 @@
 t/upload.t
 t/uploadInfo.t
 t/upload_post_text.txt
+t/upload_post_quoted_unquoted.txt
+t/upload_quoted_unquoted.t
 t/url.t
 t/user_agent.t
 t/utf8.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/META.json new/CGI-4.46/META.json
--- old/CGI-4.38/META.json      2017-12-01 09:31:53.000000000 +0100
+++ new/CGI-4.46/META.json      2020-02-03 15:49:04.000000000 +0100
@@ -4,13 +4,13 @@
       "unknown"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.36, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
-      "perl_5"
+      "artistic_2"
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : "2"
+      "version" : 2
    },
    "name" : "CGI",
    "no_index" : {
@@ -40,7 +40,6 @@
             "File::Spec" : "0.82",
             "File::Temp" : "0.17",
             "HTML::Entities" : "3.69",
-            "base" : "0",
             "if" : "0",
             "overload" : "0",
             "parent" : "0.225",
@@ -79,6 +78,6 @@
          "web" : "https://github.com/leejo/CGI.pm";
       }
    },
-   "version" : "4.38",
-   "x_serialization_backend" : "JSON::PP version 2.27400_02"
+   "version" : "4.46",
+   "x_serialization_backend" : "JSON::PP version 4.02"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/META.yml new/CGI-4.46/META.yml
--- old/CGI-4.38/META.yml       2017-12-01 09:31:53.000000000 +0100
+++ new/CGI-4.46/META.yml       2020-02-03 15:49:04.000000000 +0100
@@ -16,8 +16,8 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 
2.150010'
-license: perl
+generated_by: 'ExtUtils::MakeMaker version 7.36, CPAN::Meta::Converter version 
2.150010'
+license: artistic_2
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: '1.4'
@@ -35,7 +35,6 @@
   File::Spec: '0.82'
   File::Temp: '0.17'
   HTML::Entities: '3.69'
-  base: '0'
   if: '0'
   overload: '0'
   parent: '0.225'
@@ -48,5 +47,5 @@
   homepage: https://metacpan.org/module/CGI
   license: http://dev.perl.org/licenses/
   repository: https://github.com/leejo/CGI.pm
-version: '4.38'
+version: '4.46'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/Makefile.PL new/CGI-4.46/Makefile.PL
--- old/CGI-4.38/Makefile.PL    2017-03-29 10:36:35.000000000 +0200
+++ new/CGI-4.46/Makefile.PL    2019-06-03 10:57:12.000000000 +0200
@@ -1,21 +1,19 @@
 use ExtUtils::MakeMaker;
-my $mm = $ExtUtils::MakeMaker::VERSION;
 
 # See lib/ExtUtils/MakeMaker.pm for details of how to influence
 # the contents of the Makefile that is written.
-WriteMakefile(
-    INSTALLDIRS      => ( $] >= 5.012 ? 'site' : 'perl' ),
+my %WriteMakefileArgs = (
+    INSTALLDIRS      => ( "$]" >= 5.011 ? 'site' : 'perl' ),
     ABSTRACT_FROM    => 'lib/CGI.pod',
     VERSION_FROM     => 'lib/CGI.pm',
     NAME             => 'CGI',
     DISTNAME         => 'CGI',
-    LICENSE          => 'perl_5',
+    LICENSE          => 'artistic_2',
     VERSION_FROM     => 'lib/CGI.pm',
     MIN_PERL_VERSION => '5.8.1',
     PREREQ_PM        => {
         'Carp'           => 0,     # Carp was first released with perl 5
         'Exporter'       => 0,     # Exporter was first released with perl 5
-        'base'           => 0,     # base was first released with perl 5.00405
         'overload'       => 0,     # overload was first released with perl 
5.002
         'strict'         => 0,     # strict was first released with perl 5
         'utf8'           => 0,     # utf8 was first released with perl v5.6.0
@@ -47,27 +45,42 @@
         ZIP      => '/usr/bin/zip',
         ZIPFLAGS => '-rl'
     },
-    (
-        $mm < 6.46
-        ? ()
-        : (
-            META_MERGE => {
-                'meta-spec' => { version => 2 },
-                requires    => { perl    => '5.008001' },
-                resources   => {
-                    license    => 'http://dev.perl.org/licenses/',
-                    homepage   => 'https://metacpan.org/module/CGI',
-                    repository => {
-                        url  => 'https://github.com/leejo/CGI.pm',
-                        web  => 'https://github.com/leejo/CGI.pm',
-                        type => 'git',
-                    },
-                    bugtracker => {
-                        web => 'https://github.com/leejo/CGI.pm/issues',
-                    }
-                },
-                no_index => { directory => [qw/t/] },
+    META_MERGE => {
+        'meta-spec' => { version => 2 },
+        requires    => { perl    => '5.008001' },
+        resources   => {
+            license    => 'http://dev.perl.org/licenses/',
+            homepage   => 'https://metacpan.org/module/CGI',
+            repository => {
+                url  => 'https://github.com/leejo/CGI.pm',
+                web  => 'https://github.com/leejo/CGI.pm',
+                type => 'git',
             },
-        )
-    ),
+            bugtracker => {
+                web => 'https://github.com/leejo/CGI.pm/issues',
+            }
+        },
+        no_index => { directory => [qw/t/] },
+    },
 );
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.64) } ) {
+       my $req = delete $WriteMakefileArgs{'TEST_REQUIRES'};
+       @{ $WriteMakefileArgs{'BUILD_REQUIRES'} }{ keys %$req } = values %$req;
+}
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.5503) } ) {
+       my $req = delete $WriteMakefileArgs{'BUILD_REQUIRES'};
+       @{ $WriteMakefileArgs{'PREREQ_PM'} }{ keys %$req } = values %$req;
+}
+
+delete $WriteMakefileArgs{'MIN_PERL_VERSION'}
+       unless eval { ExtUtils::MakeMaker->VERSION(6.48) };
+
+delete $WriteMakefileArgs{'META_MERGE'}
+       unless eval { ExtUtils::MakeMaker->VERSION(6.46) };
+
+delete $WriteMakefileArgs{'LICENSE'}
+       unless eval { ExtUtils::MakeMaker->VERSION(6.31) };
+
+WriteMakefile(%WriteMakefileArgs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/README.md new/CGI-4.46/README.md
--- old/CGI-4.38/README.md      2016-10-13 15:50:23.000000000 +0200
+++ new/CGI-4.46/README.md      2020-02-03 15:47:27.000000000 +0100
@@ -436,14 +436,16 @@
 
     my $data = $q->param('POSTDATA');
 
-Likewise if PUTed data can be retrieved with code like this:
+Likewise if PUTed and PATCHed data can be retrieved with code like this:
 
     my $data = $q->param('PUTDATA');
 
+    my $data = $q->param('PATCHDATA');
+
 (If you don't know what the preceding means, worry not. It only affects people
 trying to use CGI for XML processing and other specialized tasks)
 
-PUTDATA/POSTDATA are also available via
+PUTDATA/POSTDATA/PATCHDATA are also available via
 [upload\_hook](#progress-bars-for-file-uploads-and-avoiding-temp-files),
 and as [file uploads](#processing-a-file-upload-field) via 
["-putdata\_upload"](#putdata_upload)
 option.
@@ -646,13 +648,13 @@
         my $param = $cgi->param('foo');
         $param    = decode( 'UTF-8',$param );
 
-- -putdata\_upload
+- -putdata\_upload / -postdata\_upload / -patchdata\_upload
 
-    Makes `$cgi->param('PUTDATA');` and `$cgi->param('POSTDATA');`
-    act like file uploads named PUTDATA and POSTDATA. See
-    ["Handling non-urlencoded arguments"](#handling-non-urlencoded-arguments) 
and ["Processing a file upload field"](#processing-a-file-upload-field)
-    PUTDATA/POSTDATA are also available via
-    [upload\_hook](#progress-bars-for-file-uploads-and-avoiding-temp-files).
+    Makes `$cgi->param('PUTDATA');`, `$cgi->param('PATCHDATA');`,
+    and `$cgi->param('POSTDATA');` act like file uploads named PUTDATA,
+    PATCHDATA, and POSTDATA. See ["Handling non-urlencoded 
arguments"](#handling-non-urlencoded-arguments) and
+    ["Processing a file upload field"](#processing-a-file-upload-field) 
PUTDATA/POSTDATA/PATCHDATA are also available
+    via 
[upload\_hook](#progress-bars-for-file-uploads-and-avoiding-temp-files).
 
 - -nph
 
@@ -964,6 +966,9 @@
 string with a form submitted with the GET method, the results will not be what
 you expect.
 
+If running from the command line, `url_param` will not pick up any
+parameters given on the command line.
+
 ## Processing a file upload field
 
 ### Basics
@@ -1463,7 +1468,7 @@
 - **request\_method()**
 
     Returns the method used to access your script, usually one of 'POST', 'GET'
-    or 'HEAD'.
+    or 'HEAD'.  If running from the command line it will be undef.
 
 - **content\_type()**
 
@@ -1729,7 +1734,7 @@
 # LICENSE
 
 The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0. It is currently maintained
+distributed under the Artistic License 2.0. It is currently maintained
 by Lee Johnson (LEEJO) with help from many contributors.
 
 # CREDITS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI/Carp.pm new/CGI-4.46/lib/CGI/Carp.pm
--- old/CGI-4.38/lib/CGI/Carp.pm        2017-12-01 09:27:49.000000000 +0100
+++ new/CGI-4.46/lib/CGI/Carp.pm        2020-02-03 15:46:16.000000000 +0100
@@ -292,7 +292,7 @@
 =head1 AUTHOR INFORMATION
 
 The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0. It is currently
+distributed under the Artistic License 2.0. It is currently
 maintained by Lee Johnson with help from many contributors.
 
 Address bug reports and comments to: https://github.com/leejo/CGI.pm/issues
@@ -327,7 +327,7 @@
 
 $main::SIG{__WARN__}=\&CGI::Carp::warn;
 
-$CGI::Carp::VERSION     = '4.38';
+$CGI::Carp::VERSION     = '4.46';
 $CGI::Carp::CUSTOM_MSG  = undef;
 $CGI::Carp::DIE_HANDLER = undef;
 $CGI::Carp::TO_BROWSER  = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI/Cookie.pm 
new/CGI-4.46/lib/CGI/Cookie.pm
--- old/CGI-4.38/lib/CGI/Cookie.pm      2017-12-01 09:27:52.000000000 +0100
+++ new/CGI-4.46/lib/CGI/Cookie.pm      2020-02-03 15:46:22.000000000 +0100
@@ -5,7 +5,7 @@
 
 use if $] >= 5.019, 'deprecate';
 
-our $VERSION='4.38';
+our $VERSION='4.46';
 
 use CGI::Util qw(rearrange unescape escape);
 use overload '""' => \&as_string, 'cmp' => \&compare, 'fallback' => 1;
@@ -230,7 +230,7 @@
     return $self->{'httponly'};
 }
 
-my %_legal_samesite = ( Strict => 1, Lax => 1 );
+my %_legal_samesite = ( Strict => 1, Lax => 1, None => 1 );
 sub samesite { # SameSite
     my $self = shift;
     my $samesite = ucfirst lc +shift if @_; # Normalize casing.
@@ -392,8 +392,9 @@
 B<-httponly> if set to a true value, the cookie will not be accessible
 via JavaScript.
 
-B<-samesite> may be C<Lax> or C<Strict> and is an evolving part of the
-standards for cookies. Please refer to current documentation regarding it.
+B<-samesite> may be C<Lax>, C<Strict>, or C<None> and is an evolving part
+of the standards for cookies. Please refer to current documentation
+regarding it.
 
 For compatibility with Apache::Cookie, you may optionally pass in
 a mod_perl request object as the first argument to C<new()>. It will
@@ -533,7 +534,7 @@
 =head1 AUTHOR INFORMATION
 
 The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0. It is currently
+distributed under the Artistic License 2.0. It is currently
 maintained by Lee Johnson with help from many contributors.
 
 Address bug reports and comments to: https://github.com/leejo/CGI.pm/issues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI/File/Temp.pm 
new/CGI-4.46/lib/CGI/File/Temp.pm
--- old/CGI-4.38/lib/CGI/File/Temp.pm   2017-12-01 09:27:54.000000000 +0100
+++ new/CGI-4.46/lib/CGI/File/Temp.pm   2020-02-03 15:46:11.000000000 +0100
@@ -3,7 +3,7 @@
 # you use it directly and your code breaks horribly.
 package CGI::File::Temp;
 
-$CGI::File::Temp::VERSION = '4.38';
+$CGI::File::Temp::VERSION = '4.46';
 
 use parent File::Temp;
 use parent Fh;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI/Pretty.pm 
new/CGI-4.46/lib/CGI/Pretty.pm
--- old/CGI-4.38/lib/CGI/Pretty.pm      2017-12-01 09:27:56.000000000 +0100
+++ new/CGI-4.46/lib/CGI/Pretty.pm      2020-02-03 15:46:24.000000000 +0100
@@ -6,7 +6,7 @@
 use if $] >= 5.019, 'deprecate';
 use CGI ();
 
-$CGI::Pretty::VERSION = '4.38';
+$CGI::Pretty::VERSION = '4.46';
 $CGI::DefaultClass = __PACKAGE__;
 @CGI::Pretty::ISA = qw( CGI );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI/Push.pm new/CGI-4.46/lib/CGI/Push.pm
--- old/CGI-4.38/lib/CGI/Push.pm        2017-12-01 09:27:58.000000000 +0100
+++ new/CGI-4.46/lib/CGI/Push.pm        2020-02-03 15:46:26.000000000 +0100
@@ -6,7 +6,7 @@
 use warnings;
 #/;
 
-$CGI::Push::VERSION='4.38';
+$CGI::Push::VERSION='4.46';
 use CGI;
 use CGI::Util 'rearrange';
 @ISA = ('CGI');
@@ -286,7 +286,7 @@
 =head1 AUTHOR INFORMATION
 
 The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0. It is currently
+distributed under the Artistic License 2.0. It is currently
 maintained by Lee Johnson with help from many contributors.
 
 Address bug reports and comments to: https://github.com/leejo/CGI.pm/issues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI/Util.pm new/CGI-4.46/lib/CGI/Util.pm
--- old/CGI-4.38/lib/CGI/Util.pm        2017-12-01 09:28:00.000000000 +0100
+++ new/CGI-4.46/lib/CGI/Util.pm        2020-02-03 15:46:19.000000000 +0100
@@ -1,12 +1,12 @@
 package CGI::Util;
-use base 'Exporter';
+use parent 'Exporter';
 require 5.008001;
 use strict;
 use if $] >= 5.019, 'deprecate';
 our @EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape
         expires ebcdic2ascii ascii2ebcdic);
 
-our $VERSION = '4.38';
+our $VERSION = '4.46';
 
 our $_EBCDIC = "\t" ne "\011";
 
@@ -332,7 +332,7 @@
 =head1 AUTHOR INFORMATION
 
 The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0. It is currently
+distributed under the Artistic License 2.0. It is currently
 maintained by Lee Johnson with help from many contributors.
 
 Address bug reports and comments to: https://github.com/leejo/CGI.pm/issues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI.pm new/CGI-4.46/lib/CGI.pm
--- old/CGI-4.38/lib/CGI.pm     2017-12-01 09:28:05.000000000 +0100
+++ new/CGI-4.46/lib/CGI.pm     2020-02-03 15:46:42.000000000 +0100
@@ -8,7 +8,7 @@
 use warnings;
 #/;
 
-$CGI::VERSION='4.38';
+$CGI::VERSION='4.46';
 
 use CGI::Util qw(rearrange rearrange_header make_attributes unescape escape 
expires ebcdic2ascii ascii2ebcdic);
 
@@ -3343,7 +3343,7 @@
 
        $header{'Content-Disposition'} ||= ''; # quench uninit variable warning
 
-       my($param)= $header{'Content-Disposition'}=~/[\s;]name="([^"]*)"/;
+       my $param = _mp_value_parse( $header{'Content-Disposition'},'name' );
         $param .= $TAINTED;
 
         # See RFC 1867, 2183, 2045
@@ -3450,6 +3450,28 @@
     }
 }
 
+sub _mp_value_parse {
+       my ( $string,$field ) = @_;
+
+       my $is_quoted = $string =~/[\s;]$field="/ ? 1 : 0;
+       my $param;
+
+       if ( $is_quoted ) {
+               # a quoted token cannot contain anything but an unescaped quote
+               ($param) = $string =~/[\s;]$field="((?:\\"|[^"])*)"/;
+       } else {
+               # a plain token cannot contain any reserved characters
+               # https://tools.ietf.org/html/rfc2616#section-2.2
+               # separators     = "(" | ")" | "<" | ">" | "@"
+               #                | "," | ";" | ":" | "\" | <">
+               #                | "/" | "[" | "]" | "?" | "="
+               #                | "{" | "}" | SP | HT
+               ($param) = $string 
=~/[\s;]$field=([^\(\)<>\@,;:\\"\/\[\]\?=\{\} \015\n\t]*)/;
+       }
+
+       return $param;
+}
+
 #####
 # subroutine: read_multipart_related
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/CGI.pod new/CGI-4.46/lib/CGI.pod
--- old/CGI-4.38/lib/CGI.pod    2017-03-29 10:46:20.000000000 +0200
+++ new/CGI-4.46/lib/CGI.pod    2020-01-13 07:59:32.000000000 +0100
@@ -1769,7 +1769,7 @@
 =head1 LICENSE
 
 The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0. It is currently maintained
+distributed under the Artistic License 2.0. It is currently maintained
 by Lee Johnson (LEEJO) with help from many contributors.
 
 =head1 CREDITS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/lib/Fh.pm new/CGI-4.46/lib/Fh.pm
--- old/CGI-4.38/lib/Fh.pm      2017-12-01 09:28:08.000000000 +0100
+++ new/CGI-4.46/lib/Fh.pm      2020-02-03 15:46:09.000000000 +0100
@@ -5,6 +5,6 @@
 use strict;
 use warnings;
 
-$Fh::VERSION = '4.38';
+$Fh::VERSION = '4.46';
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/t/cookie.t new/CGI-4.46/t/cookie.t
--- old/CGI-4.38/t/cookie.t     2016-10-13 13:36:28.000000000 +0200
+++ new/CGI-4.46/t/cookie.t     2020-01-13 07:58:38.000000000 +0100
@@ -367,6 +367,12 @@
   is($c->samesite,        'Strict',   'SameSite is correct');
   is($c->samesite('Lax'), 'Lax', 'SameSite is set correctly');
   is($c->samesite,        'Lax', 'SameSite now returns updated value');
+
+  is($c->samesite('None'),'None', 'SameSite is set correctly');
+  is($c->samesite,        'None', 'SameSite now returns updated value');
+
+  is($c->samesite('Bad'), 'None', 'SameSite unknown values ignored');
+  is($c->samesite,        'None', 'SameSite returns previous value');
 }
 
 #----------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/t/upload_post_quoted_unquoted.txt 
new/CGI-4.46/t/upload_post_quoted_unquoted.txt
--- old/CGI-4.38/t/upload_post_quoted_unquoted.txt      1970-01-01 
01:00:00.000000000 +0100
+++ new/CGI-4.46/t/upload_post_quoted_unquoted.txt      2019-05-01 
09:58:26.000000000 +0200
@@ -0,0 +1,27 @@
+------MyGreatBoundary
+Content-Type: text/plain; charset=utf-8
+Content-Disposition: form-data; name=code
+
+4019300163786
+------MyGreatBoundary
+Content-Type: text/plain; charset=utf-8
+Content-Disposition: form-data; name="word"
+
+squeaky
+------MyGreatBoundary
+Content-Type: text/plain; charset=utf-8
+Content-Disposition: form-data; name="why do \"this\""
+
+because
+------MyGreatBoundary
+Content-Type: text/plain; charset=utf-8
+Content-Disposition: form-data; name="hate ()<>@,;:[]?={}      /\""
+
+really hateful
+------MyGreatBoundary
+Content-Type: text/plain; charset=utf-8
+Content-Disposition: form-data; name=éttu
+
+oui
+------MyGreatBoundary--
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CGI-4.38/t/upload_quoted_unquoted.t 
new/CGI-4.46/t/upload_quoted_unquoted.t
--- old/CGI-4.38/t/upload_quoted_unquoted.t     1970-01-01 01:00:00.000000000 
+0100
+++ new/CGI-4.46/t/upload_quoted_unquoted.t     2019-05-01 09:58:26.000000000 
+0200
@@ -0,0 +1,78 @@
+#!/usr/local/bin/perl -w
+
+use strict;
+use Test::More 'no_plan';
+use CGI qw/ :cgi /;
+use utf8;
+
+my %myenv;
+
+BEGIN {
+    %myenv = (
+        'SCRIPT_NAME'       => '/test.cgi',
+        'SERVER_NAME'       => 'perl.org',
+        'HTTP_CONNECTION'   => 'TE, close',
+        'REQUEST_METHOD'    => 'POST',
+        'SCRIPT_URI'        => 'http://www.perl.org/test.cgi',
+        'CONTENT_LENGTH'    => 3285,
+        'SCRIPT_FILENAME'   => '/home/usr/test.cgi',
+        'SERVER_SOFTWARE'   => 'Apache/1.3.27 (Unix) ',
+        'HTTP_TE'           => 'deflate,gzip;q=0.3',
+        'QUERY_STRING'      => '',
+        'REMOTE_PORT'       => '1855',
+        'HTTP_USER_AGENT'   => 'Mozilla/5.0 (compatible; Konqueror/2.1.1; 
X11)',
+        'SERVER_PORT'       => '80',
+        'REMOTE_ADDR'       => '127.0.0.1',
+        'CONTENT_TYPE'      => 'multipart/form-data; 
boundary="----MyGreatBoundary',
+        'SERVER_PROTOCOL'   => 'HTTP/1.1',
+        'PATH'              => '/usr/local/bin:/usr/bin:/bin',
+        'REQUEST_URI'       => '/test.cgi',
+        'GATEWAY_INTERFACE' => 'CGI/1.1',
+        'SCRIPT_URL'        => '/test.cgi',
+        'SERVER_ADDR'       => '127.0.0.1',
+        'DOCUMENT_ROOT'     => '/home/develop',
+        'HTTP_HOST'         => 'www.perl.org'
+    );
+
+    for my $key (keys %myenv) {
+        $ENV{$key} = $myenv{$key};
+    }
+}
+
+END {
+    for my $key (keys %myenv) {
+        delete $ENV{$key};
+    }
+}
+
+my $q;
+
+{
+    local *STDIN;
+    open STDIN, '<t/upload_post_quoted_unquoted.txt'
+        or die 'missing test file t/upload_post_quoted_unquoted.txt';
+    binmode STDIN;
+    $q = CGI->new;
+}
+
+note explain $q;
+
+# simple names
+is( $q->param('code'),'4019300163786','code' );
+is( $q->param('word'),'squeaky','word' );
+
+TODO: {
+       # may need to MIME encode the name value in this case
+       local $TODO = "->param borked with non-ascii?";
+       is( $q->param('éttu'),'oui','éttu' );
+};
+
+# hateful names
+is( $q->param('why do \"this\"'),'because','quoted with quote' );
+is(
+       $q->param("hate ()<>@,;:[]?={}\t/\\\""),
+       'really hateful',
+       'reserved chars',
+);
+
+# vim: nospell


Reply via email to