[source] scripts/download.pl: fail loudly if provided hash is unsupported

LEDE Commits lede-commits at lists.infradead.org
Mon Sep 11 08:23:23 PDT 2017


blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/b30ba14e2a858cfebcfdbc38348ab96a6d179556

commit b30ba14e2a858cfebcfdbc38348ab96a6d179556
Author: Baptiste Jonglez <git at bitsofnetworks.org>
AuthorDate: Sun Sep 3 14:01:28 2017 +0200

    scripts/download.pl: fail loudly if provided hash is unsupported
    
    Currently, if the provided hash is unsupported (length different from 32
    or 64 bytes), we happily download the requested file without any kind of
    checksum verification.
    
    This is quite dangerous and may provide a false sense of security, because
    a single typo in the hash (e.g. one character deleted by mistake) may skip
    checksum verification entirely.
    
    Instead, fail immediately if we don't support the provided hash.
    In particular, if an external package repository decides to change the
    hash algorithm one day, we will now fail loudly instead of skipping
    checksum verification without complaints.
    
    Note: if some users of scripts/download.pl knowingly provide an empty hash
    because they don't need checksum verification, this change will break
    them.  This does not seem to be the case currently, but if this feature is
    ever needed, an option should be added to download.pl instead of relying
    on the hash being empty.
    
    Fixes: eaa4eba10a89 ("scripts/download.pl: add SHA-256 support")
    
    Signed-off-by: Baptiste Jonglez <git at bitsofnetworks.org>
---
 scripts/download.pl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/download.pl b/scripts/download.pl
index bf9fe8c..7754089 100755
--- a/scripts/download.pl
+++ b/scripts/download.pl
@@ -88,6 +88,7 @@ sub download_cmd($) {
 }
 
 my $hash_cmd = hash_cmd();
+$hash_cmd or die "Cannot find appropriate hash command, ensure the provided hash is either a MD5 or SHA256 checksum.\n";
 
 sub download
 {



More information about the lede-commits mailing list