LWP::Protocol::https: Fix SSL cert handling

We lost this in 9f358f809d1db46f3206d4a09a5366f13c93e777. Updated to
use /etc/ssl/certs/ca-certificates.crt if it exists and SSL_CERT_FILE
is not set.

Changed files
+16
pkgs
development
top-level
+15
pkgs/development/perl-modules/lwp-protocol-https-cert-file.patch
···
+
diff -ru -x '*~' LWP-Protocol-https-6.04-orig/lib/LWP/Protocol/https.pm LWP-Protocol-https-6.04/lib/LWP/Protocol/https.pm
+
--- LWP-Protocol-https-6.04-orig/lib/LWP/Protocol/https.pm 2013-04-29 23:16:18.000000000 +0200
+
+++ LWP-Protocol-https-6.04/lib/LWP/Protocol/https.pm 2016-03-02 14:59:01.639844511 +0100
+
@@ -24,6 +24,11 @@
+
}
+
if ($ssl_opts{SSL_verify_mode}) {
+
unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
+
+ $ssl_opts{SSL_ca_file} = $ENV{'SSL_CERT_FILE'};
+
+ $ssl_opts{SSL_ca_file} = "/etc/ssl/certs/ca-certificates.crt"
+
+ if !defined $ssl_opts{SSL_ca_file} && -e "/etc/ssl/certs/ca-certificates.crt";
+
+ }
+
+ unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
+
eval {
+
require Mozilla::CA;
+
};
+1
pkgs/top-level/perl-packages.nix
···
url = mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-https-6.04.tar.gz;
sha256 = "0agnga5dg94222h6rlzqxa0dri2sh3gayncvfb7jad9nxr87gxhy";
};
+
patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ];
propagatedBuildInputs = [ LWP IOSocketSSL ];
doCheck = false; # tries to connect to https://www.apache.org/.
meta = {