diff options
-rw-r--r-- | debian/changelog | 7 | ||||
-rwxr-xr-x | scripts/install/install-image | 18 |
2 files changed, 25 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 86c47ba2..aa9bc0e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +vyatta-cfg-system (0.16.9) unstable; urgency=low + + * Validate MD5 checksums on ISO file before proceeding with + installation. + + -- Bob Gilligan <gilligan@vyatta.com> Wed, 06 Jan 2010 14:32:18 -0800 + vyatta-cfg-system (0.16.8) unstable; urgency=low * Do loopback before other interfaces 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 |