summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Gilligan <gilligan@vyatta.com>2010-01-06 14:30:49 -0800
committerBob Gilligan <gilligan@vyatta.com>2010-01-06 14:30:49 -0800
commit11865aa7c2b159bb8057b981d046ac8d55d2f94e (patch)
tree03d1a5572b25f065ac89d3ccb24d875854eb818d
parent27b590effaeb016bb6bbbf28651d45ceef0ed9b0 (diff)
downloadvyatta-cfg-system-11865aa7c2b159bb8057b981d046ac8d55d2f94e.tar.gz
vyatta-cfg-system-11865aa7c2b159bb8057b981d046ac8d55d2f94e.zip
Validate MD5 checksums on ISO file before proceeding with installation.
-rwxr-xr-xscripts/install/install-image18
1 files changed, 18 insertions, 0 deletions
diff --git a/scripts/install/install-image b/scripts/install/install-image
index dc834487..76418158 100755
--- a/scripts/install/install-image
+++ b/scripts/install/install-image
@@ -104,6 +104,24 @@ set_up_new_iso ()
fail_exit "\"$NEW_ISO\" is not a Vyatta ISO image file."
fi
+ # Verify checksums of all files in ISO image
+ if [ ! -f $CD_ROOT/md5sum.txt ]; then
+ fail_exit "MD5 checksum file is missing from ISO."
+ fi
+
+ echo -n "Checking MD5 checksums of files on the ISO image..."
+ resfile=`mktemp /tmp/install-image-md5check-XXXXXXXX`
+ (cd $CD_ROOT ; md5sum -c md5sum.txt > $resfile)
+ failures=`grep -v 'OK$' $resfile | wc -l`
+ rm -f $resfile
+ if [ $failures == 0 ]; then
+ echo "OK."
+ else
+ echo "Failed!"
+ echo "$failures checksum failures found!"
+ echo "ISO image is correupted and can not be used."
+ fi
+
# mount squash image
margs="-o loop,ro $squash_file $CD_SQUASH_ROOT"
if ! try_mount "$margs"; then