From: Antonio Ospite Date: Mon, 3 Oct 2011 13:55:28 +0000 (+0200) Subject: kinect_fetch_fw: add a mechanism to check the integrity of the downloaded file X-Git-Tag: v0.1~3 X-Git-Url: https://git.ao2.it/kinect-audio-setup.git/commitdiff_plain/9fe8177cc165d2718664cd94f02f80587869b3e6?ds=sidebyside;hp=48e07ba4ac569314f8a1225e520489fcf8c11685 kinect_fetch_fw: add a mechanism to check the integrity of the downloaded file --- diff --git a/kinect_fetch_fw b/kinect_fetch_fw index 847f23c..6db228f 100755 --- a/kinect_fetch_fw +++ b/kinect_fetch_fw @@ -16,6 +16,7 @@ set -e SDK_URL=${SDK_URL:-"http://download.microsoft.com/download/8/4/C/84C9EF40-EE49-42C2-AE26-C6E30921182F/KinectSDK32.msi"} +SDK_MD5="a043c40f35bf14a5139dfbf6cb14f687" [ $# -lt 1 ] && { echo "usage: $(basename "$0") []" 1>&2; exit 1; } FW_DESTDIR=$(readlink -f $1) @@ -31,6 +32,14 @@ trap "exit 2" 1 2 3 15 cd "$TEMPDIR" ARCHIVE_NAME=$(basename "$SDK_URL") rm -f "$ARCHIVE_NAME" && wget "$SDK_URL" -O "$ARCHIVE_NAME" + +ARCHIVE_MD5=$(md5sum "$ARCHIVE_NAME" | grep --only-matching -m 1 '^[0-9a-f]*') +if [ "$ARCHIVE_MD5" != "$SDK_MD5" ]; +then + echo "$(basename "$0"): Invalid hash for file '$ARCHIVE_NAME'." 1>&2 + exit 1 +fi + 7z e -y -r "$ARCHIVE_NAME" "UACFirmware.*" FW_FILE=$(ls UACFirmware.* | cut -d ' ' -f 1)