aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJosh Roys <roysjosh@gmail.com>2022-07-23 11:23:16 -0400
committerPetr Štetiar <ynezz@true.cz>2022-09-16 18:50:46 +0200
commit340b138932c3720db227821415f494ac81e8b675 (patch)
treeb1d5de1230eb7c272d9243c21a2b9a3ebaad7489 /scripts
parentb5e39355e4121bd6288e2fc4a434a785bd6d6285 (diff)
downloadupstream-340b138932c3720db227821415f494ac81e8b675.tar.gz
upstream-340b138932c3720db227821415f494ac81e8b675.tar.bz2
upstream-340b138932c3720db227821415f494ac81e8b675.zip
scripts: always check certificates
Remove flags from wget and curl instructing them to ignore bad server certificates. Although other mechanisms can protect against malicious modifications of downloads, other vectors of attack may be available to an adversary. TLS certificate verification can be disabled by turning oof the "Enable TLS certificate verification during package download" option enabled by default in the "Global build settings" in "make menuconfig" Signed-off-by: Josh Roys <roysjosh@gmail.com> [ add additional info on how to disable this option ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 90c6e3aedf167b0ae1baf376e7800a631681e69a)
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/download.pl6
1 files changed, 4 insertions, 2 deletions
diff --git a/scripts/download.pl b/scripts/download.pl
index af13c0ae00..ab1801aad5 100755
--- a/scripts/download.pl
+++ b/scripts/download.pl
@@ -24,6 +24,8 @@ my $scriptdir = dirname($0);
my @mirrors;
my $ok;
+my $check_certificate = $ENV{DOWNLOAD_CHECK_CERTIFICATE} eq "y";
+
$url_filename or $url_filename = $filename;
sub localmirrors {
@@ -80,8 +82,8 @@ sub download_cmd($) {
}
return $have_curl
- ? (qw(curl -f --connect-timeout 20 --retry 5 --location --insecure), shellwords($ENV{CURL_OPTIONS} || ''), $url)
- : (qw(wget --tries=5 --timeout=20 --no-check-certificate --output-document=-), shellwords($ENV{WGET_OPTIONS} || ''), $url)
+ ? (qw(curl -f --connect-timeout 20 --retry 5 --location), $check_certificate ? '' : '--insecure', shellwords($ENV{CURL_OPTIONS} || ''), $url)
+ : (qw(wget --tries=5 --timeout=20 --output-document=-), $check_certificate ? '' : '--no-check-certificate', shellwords($ENV{WGET_OPTIONS} || ''), $url)
;
}