diff --git a/programming/language/perl/perl-LWP-Protocol-https/files/certs.patch b/programming/language/perl/perl-LWP-Protocol-https/files/certs.patch new file mode 100644 index 0000000000..f8caf6fe1f --- /dev/null +++ b/programming/language/perl/perl-LWP-Protocol-https/files/certs.patch @@ -0,0 +1,39 @@ ++--- Makefile.PL.old 2016-01-04 11:31:52.349484123 +0800 +++++ Makefile.PL 2016-01-04 11:32:07.432992090 +0800 ++@@ -15,7 +15,6 @@ ++ 'LWP::UserAgent' => '6.06', ++ 'Net::HTTPS' => 6, ++ 'IO::Socket::SSL' => "1.54", ++- 'Mozilla::CA' => "20110101", ++ }, ++ META_MERGE => { ++ resources => { ++--- lib/LWP/Protocol/https.pm.old 2016-01-04 11:33:19.003810886 +0800 +++++ lib/LWP/Protocol/https.pm 2016-01-04 11:34:42.358079461 +0800 ++@@ -25,25 +25,7 @@ ++ } ++ if ($ssl_opts{SSL_verify_mode}) { ++ unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) { ++- eval { ++- require Mozilla::CA; ++- }; ++- if ($@) { ++- if ($@ =! /^Can't locate Mozilla\/CA\.pm/) { ++- $@ = <<'EOT'; ++-Can't verify SSL peers without knowing which Certificate Authorities to trust ++- ++-This problem can be fixed by either setting the PERL_LWP_SSL_CA_FILE ++-environment variable or by installing the Mozilla::CA module. ++- ++-To disable verification of SSL peers set the PERL_LWP_SSL_VERIFY_HOSTNAME ++-environment variable to 0. If you do this you can't be sure that you ++-communicate with the expected peer. ++-EOT ++- } ++- die $@; ++- } ++- $ssl_opts{SSL_ca_file} = Mozilla::CA::SSL_ca_file(); +++ $ssl_opts{SSL_ca_file} = '/etc/ssl/certs/ca-certificates.crt'; ++ } ++ } ++ $self->{ssl_opts} = \%ssl_opts; \ No newline at end of file diff --git a/programming/language/perl/perl-LWP-Protocol-https/pspec.xml b/programming/language/perl/perl-LWP-Protocol-https/pspec.xml index 1d9a5901ab..0ec4dd3e55 100644 --- a/programming/language/perl/perl-LWP-Protocol-https/pspec.xml +++ b/programming/language/perl/perl-LWP-Protocol-https/pspec.xml @@ -21,6 +21,9 @@ perl-NET-HTTP perl-Mozilla-CA + + certs.patch +