texlive[69327] Master: Set HTTPS_CA_FILE for LWP to work on global
commits+preining at tug.org
commits+preining at tug.org
Sun Jan 7 12:10:52 CET 2024
Revision: 69327
https://tug.org/svn/texlive?view=revision&revision=69327
Author: preining
Date: 2024-01-07 12:10:51 +0100 (Sun, 07 Jan 2024)
Log Message:
-----------
Set HTTPS_CA_FILE for LWP to work on global cert-free systems
Modified Paths:
--------------
trunk/Master/install-tl
trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl
trunk/Master/tlpkg/TeXLive/TLDownload.pm
trunk/Master/tlpkg/TeXLive/TLUtils.pm
Modified: trunk/Master/install-tl
===================================================================
--- trunk/Master/install-tl 2024-01-07 04:37:44 UTC (rev 69326)
+++ trunk/Master/install-tl 2024-01-07 11:10:51 UTC (rev 69327)
@@ -914,7 +914,9 @@
} elsif ($media eq "NET") {
info("Distribution: net (downloading)\n");
info("Using URL: $TeXLiveURL\n");
- TeXLive::TLUtils::setup_persistent_downloads() if $opt_persistent_downloads;
+ TeXLive::TLUtils::setup_persistent_downloads(
+ "$::installerdir/tlpkg/installer/curl/curl-ca-bundle.crt"
+ ) if $opt_persistent_downloads;
} else {
info("Distribution: $media\n");
}
Modified: trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl 2024-01-07 04:37:44 UTC (rev 69326)
+++ trunk/Master/texmf-dist/scripts/texlive/tlmgr.pl 2024-01-07 11:10:51 UTC (rev 69327)
@@ -690,7 +690,9 @@
# if we are asked to use persistent connections try to start it here
ddebug("tlmgr:main: do persistent downloads = $opts{'persistent-downloads'}\n");
if ($opts{'persistent-downloads'}) {
- TeXLive::TLUtils::setup_persistent_downloads() ;
+ TeXLive::TLUtils::setup_persistent_downloads(
+ "$Master/tlpkg/installer/curl/curl-ca-bundle.crt"
+ ) ;
}
if (!defined($::tldownload_server)) {
debug("tlmgr:main: ::tldownload_server not defined\n");
Modified: trunk/Master/tlpkg/TeXLive/TLDownload.pm
===================================================================
--- trunk/Master/tlpkg/TeXLive/TLDownload.pm 2024-01-07 04:37:44 UTC (rev 69326)
+++ trunk/Master/tlpkg/TeXLive/TLDownload.pm 2024-01-07 11:10:51 UTC (rev 69327)
@@ -40,10 +40,11 @@
sub new
{
my $class = shift;
+ my %params = @_;
my $self = {};
$self->{'initcount'} = 0;
bless $self, $class;
- $self->reinit();
+ $self->reinit(defined($params{'certificates'}) ? $params{'certificates'} : "");
return $self;
}
@@ -52,6 +53,7 @@
sub reinit {
my $self = shift;
+ my $certs = shift;
# Irritatingly, as of around version 6.52, when env_proxy is set, LWP
# started unconditionally complaining if the environment contains
@@ -68,6 +70,13 @@
@env_proxy = ("env_proxy", 1);
}
#
+ # Set HTTPS_CA_FILE to the TL provided certificate bundle
+ # for systems that don't have a system-wide certificate bundle
+ # in particular MacOS.
+ if ((! exists $ENV{'HTTPS_CA_FILE'}) && $certs) {
+ $ENV{'HTTPS_CA_FILE'} = $certs
+ }
+ #
my $ua = LWP::UserAgent->new(
agent => "texlive/lwp",
# use LWP::ConnCache, and keep 1 connection open
Modified: trunk/Master/tlpkg/TeXLive/TLUtils.pm
===================================================================
--- trunk/Master/tlpkg/TeXLive/TLUtils.pm 2024-01-07 04:37:44 UTC (rev 69326)
+++ trunk/Master/tlpkg/TeXLive/TLUtils.pm 2024-01-07 11:10:51 UTC (rev 69327)
@@ -4229,6 +4229,7 @@
=cut
sub setup_persistent_downloads {
+ my $certs = shift;
if ($TeXLive::TLDownload::net_lib_avail) {
ddebug("setup_persistent_downloads has net_lib_avail set\n");
if ($::tldownload_server) {
@@ -4236,10 +4237,10 @@
debug("stop retrying to initialize LWP after 10 failures\n");
return 0;
} else {
- $::tldownload_server->reinit();
+ $::tldownload_server->reinit(certificates => $certs);
}
} else {
- $::tldownload_server = TeXLive::TLDownload->new;
+ $::tldownload_server = TeXLive::TLDownload->new(certificates => $certs);
}
if (!defined($::tldownload_server)) {
ddebug("TLUtils:setup_persistent_downloads: failed to get ::tldownload_server\n");
More information about the tex-live-commits
mailing list.