From d42078d58faed67af2b4e8521044e65561b1bcf1 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 17 May 2021 00:41:40 +0000 Subject: TLUtils: detect non-ssl wget git-svn-id: svn://tug.org/texlive/trunk@59237 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLUtils.pm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'Master/tlpkg/TeXLive') diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index cd4d8d5e92d..13124b3994a 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -2585,6 +2585,21 @@ sub setup_programs { setup_one(($isWin ? "w32" : "unix"), $defprog, "$bindir/$dltype/$defprog.$platform", "--version", $tlfirst); } + # check for wget/ssl support + if (member("wget", @working_downloaders)) { + debug("TLUtils::setup_programs: checking for ssl enabled wget\n"); + my @lines = `$::progs{'wget'} --version 2>&1`; + if (grep(/\+ssl/, @lines)) { + $::progs{'options'}{'wget-ssl'} = 1; + my @wgetargs = @{$TeXLive::TLConfig::FallbackDownloaderArgs{'wget'}}; + push @wgetargs, '--no-check-certificate'; + $TeXLive::TLConfig::FallbackDownloaderArgs{'wget'} = \@wgetargs; + debug("TLUtils::setup_programs: wget has ssl, final wget args: @{$TeXLive::TLConfig::FallbackDownloaderArgs{'wget'}}\n"); + } else { + debug("TLUtils::setup_programs: wget without ssl support found\n"); + $::progs{'options'}{'wget-ssl'} = 0; + } + } $::progs{'working_downloaders'} = [ @working_downloaders ]; my @working_compressors; for my $defprog (sort @@ -3985,7 +4000,22 @@ sub query_ctan_mirror { if (TeXLive::TLUtils::member("curl", @working_downloaders)) { return query_ctan_mirror_curl(); } elsif (TeXLive::TLUtils::member("wget", @working_downloaders)) { - return query_ctan_mirror_wget(); + if ($::progs{'options'}{'wget-ssl'}) { + # we need ssl enabled wget to query ctan + return query_ctan_mirror_wget(); + } else { + tlwarn(<