summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Fredric <kentnl@gentoo.org>2017-03-21 10:37:15 +1300
committerKent Fredric <kentnl@gentoo.org>2017-03-21 10:41:17 +1300
commit6c66a3fce14344d5819a5f9eb6a875e2bdaeea50 (patch)
tree1a9a7057b3aeca7ded3388fa1b4eea5c4cf71ac6 /dev-perl/LWP-Protocol-https/files
parentnet-misc/freerdp: fix build with libressl (diff)
downloadgentoo-6c66a3fce14344d5819a5f9eb6a875e2bdaeea50.tar.gz
gentoo-6c66a3fce14344d5819a5f9eb6a875e2bdaeea50.tar.bz2
gentoo-6c66a3fce14344d5819a5f9eb6a875e2bdaeea50.zip
dev-perl/LWP-Protocol-https: Bump to version 6.70.0
- EAPI6 - Rehashed patches to git-format to ensure they still apply Keywords: - New deps, dropped: amd64-fbsd mips x86-fbsd Upstream: - Explicitly add hostname for SNI to start_SSL Package-Manager: Portage-2.3.4, Repoman-2.3.2
Diffstat (limited to 'dev-perl/LWP-Protocol-https/files')
-rw-r--r--dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-CVE-2014-3230.patch36
-rw-r--r--dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-etcsslcerts.patch48
2 files changed, 84 insertions, 0 deletions
diff --git a/dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-CVE-2014-3230.patch b/dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-CVE-2014-3230.patch
new file mode 100644
index 000000000000..781d72ee03e9
--- /dev/null
+++ b/dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-CVE-2014-3230.patch
@@ -0,0 +1,36 @@
+From 67de137e737e4fa92d0cb746bdc8474d7bb5e000 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentnl@gentoo.org>
+Date: Tue, 21 Mar 2017 10:11:32 +1300
+Subject: Use SSL_verifycn_scheme instead of disabling SSL_verify_mode
+
+Re: CVE-2014-3230
+
+Redhat Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1094440
+
+Combines: https://bugzilla.redhat.com/attachment.cgi?id=894747
+ https://bugzilla.redhat.com/attachment.cgi?id=894748
+---
+ lib/LWP/Protocol/https.pm | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/lib/LWP/Protocol/https.pm b/lib/LWP/Protocol/https.pm
+index f8ab398..ba69966 100644
+--- a/lib/LWP/Protocol/https.pm
++++ b/lib/LWP/Protocol/https.pm
+@@ -21,7 +21,12 @@ sub _extra_sock_opts
+ $ssl_opts{SSL_verifycn_scheme} = 'www';
+ }
+ else {
+- $ssl_opts{SSL_verify_mode} = 0;
++ if ( $Net::HTTPS::SSL_SOCKET_CLASS eq 'Net::SSL' ) {
++ $ssl_opts{SSL_verifycn_scheme} = '';
++ }
++ else {
++ $ssl_opts{SSL_verifycn_scheme} = 'none';
++ }
+ }
+ if ($ssl_opts{SSL_verify_mode}) {
+ unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
+--
+2.12.0
+
diff --git a/dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-etcsslcerts.patch b/dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-etcsslcerts.patch
new file mode 100644
index 000000000000..2553c7949af9
--- /dev/null
+++ b/dev-perl/LWP-Protocol-https/files/LWP-Protocol-https-6.70.0-etcsslcerts.patch
@@ -0,0 +1,48 @@
+From 9baa19987f93284be254415d15db56c599e52e1e Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentnl@gentoo.org>
+Date: Tue, 21 Mar 2017 10:07:35 +1300
+Subject: Ensure using System Certificates instead of Mozilla-CA
+
+Bug: https://bugs.gentoo.org/358081
+---
+ lib/LWP/Protocol/https.pm | 24 +++---------------------
+ 1 file changed, 3 insertions(+), 21 deletions(-)
+
+diff --git a/lib/LWP/Protocol/https.pm b/lib/LWP/Protocol/https.pm
+index ed4d832..f8ab398 100644
+--- a/lib/LWP/Protocol/https.pm
++++ b/lib/LWP/Protocol/https.pm
+@@ -24,27 +24,9 @@ sub _extra_sock_opts
+ $ssl_opts{SSL_verify_mode} = 0;
+ }
+ 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();
+- }
++ unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
++ $ssl_opts{SSL_ca_path} = '/etc/ssl/certs';
++ }
+ }
+ $self->{ssl_opts} = \%ssl_opts;
+ return (%ssl_opts, $self->SUPER::_extra_sock_opts);
+--
+2.12.0
+