Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-libwww-perl for openSUSE:Factory checked in at 2023-06-04 16:41:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-libwww-perl (Old) and /work/SRC/openSUSE:Factory/.perl-libwww-perl.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-libwww-perl" Sun Jun 4 16:41:30 2023 rev:87 rq:1090316 version:6.70 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-libwww-perl/perl-libwww-perl.changes 2023-03-11 18:24:19.146967879 +0100 +++ /work/SRC/openSUSE:Factory/.perl-libwww-perl.new.15902/perl-libwww-perl.changes 2023-06-04 16:41:37.101778334 +0200 @@ -1,0 +2,18 @@ +Sun May 7 03:08:14 UTC 2023 - Tina Müller <timueller+p...@suse.de> + +- updated to 6.70 + see /usr/share/doc/packages/perl-libwww-perl/Changes + + 6.70 2023-04-30 13:22:56Z + - Add cookie_jar_class attribute to allow different cookie jar modules + to be used more easily (GH#91) (Tom Hukins, Julien Fiegehenn) + - POD now contains all default attributes (GH#428) (Julien Fiegehenn) + + 6.69 2023-04-29 13:14:31Z + - Timeouts for cached connections now update (GH#73) (Eric Johnson) + - The conn_cache() can now be unset (GH#424) (Julien Fiegehenn) + - LWP::Protocol now only attempts to load modules once (GH#62) (Burak Gursoy) + - Fix a bug in no_proxy that allowed partial matches to a proxy address + to disable a proxy (GH#421) (Julien Fiegehenn) + +------------------------------------------------------------------- Old: ---- libwww-perl-6.68.tar.gz New: ---- libwww-perl-6.70.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-libwww-perl.spec ++++++ --- /var/tmp/diff_new_pack.BezQDP/_old 2023-06-04 16:41:38.445786332 +0200 +++ /var/tmp/diff_new_pack.BezQDP/_new 2023-06-04 16:41:38.449786356 +0200 @@ -18,12 +18,12 @@ %define cpan_name libwww-perl Name: perl-libwww-perl -Version: 6.68 +Version: 6.70 Release: 0 License: Artistic-1.0 OR GPL-1.0-or-later Summary: The World-Wide Web library for Perl URL: https://metacpan.org/release/%{cpan_name} -Source0: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/%{cpan_name}-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch BuildRequires: perl @@ -32,6 +32,7 @@ BuildRequires: perl(File::Listing) >= 6 BuildRequires: perl(HTML::Entities) BuildRequires: perl(HTML::HeadParser) >= 3.71 +BuildRequires: perl(HTTP::CookieJar::LWP) BuildRequires: perl(HTTP::Cookies) >= 6 BuildRequires: perl(HTTP::Daemon) >= 6.12 BuildRequires: perl(HTTP::Date) >= 6 @@ -41,6 +42,7 @@ BuildRequires: perl(HTTP::Response) >= 6.18 BuildRequires: perl(HTTP::Status) >= 6.18 BuildRequires: perl(LWP::MediaTypes) >= 6 +BuildRequires: perl(Module::Load) BuildRequires: perl(Net::HTTP) >= 6.18 BuildRequires: perl(Test::Fatal) BuildRequires: perl(Test::More) >= 0.96 @@ -55,6 +57,7 @@ Requires: perl(File::Listing) >= 6 Requires: perl(HTML::Entities) Requires: perl(HTML::HeadParser) >= 3.71 +Requires: perl(HTTP::CookieJar::LWP) Requires: perl(HTTP::Cookies) >= 6 Requires: perl(HTTP::Date) >= 6 Requires: perl(HTTP::Negotiate) >= 6 @@ -63,6 +66,7 @@ Requires: perl(HTTP::Response) >= 6.18 Requires: perl(HTTP::Status) >= 6.18 Requires: perl(LWP::MediaTypes) >= 6 +Requires: perl(Module::Load) Requires: perl(Net::HTTP) >= 6.18 Requires: perl(Try::Tiny) Requires: perl(URI) >= 1.10 ++++++ libwww-perl-6.68.tar.gz -> libwww-perl-6.70.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/Changes new/libwww-perl-6.70/Changes --- old/libwww-perl-6.68/Changes 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/Changes 2023-04-30 15:23:00.000000000 +0200 @@ -1,5 +1,17 @@ Change history for libwww-perl +6.70 2023-04-30 13:22:56Z + - Add cookie_jar_class attribute to allow different cookie jar modules + to be used more easily (GH#91) (Tom Hukins, Julien Fiegehenn) + - POD now contains all default attributes (GH#428) (Julien Fiegehenn) + +6.69 2023-04-29 13:14:31Z + - Timeouts for cached connections now update (GH#73) (Eric Johnson) + - The conn_cache() can now be unset (GH#424) (Julien Fiegehenn) + - LWP::Protocol now only attempts to load modules once (GH#62) (Burak Gursoy) + - Fix a bug in no_proxy that allowed partial matches to a proxy address + to disable a proxy (GH#421) (Julien Fiegehenn) + 6.68 2023-02-27 19:18:33Z - Remove dynamic dependency on HTTP::Status (GH#419) (Graham Knop) - Raise minimum version of HTML::HeadParser to 3.71 (GH#422) (Olaf Alders) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/MANIFEST new/libwww-perl-6.70/MANIFEST --- old/libwww-perl-6.68/MANIFEST 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/MANIFEST 2023-04-30 15:23:00.000000000 +0200 @@ -48,12 +48,14 @@ t/base/protocols.t t/base/protocols/nntp.t t/base/proxy.t +t/base/proxy_request.t t/base/simple.t t/base/ua.t t/base/ua_handlers.t t/leak/no_leak.t t/local/autoload-get.t t/local/autoload.t +t/local/cookie_jar.t t/local/download_to_fh.t t/local/get.t t/local/http.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/META.json new/libwww-perl-6.70/META.json --- old/libwww-perl-6.68/META.json 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/META.json 2023-04-30 15:23:00.000000000 +0200 @@ -64,6 +64,7 @@ "Getopt::Long" : "0", "HTML::Entities" : "0", "HTML::HeadParser" : "3.71", + "HTTP::CookieJar::LWP" : "0", "HTTP::Cookies" : "6", "HTTP::Date" : "6", "HTTP::Negotiate" : "6", @@ -75,6 +76,7 @@ "IO::Socket" : "0", "LWP::MediaTypes" : "6", "MIME::Base64" : "2.1", + "Module::Load" : "0", "Net::FTP" : "2.58", "Net::HTTP" : "6.18", "Scalar::Util" : "0", @@ -114,96 +116,96 @@ "provides" : { "LWP" : { "file" : "lib/LWP.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Authen::Basic" : { "file" : "lib/LWP/Authen/Basic.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Authen::Digest" : { "file" : "lib/LWP/Authen/Digest.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Authen::Ntlm" : { "file" : "lib/LWP/Authen/Ntlm.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::ConnCache" : { "file" : "lib/LWP/ConnCache.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Debug" : { "file" : "lib/LWP/Debug.pm", - "version" : "6.68", + "version" : "6.70", "x_deprecated" : 1 }, "LWP::Debug::TraceHTTP" : { "file" : "lib/LWP/Debug/TraceHTTP.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::DebugFile" : { "file" : "lib/LWP/DebugFile.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::MemberMixin" : { "file" : "lib/LWP/MemberMixin.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol" : { "file" : "lib/LWP/Protocol.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::cpan" : { "file" : "lib/LWP/Protocol/cpan.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::data" : { "file" : "lib/LWP/Protocol/data.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::file" : { "file" : "lib/LWP/Protocol/file.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::ftp" : { "file" : "lib/LWP/Protocol/ftp.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::gopher" : { "file" : "lib/LWP/Protocol/gopher.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::http" : { "file" : "lib/LWP/Protocol/http.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::loopback" : { "file" : "lib/LWP/Protocol/loopback.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::mailto" : { "file" : "lib/LWP/Protocol/mailto.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::nntp" : { "file" : "lib/LWP/Protocol/nntp.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Protocol::nogo" : { "file" : "lib/LWP/Protocol/nogo.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::RobotUA" : { "file" : "lib/LWP/RobotUA.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::Simple" : { "file" : "lib/LWP/Simple.pm", - "version" : "6.68" + "version" : "6.70" }, "LWP::UserAgent" : { "file" : "lib/LWP/UserAgent.pm", - "version" : "6.68" + "version" : "6.70" } }, "release_status" : "stable", @@ -220,10 +222,10 @@ "x_IRC" : "irc://irc.perl.org/#lwp", "x_MailingList" : "mailto:lib...@perl.org" }, - "version" : "6.68", + "version" : "6.70", "x_Dist_Zilla" : { "perl" : { - "version" : "5.036000" + "version" : "5.028000" }, "plugins" : [ { @@ -318,7 +320,7 @@ "class" : "Dist::Zilla::Plugin::Git::Contributors", "config" : { "Dist::Zilla::Plugin::Git::Contributors" : { - "git_version" : "2.39.2", + "git_version" : "2.34.1", "include_authors" : 0, "include_releaser" : 1, "order_by" : "name", @@ -420,7 +422,7 @@ { "class" : "Dist::Zilla::Plugin::Substitute", "name" : "00-compile.t", - "version" : "0.007" + "version" : "0.006" }, { "class" : "Dist::Zilla::Plugin::Test::Portability", @@ -456,7 +458,7 @@ { "class" : "Dist::Zilla::Plugin::Substitute", "name" : "changes_has_content.t", - "version" : "0.007" + "version" : "0.006" }, { "class" : "Dist::Zilla::Plugin::Test::MinimumVersion", @@ -601,6 +603,7 @@ "erik", "getprint", "getstore", + "instantiation", "peterm", "shildreth" ], @@ -622,7 +625,7 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.39.2", + "git_version" : "2.34.1", "repo_root" : "." } }, @@ -753,7 +756,7 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.39.2", + "git_version" : "2.34.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { @@ -770,12 +773,12 @@ "branch" : null, "changelog" : "Changes", "signed" : 0, - "tag" : "v6.68", + "tag" : "v6.70", "tag_format" : "v%V", "tag_message" : "v%V" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.39.2", + "git_version" : "2.34.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { @@ -826,7 +829,7 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.39.2", + "git_version" : "2.34.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { @@ -846,7 +849,7 @@ "remotes_must_exist" : 1 }, "Dist::Zilla::Role::Git::Repo" : { - "git_version" : "2.39.2", + "git_version" : "2.34.1", "repo_root" : "." } }, @@ -937,6 +940,7 @@ "Bill Mann <wfm...@alum.mit.edu>", "Bron Gondwana <br...@fastmail.fm>", "Bryan Cardillo <bryan.cardi...@gmail.com>", + "Burak Gursoy <bu...@cpan.org>", "Chase Whitener <capoei...@cpan.org>", "Christopher J. Madsen <c...@cpan.org>", "Colin Newell <colin.new...@gmail.com>", @@ -948,6 +952,7 @@ "David Steinbrunner <dsteinbrunner@MountainBook-Pro.local>", "Desmond Daignault <nawg...@cpan.org>", "Doug Bell <d...@preaction.me>", + "Eric Johnson <eric....@iijo.org>", "Fabian Zeindler <f...@open.ch>", "Father Chrysostomos <spr...@cpan.org>", "Frank Maas <maas.fr...@gmail.com>", @@ -973,6 +978,7 @@ "john9art <john9...@yahoo.com>", "John Wittkoski <jwittko...@gmail.com>", "Jonathan Dahan <jonat...@augwa.com>", + "Julien Fiegehenn <simbab...@cpan.org>", "Karen Etheridge <et...@cpan.org>", "Katarina Durechova <katarina.durech...@nic.cz>", "leedo <le...@users.noreply.github.com>", @@ -1006,7 +1012,6 @@ "Sebastian Paaske T\u00f8rholm <eckan...@gmail.com>", "Sergey Romanov <sromanov-...@yandex.ru>", "Shoichi Kaji <sk...@cpan.org>", - "simbabque <simbab...@cpan.org>", "Slaven Rezic <sla...@rezic.de>", "Slaven Rezic <slaven.re...@idealo.de>", "Spiros Denaxas <s.dena...@gmail.com>", @@ -1030,8 +1035,8 @@ "Yves Orton <yves.or...@booking.com>", "Zefram <zef...@fysh.org>" ], - "x_generated_by_perl" : "v5.36.0", - "x_serialization_backend" : "Cpanel::JSON::XS version 4.32", + "x_generated_by_perl" : "v5.28.0", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.04", "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/META.yml new/libwww-perl-6.70/META.yml --- old/libwww-perl-6.68/META.yml 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/META.yml 2023-04-30 15:23:00.000000000 +0200 @@ -29,74 +29,74 @@ provides: LWP: file: lib/LWP.pm - version: '6.68' + version: '6.70' LWP::Authen::Basic: file: lib/LWP/Authen/Basic.pm - version: '6.68' + version: '6.70' LWP::Authen::Digest: file: lib/LWP/Authen/Digest.pm - version: '6.68' + version: '6.70' LWP::Authen::Ntlm: file: lib/LWP/Authen/Ntlm.pm - version: '6.68' + version: '6.70' LWP::ConnCache: file: lib/LWP/ConnCache.pm - version: '6.68' + version: '6.70' LWP::Debug: file: lib/LWP/Debug.pm - version: '6.68' + version: '6.70' x_deprecated: 1 LWP::Debug::TraceHTTP: file: lib/LWP/Debug/TraceHTTP.pm - version: '6.68' + version: '6.70' LWP::DebugFile: file: lib/LWP/DebugFile.pm - version: '6.68' + version: '6.70' LWP::MemberMixin: file: lib/LWP/MemberMixin.pm - version: '6.68' + version: '6.70' LWP::Protocol: file: lib/LWP/Protocol.pm - version: '6.68' + version: '6.70' LWP::Protocol::cpan: file: lib/LWP/Protocol/cpan.pm - version: '6.68' + version: '6.70' LWP::Protocol::data: file: lib/LWP/Protocol/data.pm - version: '6.68' + version: '6.70' LWP::Protocol::file: file: lib/LWP/Protocol/file.pm - version: '6.68' + version: '6.70' LWP::Protocol::ftp: file: lib/LWP/Protocol/ftp.pm - version: '6.68' + version: '6.70' LWP::Protocol::gopher: file: lib/LWP/Protocol/gopher.pm - version: '6.68' + version: '6.70' LWP::Protocol::http: file: lib/LWP/Protocol/http.pm - version: '6.68' + version: '6.70' LWP::Protocol::loopback: file: lib/LWP/Protocol/loopback.pm - version: '6.68' + version: '6.70' LWP::Protocol::mailto: file: lib/LWP/Protocol/mailto.pm - version: '6.68' + version: '6.70' LWP::Protocol::nntp: file: lib/LWP/Protocol/nntp.pm - version: '6.68' + version: '6.70' LWP::Protocol::nogo: file: lib/LWP/Protocol/nogo.pm - version: '6.68' + version: '6.70' LWP::RobotUA: file: lib/LWP/RobotUA.pm - version: '6.68' + version: '6.70' LWP::Simple: file: lib/LWP/Simple.pm - version: '6.68' + version: '6.70' LWP::UserAgent: file: lib/LWP/UserAgent.pm - version: '6.68' + version: '6.70' requires: Digest::MD5: '0' Encode: '2.12' @@ -107,6 +107,7 @@ Getopt::Long: '0' HTML::Entities: '0' HTML::HeadParser: '3.71' + HTTP::CookieJar::LWP: '0' HTTP::Cookies: '6' HTTP::Date: '6' HTTP::Negotiate: '6' @@ -118,6 +119,7 @@ IO::Socket: '0' LWP::MediaTypes: '6' MIME::Base64: '2.1' + Module::Load: '0' Net::FTP: '2.58' Net::HTTP: '6.18' Scalar::Util: '0' @@ -135,10 +137,10 @@ bugtracker: https://github.com/libwww-perl/libwww-perl/issues homepage: https://github.com/libwww-perl/libwww-perl repository: https://github.com/libwww-perl/libwww-perl.git -version: '6.68' +version: '6.70' x_Dist_Zilla: perl: - version: '5.036000' + version: '5.028000' plugins: - class: Dist::Zilla::Plugin::Git::GatherDir @@ -174,9 +176,9 @@ include_underscores: 0 Dist::Zilla::Role::MetaProvider::Provider: $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004' - inherit_missing: 1 - inherit_version: 1 - meta_noindex: 1 + inherit_missing: '1' + inherit_version: '1' + meta_noindex: '1' Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000037' version: '0.006' @@ -211,7 +213,7 @@ class: Dist::Zilla::Plugin::Git::Contributors config: Dist::Zilla::Plugin::Git::Contributors: - git_version: 2.39.2 + git_version: 2.34.1 include_authors: 0 include_releaser: 1 order_by: name @@ -290,7 +292,7 @@ - class: Dist::Zilla::Plugin::Substitute name: 00-compile.t - version: '0.007' + version: '0.006' - class: Dist::Zilla::Plugin::Test::Portability config: @@ -317,7 +319,7 @@ - class: Dist::Zilla::Plugin::Substitute name: changes_has_content.t - version: '0.007' + version: '0.006' - class: Dist::Zilla::Plugin::Test::MinimumVersion config: @@ -455,6 +457,7 @@ - erik - getprint - getstore + - instantiation - peterm - shildreth wordlist: Pod::Wordlist @@ -470,7 +473,7 @@ allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: - git_version: 2.39.2 + git_version: 2.34.1 repo_root: . name: Git::Check version: '2.048' @@ -558,7 +561,7 @@ Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: v%V%n%n%c - signoff: 0 + signoff: '0' Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Changes @@ -568,7 +571,7 @@ allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: - git_version: 2.39.2 + git_version: 2.34.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local @@ -581,11 +584,11 @@ branch: ~ changelog: Changes signed: 0 - tag: v6.68 + tag: v6.70 tag_format: v%V tag_message: v%V Dist::Zilla::Role::Git::Repo: - git_version: 2.39.2 + git_version: 2.34.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local @@ -613,7 +616,7 @@ Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: 'increment $VERSION after %v release' - signoff: 0 + signoff: '0' Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Build.PL @@ -623,7 +626,7 @@ - (?^:^lib/.*\.pm$) changelog: Changes Dist::Zilla::Role::Git::Repo: - git_version: 2.39.2 + git_version: 2.34.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local @@ -637,7 +640,7 @@ - origin remotes_must_exist: 1 Dist::Zilla::Role::Git::Repo: - git_version: 2.39.2 + git_version: 2.34.1 repo_root: . name: Git::Push version: '2.048' @@ -692,7 +695,7 @@ zilla: class: Dist::Zilla::Dist::Builder config: - is_trial: 0 + is_trial: '0' version: '6.030' x_contributors: - 'Adam Kennedy <ad...@cpan.org>' @@ -709,6 +712,7 @@ - 'Bill Mann <wfm...@alum.mit.edu>' - 'Bron Gondwana <br...@fastmail.fm>' - 'Bryan Cardillo <bryan.cardi...@gmail.com>' + - 'Burak Gursoy <bu...@cpan.org>' - 'Chase Whitener <capoei...@cpan.org>' - 'Christopher J. Madsen <c...@cpan.org>' - 'Colin Newell <colin.new...@gmail.com>' @@ -720,6 +724,7 @@ - 'David Steinbrunner <dsteinbrunner@MountainBook-Pro.local>' - 'Desmond Daignault <nawg...@cpan.org>' - 'Doug Bell <d...@preaction.me>' + - 'Eric Johnson <eric....@iijo.org>' - 'Fabian Zeindler <f...@open.ch>' - 'Father Chrysostomos <spr...@cpan.org>' - 'Frank Maas <maas.fr...@gmail.com>' @@ -745,6 +750,7 @@ - 'john9art <john9...@yahoo.com>' - 'John Wittkoski <jwittko...@gmail.com>' - 'Jonathan Dahan <jonat...@augwa.com>' + - 'Julien Fiegehenn <simbab...@cpan.org>' - 'Karen Etheridge <et...@cpan.org>' - 'Katarina Durechova <katarina.durech...@nic.cz>' - 'leedo <le...@users.noreply.github.com>' @@ -778,7 +784,6 @@ - 'Sebastian Paaske Tørholm <eckan...@gmail.com>' - 'Sergey Romanov <sromanov-...@yandex.ru>' - 'Shoichi Kaji <sk...@cpan.org>' - - 'simbabque <simbab...@cpan.org>' - 'Slaven Rezic <sla...@rezic.de>' - 'Slaven Rezic <slaven.re...@idealo.de>' - 'Spiros Denaxas <s.dena...@gmail.com>' @@ -801,6 +806,6 @@ - 'Yury Zavarin <yury.zava...@gmail.com>' - 'Yves Orton <yves.or...@booking.com>' - 'Zefram <zef...@fysh.org>' -x_generated_by_perl: v5.36.0 +x_generated_by_perl: v5.28.0 x_serialization_backend: 'YAML::Tiny version 1.73' x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/Makefile.PL new/libwww-perl-6.70/Makefile.PL --- old/libwww-perl-6.68/Makefile.PL 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/Makefile.PL 2023-04-30 15:23:00.000000000 +0200 @@ -55,6 +55,7 @@ "Getopt::Long" => 0, "HTML::Entities" => 0, "HTML::HeadParser" => "3.71", + "HTTP::CookieJar::LWP" => 0, "HTTP::Cookies" => 6, "HTTP::Date" => 6, "HTTP::Negotiate" => 6, @@ -66,6 +67,7 @@ "IO::Socket" => 0, "LWP::MediaTypes" => 6, "MIME::Base64" => "2.1", + "Module::Load" => 0, "Net::FTP" => "2.58", "Net::HTTP" => "6.18", "Scalar::Util" => 0, @@ -87,7 +89,7 @@ "Test::Needs" => 0, "Test::RequiresInternet" => 0 }, - "VERSION" => "6.68", + "VERSION" => "6.70", "test" => { "TESTS" => "t/*.t t/base/*.t t/base/protocols/*.t t/leak/*.t t/local/*.t t/robot/*.t" } @@ -112,6 +114,7 @@ "Getopt::Long" => 0, "HTML::Entities" => 0, "HTML::HeadParser" => "3.71", + "HTTP::CookieJar::LWP" => 0, "HTTP::Cookies" => 6, "HTTP::Daemon" => "6.12", "HTTP::Date" => 6, @@ -124,6 +127,7 @@ "IO::Socket" => 0, "LWP::MediaTypes" => 6, "MIME::Base64" => "2.1", + "Module::Load" => 0, "Net::FTP" => "2.58", "Net::HTTP" => "6.18", "Scalar::Util" => 0, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/cpanfile new/libwww-perl-6.70/cpanfile --- old/libwww-perl-6.68/cpanfile 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/cpanfile 2023-04-30 15:23:00.000000000 +0200 @@ -22,6 +22,7 @@ requires 'HTML::Entities'; requires 'HTML::HeadParser' => '3.71'; requires 'HTTP::Cookies' => '6'; + requires 'HTTP::CookieJar::LWP'; requires 'HTTP::Date' => '6'; requires 'HTTP::Negotiate' => '6'; requires 'HTTP::Request' => '6.18'; @@ -32,6 +33,7 @@ requires 'IO::Socket'; requires 'LWP::MediaTypes' => '6'; requires 'MIME::Base64' => '2.1'; + requires 'Module::Load'; requires 'Net::FTP' => '2.58'; requires 'Net::HTTP' => '6.18'; requires 'Scalar::Util'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/dist.ini new/libwww-perl-6.70/dist.ini --- old/libwww-perl-6.68/dist.ini 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/dist.ini 2023-04-30 15:23:00.000000000 +0200 @@ -226,6 +226,7 @@ stopword = erik stopword = getprint stopword = getstore +stopword = instantiation [Git::Check] allow_dirty = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Authen/Basic.pm new/libwww-perl-6.70/lib/LWP/Authen/Basic.pm --- old/libwww-perl-6.68/lib/LWP/Authen/Basic.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Authen/Basic.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require Encode; require MIME::Base64; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Authen/Digest.pm new/libwww-perl-6.70/lib/LWP/Authen/Digest.pm --- old/libwww-perl-6.68/lib/LWP/Authen/Digest.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Authen/Digest.pm 2023-04-30 15:23:00.000000000 +0200 @@ -3,7 +3,7 @@ use strict; use parent 'LWP::Authen::Basic'; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require Digest::MD5; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Authen/Ntlm.pm new/libwww-perl-6.70/lib/LWP/Authen/Ntlm.pm --- old/libwww-perl-6.68/lib/LWP/Authen/Ntlm.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Authen/Ntlm.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; use Authen::NTLM "1.02"; use MIME::Base64 "2.12"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/ConnCache.pm new/libwww-perl-6.70/lib/LWP/ConnCache.pm --- old/libwww-perl-6.68/lib/LWP/ConnCache.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/ConnCache.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; our $DEBUG; sub new { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Debug/TraceHTTP.pm new/libwww-perl-6.70/lib/LWP/Debug/TraceHTTP.pm --- old/libwww-perl-6.68/lib/LWP/Debug/TraceHTTP.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Debug/TraceHTTP.pm 2023-04-30 15:23:00.000000000 +0200 @@ -11,7 +11,7 @@ use strict; use parent 'LWP::Protocol::http'; -our $VERSION = '6.68'; +our $VERSION = '6.70'; package # hide from PAUSE LWP::Debug::TraceHTTP::Socket; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Debug.pm new/libwww-perl-6.70/lib/LWP/Debug.pm --- old/libwww-perl-6.68/lib/LWP/Debug.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Debug.pm 2023-04-30 15:23:00.000000000 +0200 @@ -1,6 +1,6 @@ package LWP::Debug; # legacy -our $VERSION = '6.68'; +our $VERSION = '6.70'; require Exporter; our @ISA = qw(Exporter); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/DebugFile.pm new/libwww-perl-6.70/lib/LWP/DebugFile.pm --- old/libwww-perl-6.68/lib/LWP/DebugFile.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/DebugFile.pm 2023-04-30 15:23:00.000000000 +0200 @@ -1,6 +1,6 @@ package LWP::DebugFile; -our $VERSION = '6.68'; +our $VERSION = '6.70'; # legacy stub diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/MemberMixin.pm new/libwww-perl-6.70/lib/LWP/MemberMixin.pm --- old/libwww-perl-6.68/lib/LWP/MemberMixin.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/MemberMixin.pm 2023-04-30 15:23:00.000000000 +0200 @@ -1,6 +1,6 @@ package LWP::MemberMixin; -our $VERSION = '6.68'; +our $VERSION = '6.70'; sub _elem { my $self = shift; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/cpan.pm new/libwww-perl-6.70/lib/LWP/Protocol/cpan.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/cpan.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/cpan.pm 2023-04-30 15:23:00.000000000 +0200 @@ -4,7 +4,7 @@ use parent qw(LWP::Protocol); -our $VERSION = '6.68'; +our $VERSION = '6.70'; require URI; require HTTP::Status; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/data.pm new/libwww-perl-6.70/lib/LWP/Protocol/data.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/data.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/data.pm 2023-04-30 15:23:00.000000000 +0200 @@ -4,7 +4,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require HTTP::Response; require HTTP::Status; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/file.pm new/libwww-perl-6.70/lib/LWP/Protocol/file.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/file.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/file.pm 2023-04-30 15:23:00.000000000 +0200 @@ -4,7 +4,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require LWP::MediaTypes; require HTTP::Request; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/ftp.pm new/libwww-perl-6.70/lib/LWP/Protocol/ftp.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/ftp.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/ftp.pm 2023-04-30 15:23:00.000000000 +0200 @@ -5,7 +5,7 @@ use parent qw(LWP::Protocol); use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; use Carp (); use HTTP::Status (); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/gopher.pm new/libwww-perl-6.70/lib/LWP/Protocol/gopher.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/gopher.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/gopher.pm 2023-04-30 15:23:00.000000000 +0200 @@ -9,7 +9,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require HTTP::Response; require HTTP::Status; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/http.pm new/libwww-perl-6.70/lib/LWP/Protocol/http.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/http.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/http.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require HTTP::Response; require HTTP::Status; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/loopback.pm new/libwww-perl-6.70/lib/LWP/Protocol/loopback.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/loopback.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/loopback.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require HTTP::Response; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/mailto.pm new/libwww-perl-6.70/lib/LWP/Protocol/mailto.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/mailto.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/mailto.pm 2023-04-30 15:23:00.000000000 +0200 @@ -11,7 +11,7 @@ use Carp; use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; use parent qw(LWP::Protocol); our $SENDMAIL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/nntp.pm new/libwww-perl-6.70/lib/LWP/Protocol/nntp.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/nntp.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/nntp.pm 2023-04-30 15:23:00.000000000 +0200 @@ -4,7 +4,7 @@ use parent qw(LWP::Protocol); -our $VERSION = '6.68'; +our $VERSION = '6.70'; require HTTP::Response; require HTTP::Status; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol/nogo.pm new/libwww-perl-6.70/lib/LWP/Protocol/nogo.pm --- old/libwww-perl-6.68/lib/LWP/Protocol/nogo.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol/nogo.pm 2023-04-30 15:23:00.000000000 +0200 @@ -7,7 +7,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require HTTP::Response; require HTTP::Status; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Protocol.pm new/libwww-perl-6.70/lib/LWP/Protocol.pm --- old/libwww-perl-6.68/lib/LWP/Protocol.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Protocol.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use parent 'LWP::MemberMixin'; -our $VERSION = '6.68'; +our $VERSION = '6.70'; use strict; use Carp (); @@ -12,6 +12,7 @@ use Try::Tiny qw(try catch); my %ImplementedBy = (); # scheme => classname +my %ImplementorAlreadyTested; sub new { @@ -49,13 +50,15 @@ if ($impclass) { $ImplementedBy{$scheme} = $impclass; } - my $ic = $ImplementedBy{$scheme}; - return $ic if $ic; return '' unless $scheme =~ /^([.+\-\w]+)$/; # check valid URL schemes $scheme = $1; # untaint $scheme =~ tr/.+-/_/; # make it a legal module name + my $ic = $ImplementedBy{$scheme}; + # module does not exist + return $ic if $ic || $ImplementorAlreadyTested{$scheme}; + # scheme not yet known, look for a 'use'd implementation $ic = "LWP::Protocol::$scheme"; # default location $ic = "LWP::Protocol::nntp" if $scheme eq 'news'; #XXX ugly hack @@ -79,6 +82,7 @@ }; } $ImplementedBy{$scheme} = $ic if $ic; + $ImplementorAlreadyTested{$scheme} = 1; $ic; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/RobotUA.pm new/libwww-perl-6.70/lib/LWP/RobotUA.pm --- old/libwww-perl-6.68/lib/LWP/RobotUA.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/RobotUA.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use parent qw(LWP::UserAgent); -our $VERSION = '6.68'; +our $VERSION = '6.70'; require WWW::RobotRules; require HTTP::Request; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/Simple.pm new/libwww-perl-6.70/lib/LWP/Simple.pm --- old/libwww-perl-6.68/lib/LWP/Simple.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/Simple.pm 2023-04-30 15:23:00.000000000 +0200 @@ -2,7 +2,7 @@ use strict; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require Exporter; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP/UserAgent.pm new/libwww-perl-6.70/lib/LWP/UserAgent.pm --- old/libwww-perl-6.68/lib/LWP/UserAgent.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP/UserAgent.pm 2023-04-30 15:23:00.000000000 +0200 @@ -17,7 +17,7 @@ use Scalar::Util qw(blessed openhandle); use Try::Tiny qw(try catch); -our $VERSION = '6.68'; +our $VERSION = '6.70'; sub new { @@ -86,6 +86,10 @@ $requests_redirectable = ['GET', 'HEAD'] unless defined $requests_redirectable; + my $cookie_jar_class = delete $cnf{cookie_jar_class}; + $cookie_jar_class = 'HTTP::Cookies' + unless defined $cookie_jar_class; + # Actually ""s are just as good as 0's, but for concision we'll just say: Carp::croak("protocols_allowed has to be an arrayref or 0, not \"$protocols_allowed\"!") if $protocols_allowed and ref($protocols_allowed) ne 'ARRAY'; @@ -114,6 +118,7 @@ protocols_forbidden => $protocols_forbidden, requests_redirectable => $requests_redirectable, send_te => $send_te, + cookie_jar_class => $cookie_jar_class, }, $class; $self->agent(defined($agent) ? $agent : $class->_agent) @@ -712,7 +717,21 @@ } -sub timeout { shift->_elem('timeout', @_); } +sub timeout +{ + my $self = shift; + my $old = $self->{timeout}; + if (@_) { + $self->{timeout} = shift; + if (my $conn_cache = $self->conn_cache) { + for my $conn ($conn_cache->get_connections) { + $conn->timeout($self->{timeout}); + } + } + } + return $old; +} + sub local_address{ shift->_elem('local_address',@_); } sub max_size { shift->_elem('max_size', @_); } sub max_redirect { shift->_elem('max_redirect', @_); } @@ -784,24 +803,39 @@ sub cookie_jar { my $self = shift; my $old = $self->{cookie_jar}; - if (@_) { - my $jar = shift; - if (ref($jar) eq "HASH") { - require HTTP::Cookies; - $jar = HTTP::Cookies->new(%$jar); - } - $self->{cookie_jar} = $jar; - $self->set_my_handler("request_prepare", - $jar ? sub { - return if $_[0]->header("Cookie"); - $jar->add_cookie_header($_[0]); - } : undef, - ); - $self->set_my_handler("response_done", - $jar ? sub { $jar->extract_cookies($_[0]); } : undef, - ); + + return $old unless @_; + + my $jar = shift; + if (ref($jar) eq "HASH") { + my $class = $self->{cookie_jar_class}; + try { + require Module::Load; + Module::Load::load($class); + $jar = $class->new(%$jar); + } + catch { + my $error = $_; + if ($error =~ /Can't locate/) { + die "cookie_jar_class '$class' not found\n"; + } + else { + die "$error\n"; + } + }; } - $old; + $self->{cookie_jar} = $jar; + $self->set_my_handler("request_prepare", + $jar ? sub { + return if $_[0]->header("Cookie"); + $jar->add_cookie_header($_[0]); + } : undef, + ); + $self->set_my_handler("response_done", + $jar ? sub { $jar->extract_cookies($_[0]); } : undef, + ); + + return $old; } sub default_headers { @@ -845,16 +879,21 @@ sub conn_cache { my $self = shift; - my $old = $self->{conn_cache}; + my $old = $self->{conn_cache}; if (@_) { - my $cache = shift; - if (ref($cache) eq "HASH") { - require LWP::ConnCache; - $cache = LWP::ConnCache->new(%$cache); - } - $self->{conn_cache} = $cache; + my $cache = shift; + if ( ref($cache) eq "HASH" ) { + require LWP::ConnCache; + $cache = LWP::ConnCache->new(%$cache); + } + elsif ( defined $cache) { + for my $conn ( $cache->get_connections ) { + $conn->timeout( $self->timeout ); + } + } + $self->{conn_cache} = $cache; } - $old; + return $old; } @@ -1073,7 +1112,7 @@ if ($ua->{no_proxy}) { if (my $host = eval { $req->uri->host }) { for my $domain (@{$ua->{no_proxy}}) { - if ($host =~ /\Q$domain\E$/) { + if ($host =~ /(?:^|\.)\Q$domain\E$/) { return; } } @@ -1284,6 +1323,7 @@ agent "libwww-perl/#.###" conn_cache undef cookie_jar undef + cookie_jar_class HTTP::Cookies default_headers HTTP::Headers->new from undef local_address undef @@ -1293,8 +1333,10 @@ parse_head 1 protocols_allowed undef protocols_forbidden undef - proxy undef + proxy {} requests_redirectable ['GET', 'HEAD'] + send_te 1 + show_progress undef ssl_opts { verify_hostname => 1 } timeout 180 @@ -1372,9 +1414,9 @@ The default is to have no cookie jar, i.e. never automatically add C<Cookie> headers to the requests. -Shortcut: If a reference to a plain hash is passed in, it is replaced with an -instance of L<HTTP::Cookies> that is initialized based on the hash. This form -also automatically loads the L<HTTP::Cookies> module. It means that: +If C<$jar> contains an unblessed hash reference, a new cookie jar object is +created for you automatically. The object is of the class set with the +C<cookie_jar_class> constructor argument, which defaults to L<HTTP::Cookies>. $ua->cookie_jar({ file => "$ENV{HOME}/.cookies.txt" }); @@ -1383,6 +1425,20 @@ require HTTP::Cookies; $ua->cookie_jar(HTTP::Cookies->new(file => "$ENV{HOME}/.cookies.txt")); +As described above and in L</"BEST PRACTICES">, you should set +C<cookie_jar_class> to C<"HTTP::CookieJar::LWP"> to get a safer cookie jar. + + my $ua = LWP::UserAgent->new( cookie_jar_class => 'HTTP::CookieJar::LWP' ); + $ua->cookie_jar({}); # HTTP::CookieJar::LWP takes no args + +These can also be combined into the constructor, so a jar is created at +instantiation. + + my $ua = LWP::UserAgent->new( + cookie_jar_class => 'HTTP::CookieJar::LWP', + cookie_jar => {}, + ); + =head2 credentials my $creds = $ua->credentials(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/lib/LWP.pm new/libwww-perl-6.70/lib/LWP.pm --- old/libwww-perl-6.68/lib/LWP.pm 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/lib/LWP.pm 2023-04-30 15:23:00.000000000 +0200 @@ -1,6 +1,6 @@ package LWP; -our $VERSION = '6.68'; +our $VERSION = '6.70'; require LWP::UserAgent; # this should load everything you need diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/t/00-report-prereqs.dd new/libwww-perl-6.70/t/00-report-prereqs.dd --- old/libwww-perl-6.68/t/00-report-prereqs.dd 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/t/00-report-prereqs.dd 2023-04-30 15:23:00.000000000 +0200 @@ -43,6 +43,7 @@ 'Getopt::Long' => '0', 'HTML::Entities' => '0', 'HTML::HeadParser' => '3.71', + 'HTTP::CookieJar::LWP' => '0', 'HTTP::Cookies' => '6', 'HTTP::Date' => '6', 'HTTP::Negotiate' => '6', @@ -54,6 +55,7 @@ 'IO::Socket' => '0', 'LWP::MediaTypes' => '6', 'MIME::Base64' => '2.1', + 'Module::Load' => '0', 'Net::FTP' => '2.58', 'Net::HTTP' => '6.18', 'Scalar::Util' => '0', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/t/base/proxy_request.t new/libwww-perl-6.70/t/base/proxy_request.t --- old/libwww-perl-6.68/t/base/proxy_request.t 1970-01-01 01:00:00.000000000 +0100 +++ new/libwww-perl-6.70/t/base/proxy_request.t 2023-04-30 15:23:00.000000000 +0200 @@ -0,0 +1,44 @@ +use strict; +use warnings; +use Test::More; + +use LWP::UserAgent (); + +# Prevent environment from interfering with test: +delete $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}; +delete $ENV{HTTPS_CA_FILE}; +delete $ENV{HTTPS_CA_DIR}; +delete $ENV{PERL_LWP_SSL_CA_FILE}; +delete $ENV{PERL_LWP_SSL_CA_PATH}; +delete $ENV{PERL_LWP_ENV_PROXY}; + +my $ua = LWP::UserAgent->new; +$ua->default_header( 'Content-Type' => 'application/json' ); +$ua->proxy( http => "loopback:" ); +$ua->agent("foo/0.1"); + +is( + $ua->get("http://www.example.org")->content, + <<EOT , "request gets proxied" ); +GET http://www.example.org +User-Agent: foo/0.1 +Content-Type: application/json + +EOT + +$ua->no_proxy('ample.org'); +is_deeply( + $ua->{no_proxy}, ['ample.org'], + "no_proxy with partial domain got set" +); + +is( + $ua->get("http://www.example.org")->content, + <<EOT , "request still gets proxied" ); +GET http://www.example.org +User-Agent: foo/0.1 +Content-Type: application/json + +EOT + +done_testing; \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/t/local/cookie_jar.t new/libwww-perl-6.70/t/local/cookie_jar.t --- old/libwww-perl-6.68/t/local/cookie_jar.t 1970-01-01 01:00:00.000000000 +0100 +++ new/libwww-perl-6.70/t/local/cookie_jar.t 2023-04-30 15:23:00.000000000 +0200 @@ -0,0 +1,42 @@ +#!perl + +use strict; +use warnings; + +use Test::More; +use Test::Fatal qw( exception ); + +use_ok 'LWP::UserAgent'; + +my $ua = LWP::UserAgent->new( cookie_jar => {} ); +isa_ok $ua->cookie_jar, 'HTTP::Cookies'; + +$ua = LWP::UserAgent->new; +is $ua->cookie_jar, undef, 'no cookie_jar by default'; +$ua->cookie_jar( {} ); +note '... but setting one from hash uses default cookie_jar_class'; +isa_ok $ua->cookie_jar, 'HTTP::Cookies'; + +$ua = LWP::UserAgent->new( cookie_jar_class => 'HTTP::CookieJar::LWP' ); +$ua->cookie_jar( {} ); +isa_ok $ua->cookie_jar, 'HTTP::CookieJar::LWP'; + +$ua = LWP::UserAgent->new( cookie_jar_class => 'HTTP::CookieJar::LWP' ); +is $ua->cookie_jar, undef, + 'no cookie jar by default despite cookie_jar_class being set'; + +$ua = LWP::UserAgent->new( + cookie_jar_class => 'HTTP::CookieJar::LWP', + cookie_jar => {} +); +note 'cookie_jar and cookie_jar_class can be ued together'; +isa_ok $ua->cookie_jar, 'HTTP::CookieJar::LWP'; + +ok exception { + LWP::UserAgent->new( + cookie_jar_class => 'HTTP::CookieMonster::WasHere', + cookie_jar => {}, + ) +}, 'dies when the cookie_jar_class cannot be loaded'; + +done_testing(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/t/local/http.t new/libwww-perl-6.70/t/local/http.t --- old/libwww-perl-6.68/t/local/http.t 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/t/local/http.t 2023-04-30 15:23:00.000000000 +0200 @@ -63,7 +63,7 @@ return plan skip_all => 'We could not talk to our daemon' unless $DAEMON; return plan skip_all => 'No base URI' unless $base; - plan tests => 130; + plan tests => 136; my $ua = LWP::UserAgent->new; $ua->agent("Mozilla/0.01 " . $ua->agent); @@ -428,6 +428,48 @@ # Must have only one cookie is( scalar( () = $res->decoded_content =~ /who\s*=\s*cookie_man/g ), 1, "request had only one cookie header" ) } + { # timeouts for cached connections + $ua->conn_cache({}); + my $conn_cache = $ua->conn_cache; + isa_ok($conn_cache, 'LWP::ConnCache', 'connection cache was created'); + + my $timeout = $ua->timeout; + $ua->timeout(30); + $ua->get( url( "/echo", $base ) ); + + # one connection is now cached, the cached connection has a timeout of 30 + is( + ( $conn_cache->get_connections )[0]->timeout, 30, + 'first connection has the right timeout' + ); + + $ua->timeout(40); + is( + ( $conn_cache->get_connections )[0]->timeout, 40, + '... and its timeout gets updated' + ); + + # setting the connection cache to an existing cache object should + # update that cache's connections' timeouts + $ua->conn_cache(undef); + is($ua->conn_cache, undef, 'connection cache can be set back to default value of undef'); + + $ua->timeout(50); + is( + ( $conn_cache->get_connections )[0]->timeout, 40, + '... and changing the UA timeout does not affect the removed connection cache' + ); + + $ua->conn_cache($conn_cache); + is( + ( $conn_cache->get_connections )[0]->timeout, 50, + 'assigning existing connection cache updates its timeout to our timeout' + ); + + # restore defaults + $ua->timeout($timeout); + $ua->conn_cache(undef); + } { # terminate server my $req = HTTP::Request->new(GET => url("/quit", $base)); my $res = $ua->request($req); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/xt/author/eol.t new/libwww-perl-6.70/xt/author/eol.t --- old/libwww-perl-6.68/xt/author/eol.t 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/xt/author/eol.t 2023-04-30 15:23:00.000000000 +0200 @@ -41,12 +41,14 @@ 't/base/protocols.t', 't/base/protocols/nntp.t', 't/base/proxy.t', + 't/base/proxy_request.t', 't/base/simple.t', 't/base/ua.t', 't/base/ua_handlers.t', 't/leak/no_leak.t', 't/local/autoload-get.t', 't/local/autoload.t', + 't/local/cookie_jar.t', 't/local/download_to_fh.t', 't/local/get.t', 't/local/http.t', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/xt/author/pod-spell.t new/libwww-perl-6.70/xt/author/pod-spell.t --- old/libwww-perl-6.68/xt/author/pod-spell.t 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/xt/author/pod-spell.t 2023-04-30 15:23:00.000000000 +0200 @@ -36,6 +36,7 @@ Bron Bryan Buenzli +Burak Burke CGI CPAN @@ -71,11 +72,13 @@ Dvornik Eckankar Eldridge +Eric Etheridge FWILES Fabian Father Fesler +Fiegehenn Finch Fowler Frank @@ -98,6 +101,7 @@ Gregory Grossmann Guenther +Gursoy Gurusamy Gustafsson Hakanson @@ -125,8 +129,10 @@ Joerg Johannessen John +Johnson Jonathan Jr +Julien KONISHI Kaji Kaminsky @@ -316,6 +322,7 @@ bin brong bryan +burak capoeirab cjm colin @@ -331,6 +338,7 @@ doug dpettit dsteinbrunner +eric erik ether faz @@ -354,6 +362,7 @@ hfroehlich http iank +instantiation jefflee jfesler jmates diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwww-perl-6.68/xt/release/changes_has_content.t new/libwww-perl-6.70/xt/release/changes_has_content.t --- old/libwww-perl-6.68/xt/release/changes_has_content.t 2023-02-27 20:18:39.000000000 +0100 +++ new/libwww-perl-6.70/xt/release/changes_has_content.t 2023-04-30 15:23:00.000000000 +0200 @@ -8,7 +8,7 @@ note 'Checking Changes'; my $changes_file = 'Changes'; -my $newver = '6.68'; +my $newver = '6.70'; my $trial_token = '-TRIAL'; my $encoding = 'UTF-8';