commit perl-LWP-Protocol-https for openSUSE:Factory
Hello community, here is the log from the commit of package perl-LWP-Protocol-https for openSUSE:Factory checked in at 2018-09-26 15:59:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-LWP-Protocol-https (Old) and /work/SRC/openSUSE:Factory/.perl-LWP-Protocol-https.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "perl-LWP-Protocol-https" Wed Sep 26 15:59:17 2018 rev:14 rq:635681 version:6.07 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-LWP-Protocol-https/perl-LWP-Protocol-https.changes 2015-04-25 16:46:53.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-LWP-Protocol-https.new/perl-LWP-Protocol-https.changes 2018-09-26 15:59:19.828711838 +0200 @@ -1,0 +2,14 @@ +Thu Sep 13 15:42:12 UTC 2018 - pmonrealgonzalez@suse.com + +- 6.07 2017-02-19 + - Cleaned up the Changes log + - Explicitly add hostname for SNI to start_SSL (GH PR#17) + - Fix the license name + - Update some documentation on SSL args + - Fix bug when checking for Mozilla::CA (GH PR#29) + +- Refreshed patch LWP-Protocol-https-6.04-systemca.diff + +- Cleaned spec file with spec-cleaner + +------------------------------------------------------------------- Old: ---- LWP-Protocol-https-6.06.tar.gz New: ---- LWP-Protocol-https-6.07.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-LWP-Protocol-https.spec ++++++ --- /var/tmp/diff_new_pack.G5tDwO/_old 2018-09-26 15:59:21.144709550 +0200 +++ /var/tmp/diff_new_pack.G5tDwO/_new 2018-09-26 15:59:21.148709542 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-LWP-Protocol-https # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,31 +16,29 @@ # +%define cpan_name LWP-Protocol-https Name: perl-LWP-Protocol-https -Version: 6.06 +Version: 6.07 Release: 0 -%define cpan_name LWP-Protocol-https Summary: Provide https support for LWP::UserAgent -License: Artistic-1.0 or GPL-1.0+ +License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/LWP-Protocol-https/ -Source0: http://www.cpan.org/authors/id/M/MS/MSCHILLI/%{cpan_name}-%{version}.tar.gz +Url: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/O/OA/OALDERS/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml Patch0: %{cpan_name}-6.04-systemca.diff Patch1: CVE-2014-3230.patch -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: ca-certificates BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(IO::Socket::SSL) >= 1.54 BuildRequires: perl(LWP::UserAgent) >= 6.06 -#BuildRequires: perl(Mozilla::CA) >= 20110101 BuildRequires: perl(Net::HTTPS) >= 6 +BuildRequires: perl(Test::RequiresInternet) Requires: perl(IO::Socket::SSL) >= 1.54 Requires: perl(LWP::UserAgent) >= 6.06 -#Requires: perl(Mozilla::CA) >= 20110101 Requires: perl(Net::HTTPS) >= 6 -BuildRequires: ca-certificates +BuildArch: noarch %{perl_requires} %description @@ -67,11 +65,11 @@ %patch1 -p1 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} %check -%{__make} test +make %{?_smp_mflags} test %install %perl_make_install ++++++ LWP-Protocol-https-6.04-systemca.diff ++++++ --- /var/tmp/diff_new_pack.G5tDwO/_old 2018-09-26 15:59:21.168709507 +0200 +++ /var/tmp/diff_new_pack.G5tDwO/_new 2018-09-26 15:59:21.172709501 +0200 @@ -11,22 +11,22 @@ lib/LWP/Protocol/https.pm | 23 ----------------------- 3 files changed, 1 insertion(+), 32 deletions(-) -Index: LWP-Protocol-https-6.06/Makefile.PL +Index: LWP-Protocol-https-6.07/Makefile.PL =================================================================== ---- LWP-Protocol-https-6.06.orig/Makefile.PL -+++ LWP-Protocol-https-6.06/Makefile.PL -@@ -15,7 +15,6 @@ WriteMakefile( - 'LWP::UserAgent' => '6.06', - 'Net::HTTPS' => 6, - 'IO::Socket::SSL' => "1.54", -- 'Mozilla::CA' => "20110101", - }, - META_MERGE => { - resources => { -Index: LWP-Protocol-https-6.06/README +--- LWP-Protocol-https-6.07.orig/Makefile.PL ++++ LWP-Protocol-https-6.07/Makefile.PL +@@ -26,7 +26,6 @@ my %WriteMakefileArgs = ( + 'LWP::UserAgent' => '6.06', + 'Net::HTTPS' => 6, + 'IO::Socket::SSL' => "1.54", +- 'Mozilla::CA' => "20110101", + 'perl' => '5.008001', + }, + }, +Index: LWP-Protocol-https-6.07/README =================================================================== ---- LWP-Protocol-https-6.06.orig/README -+++ LWP-Protocol-https-6.06/README +--- LWP-Protocol-https-6.07.orig/README ++++ LWP-Protocol-https-6.07/README @@ -17,13 +17,6 @@ DESCRIPTION you don't use it directly. Once the module is installed LWP is able to access sites using HTTP over SSL/TLS. @@ -50,10 +50,10 @@ COPYRIGHT Copyright 1997-2011 Gisle Aas. -Index: LWP-Protocol-https-6.06/lib/LWP/Protocol/https.pm +Index: LWP-Protocol-https-6.07/lib/LWP/Protocol/https.pm =================================================================== ---- LWP-Protocol-https-6.06.orig/lib/LWP/Protocol/https.pm -+++ LWP-Protocol-https-6.06/lib/LWP/Protocol/https.pm +--- LWP-Protocol-https-6.07.orig/lib/LWP/Protocol/https.pm ++++ LWP-Protocol-https-6.07/lib/LWP/Protocol/https.pm @@ -23,7 +23,8 @@ sub _extra_sock_opts else { $ssl_opts{SSL_verify_mode} = 0; ++++++ LWP-Protocol-https-6.06.tar.gz -> LWP-Protocol-https-6.07.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LWP-Protocol-https-6.06/Changes new/LWP-Protocol-https-6.07/Changes --- old/LWP-Protocol-https-6.06/Changes 2014-04-18 18:38:48.000000000 +0200 +++ new/LWP-Protocol-https-6.07/Changes 2017-02-20 03:41:37.000000000 +0100 @@ -1,60 +1,40 @@ -_______________________________________________________________________________ -2014-04-18 LWP-Protocol-https 6.06 +Release history for LWP-Protocol-https -Mike Schilli (3): - Merge pull request #12 from drieux/subjectAltName - Merge pull request #9 from chorny/master - Updated libwww requirement to 6.06 to fix failing t/proxy.t test cases. - -Gisle Aas (2): - Getopt::Long isn't actually used - Merge pull request #7 from noxxi/master - -Alexandr Ciornii (1): - better diagnostics in case of failures in apache.t - -Karen Etheridge (1): - Merge pull request #8 from cpansprout/patch-1 - -Steffen Ullrich (1): - correct behavior for https_proxy, this goes together with change to - libwww-perl cb80c2ddb7, new method _upgrade_sock in LWP::Protocol::https - -cpansprout (1): - Typo fix: envirionment =~ s/io/o/ - -drieux (1): - support for subjectAltName - - -_______________________________________________________________________________ -2013-04-29 LWP-Protocol-https 6.04 - -Fix IO::Socket::SSL warnings when not verifying hostname. - -Doc spelling fix. - - - -_______________________________________________________________________________ -2012-02-18 LWP-Protocol-https 6.03 - -Skip test if offline [RT#74163] - -Typo fixes - -Restore perl-5.8.1 compatibility. - - - -_______________________________________________________________________________ -2011-03-27 LWP-Protocol-https 6.02 - -Initial release of LWP-Protocol-https as a separate distribution. There are no code -changes besides setting the version number since libwww-perl-6.01. - -The LWP::Protocol::https module used to be bundled with the libwww-perl -distribution, but it was unbundled in v6.02 in order to be able to declare its -dependencies properly for the CPAN tool chain. Applications that need https -support can just declare their dependency on LWP::Protocol::https and will no -longer need to know what underlying modules to install. +6.07 2017-02-19 + - Cleaned up the Changes log + - Explicitly add hostname for SNI to start_SSL (GH PR#17) + - Fix the license name + - Update some documentation on SSL args + - Fix bug when checking for Mozilla::CA (GH PR#29) + +6.06 2014-04-18 + - Merge pull request #12 from drieux/subjectAltName + - Merge pull request #9 from chorny/master + - Updated libwww requirement to 6.06 to fix failing t/proxy.t test cases. + - Getopt::Long isn't actually used + - Merge pull request #7 from noxxi/master + - better diagnostics in case of failures in apache.t + - Merge pull request #8 from cpansprout/patch-1 + - correct behavior for https_proxy, this goes together with change to + - libwww-perl cb80c2ddb7, new method _upgrade_sock in LWP::Protocol::https + - Typo fix: envirionment =~ s/io/o/ + - support for subjectAltName + +6.04 2013-04-29 + - Fix IO::Socket::SSL warnings when not verifying hostname. + - Doc spelling fix. + +6.03 2012-02-18 + - Skip test if offline [RT#74163] + - Typo fixes + - Restore perl-5.8.1 compatibility. + +6.02 2011-03-27 + - Initial release of LWP-Protocol-https as a separate distribution. There + are no code changes besides setting the version number since + libwww-perl-6.01. + - The LWP::Protocol::https module used to be bundled with the libwww-perl + distribution, but it was unbundled in v6.02 in order to be able to declare + its dependencies properly for the CPAN tool chain. Applications that need + https support can just declare their dependency on LWP::Protocol::https + and will no longer need to know what underlying modules to install. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LWP-Protocol-https-6.06/MANIFEST new/LWP-Protocol-https-6.07/MANIFEST --- old/LWP-Protocol-https-6.06/MANIFEST 2014-04-18 19:00:39.000000000 +0200 +++ new/LWP-Protocol-https-6.07/MANIFEST 2017-02-20 03:44:06.000000000 +0100 @@ -5,4 +5,5 @@ lib/LWP/Protocol/https.pm Access with HTTP/1.1 protocol over SSL t/apache.t t/https_proxy.t -META.yml Module meta-data (added by MakeMaker) +META.yml Module YAML meta-data (added by MakeMaker) +META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LWP-Protocol-https-6.06/META.json new/LWP-Protocol-https-6.07/META.json --- old/LWP-Protocol-https-6.06/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/LWP-Protocol-https-6.07/META.json 2017-02-20 03:44:06.000000000 +0100 @@ -0,0 +1,56 @@ +{ + "abstract" : "Provide https support for LWP::UserAgent", + "author" : [ + "Gisle Aas <gisle@activestate.com>" + ], + "dynamic_config" : 1, + "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150005", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "LWP-Protocol-https", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : {} + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "runtime" : { + "requires" : { + "IO::Socket::SSL" : "1.54", + "LWP::UserAgent" : "6.06", + "Mozilla::CA" : "20110101", + "Net::HTTPS" : "6", + "perl" : "5.008001" + } + }, + "test" : { + "requires" : { + "Test::More" : "0", + "Test::RequiresInternet" : "0" + } + } + }, + "release_status" : "stable", + "resources" : { + "repository" : { + "url" : "http://github.com/libwww-perl/lwp-protocol-https" + }, + "x_MailingList" : "mailto:libwww@perl.org" + }, + "version" : "6.07", + "x_serialization_backend" : "JSON::PP version 2.27300" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LWP-Protocol-https-6.06/META.yml new/LWP-Protocol-https-6.07/META.yml --- old/LWP-Protocol-https-6.06/META.yml 2014-04-18 19:00:39.000000000 +0200 +++ new/LWP-Protocol-https-6.07/META.yml 2017-02-20 03:44:06.000000000 +0100 @@ -1,29 +1,31 @@ ---- #YAML:1.0 -name: LWP-Protocol-https -version: 6.06 -abstract: Provide https support for LWP::UserAgent +--- +abstract: 'Provide https support for LWP::UserAgent' author: - - Gisle Aas <gisle@activestate.com> -license: perl -distribution_type: module -configure_requires: - ExtUtils::MakeMaker: 0 + - 'Gisle Aas <gisle@activestate.com>' build_requires: - ExtUtils::MakeMaker: 0 + Test::More: '0' + Test::RequiresInternet: '0' +configure_requires: + ExtUtils::MakeMaker: '0' +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150005' +license: perl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: '1.4' +name: LWP-Protocol-https +no_index: + directory: + - t + - inc requires: - IO::Socket::SSL: 1.54 - LWP::UserAgent: 6.06 - Mozilla::CA: 20110101 - Net::HTTPS: 6 - perl: 5.008001 + IO::Socket::SSL: '1.54' + LWP::UserAgent: '6.06' + Mozilla::CA: '20110101' + Net::HTTPS: '6' + perl: '5.008001' resources: - MailingList: mailto:libwww@perl.org - repository: http://github.com/libwww-perl/lwp-protocol-https -no_index: - directory: - - t - - inc -generated_by: ExtUtils::MakeMaker version 6.56 -meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + MailingList: mailto:libwww@perl.org + repository: http://github.com/libwww-perl/lwp-protocol-https +version: '6.07' +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LWP-Protocol-https-6.06/Makefile.PL new/LWP-Protocol-https-6.07/Makefile.PL --- old/LWP-Protocol-https-6.06/Makefile.PL 2014-04-18 18:27:06.000000000 +0200 +++ new/LWP-Protocol-https-6.07/Makefile.PL 2016-06-30 12:43:17.000000000 +0200 @@ -4,19 +4,41 @@ use strict; use ExtUtils::MakeMaker; -WriteMakefile( +my $developer = -f '.gitignore'; +ExtUtils::MakeMaker->VERSION(6.98) if $developer; + +my %WriteMakefileArgs = ( NAME => 'LWP::Protocol::https', VERSION_FROM => 'lib/LWP/Protocol/https.pm', ABSTRACT_FROM => 'lib/LWP/Protocol/https.pm', AUTHOR => 'Gisle Aas <gisle@activestate.com>', - LICENSE => "perl", - MIN_PERL_VERSION => 5.008001, - PREREQ_PM => { - 'LWP::UserAgent' => '6.06', - 'Net::HTTPS' => 6, - 'IO::Socket::SSL' => "1.54", - 'Mozilla::CA' => "20110101", + LICENSE => 'perl_5', + + META_ADD => { + prereqs => { + configure => { + requires => { + 'ExtUtils::MakeMaker' => '0', + }, + }, + runtime => { + requires => { + 'LWP::UserAgent' => '6.06', + 'Net::HTTPS' => 6, + 'IO::Socket::SSL' => "1.54", + 'Mozilla::CA' => "20110101", + 'perl' => '5.008001', + }, + }, + test => { + requires => { + 'Test::More' => '0', + 'Test::RequiresInternet' => 0, + }, + }, + }, }, + META_MERGE => { resources => { repository => 'http://github.com/libwww-perl/lwp-protocol-https', @@ -25,24 +47,46 @@ }, ); -BEGIN { - # compatibility with older versions of MakeMaker - my $developer = -f ".gitignore"; - my %mm_req = ( - LICENCE => 6.31, - META_MERGE => 6.45, - META_ADD => 6.45, - MIN_PERL_VERSION => 6.48, - ); - undef(*WriteMakefile); - *WriteMakefile = sub { - my %arg = @_; - for (keys %mm_req) { - unless (eval { ExtUtils::MakeMaker->VERSION($mm_req{$_}) }) { - warn "$_ $@" if $developer; - delete $arg{$_}; - } - } - ExtUtils::MakeMaker::WriteMakefile(%arg); +my $eumm_version = eval $ExtUtils::MakeMaker::VERSION; + +for (qw(configure build test runtime)) { + my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES'; + next unless exists $WriteMakefileArgs{META_ADD}{prereqs}{$_} + or exists $WriteMakefileArgs{$key}; + my $r = $WriteMakefileArgs{$key} = { + %{$WriteMakefileArgs{META_ADD}{prereqs}{$_}{requires} || {}}, + %{delete $WriteMakefileArgs{$key} || {}}, }; + defined $r->{$_} or delete $r->{$_} for keys %$r; } + +# dynamic prereqs get added here. + +$WriteMakefileArgs{MIN_PERL_VERSION} = delete $WriteMakefileArgs{PREREQ_PM}{perl} || 0; + +die 'attention developer: you need to do a sane meta merge here!' + if keys %{$WriteMakefileArgs{BUILD_REQUIRES}}; + +$WriteMakefileArgs{BUILD_REQUIRES} = { + %{$WriteMakefileArgs{BUILD_REQUIRES} || {}}, + %{delete $WriteMakefileArgs{TEST_REQUIRES}} +} if $eumm_version < 6.63_03; + +$WriteMakefileArgs{PREREQ_PM} = { + %{$WriteMakefileArgs{PREREQ_PM}}, + %{delete $WriteMakefileArgs{BUILD_REQUIRES}} +} if $eumm_version < 6.55_01; + +delete $WriteMakefileArgs{CONFIGURE_REQUIRES} + if $eumm_version < 6.51_03; + +delete $WriteMakefileArgs{MIN_PERL_VERSION} + if $eumm_version < 6.48; + +delete @WriteMakefileArgs{qw(META_ADD META_MERGE)} + if $eumm_version < 6.46; + +delete $WriteMakefileArgs{LICENSE} + if $eumm_version < 6.31; + +WriteMakefile(%WriteMakefileArgs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LWP-Protocol-https-6.06/lib/LWP/Protocol/https.pm new/LWP-Protocol-https-6.07/lib/LWP/Protocol/https.pm --- old/LWP-Protocol-https-6.06/lib/LWP/Protocol/https.pm 2014-04-18 18:33:26.000000000 +0200 +++ new/LWP-Protocol-https-6.07/lib/LWP/Protocol/https.pm 2017-02-20 03:41:37.000000000 +0100 @@ -1,7 +1,7 @@ package LWP::Protocol::https; use strict; -our $VERSION = "6.06"; +our $VERSION = "6.07"; require LWP::Protocol::http; our @ISA = qw(LWP::Protocol::http); @@ -29,7 +29,7 @@ require Mozilla::CA; }; if ($@) { - if ($@ =! /^Can't locate Mozilla\/CA\.pm/) { + if ($@ =~ /^Can't locate Mozilla\/CA\.pm/) { $@ = <<'EOT'; Can't verify SSL peers without knowing which Certificate Authorities to trust @@ -51,11 +51,11 @@ } #------------------------------------------------------------ -# _cn_match($common_name, $san_name) +# _cn_match($common_name, $san_name) # common_name: an IA5String # san_name: subjectAltName # initially we were only concerned with the dNSName -# and the 'left-most' only wildcard as noted in +# and the 'left-most' only wildcard as noted in # https://tools.ietf.org/html/rfc6125#section-6.4.3 # this method does not match any wildcarding in the # domain name as listed in section-6.4.3.3 @@ -66,7 +66,7 @@ # /CN has a '*.' prefix # MUST be an FQDN -- fishing? return 0 if( $common_name =~ /^\*\./ ); - + my $re = q{}; # empty string # turn a leading "*." into a regex @@ -93,13 +93,13 @@ sub _in_san { my($me, $cn, $cert) = @_; - + # we can return early if there are no SAN options. my @sans = $cert->peer_certificate('subjectAltNames'); - return unless scalar @sans; - + return unless scalar @sans; + (my $common_name = $cn) =~ s/.*=//; # strip off the prefix. - + # get the ( type-id, value ) pairwise # currently only the basic CN to san_name check while( my ( $type_id, $value ) = splice( @sans, 0, 2 ) ) { @@ -153,6 +153,7 @@ my ($self,$sock,$url) = @_; $sock = LWP::Protocol::https::Socket->start_SSL( $sock, SSL_verifycn_name => $url->host, + SSL_hostname => $url->host, $self->_extra_sock_opts, ); $@ = LWP::Protocol::https::Socket->errstr if ! $sock; @@ -180,6 +181,14 @@ $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 1 }); $res = $ua->get("https://www.example.com"); + # specify a CA path + $ua = LWP::UserAgent->new( + ssl_opts => { + SSL_ca_path => '/etc/ssl/certs', + verify_hostname => 1, + } + ); + =head1 DESCRIPTION The LWP::Protocol::https module provides support for using https schemed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LWP-Protocol-https-6.06/t/apache.t new/LWP-Protocol-https-6.07/t/apache.t --- old/LWP-Protocol-https-6.06/t/apache.t 2014-04-18 18:21:26.000000000 +0200 +++ new/LWP-Protocol-https-6.07/t/apache.t 2016-06-30 12:43:17.000000000 +0200 @@ -2,11 +2,11 @@ use strict; use Test::More; +use Test::RequiresInternet 'www.apache.org' => 443; use LWP::UserAgent; -my $ua = LWP::UserAgent->new(); -plan skip_all => "Not online" unless $ua->is_online; +my $ua = LWP::UserAgent->new( ssl_opts => {verify_hostname => 0} ); plan tests => 5; @@ -20,7 +20,6 @@ # test for RT #81948 my $warn = ''; $SIG{__WARN__} = sub { $warn = shift }; -$ua = LWP::UserAgent->new( ssl_opts => {verify_hostname => 0} ); $res = $ua->simple_request(HTTP::Request->new(GET => "https://www.apache.org")); ok($res->is_success); is($warn, '', "no warning seen");
participants (1)
-
root