From 1c497aef76affd8d2b37f7341b0f33dd6e5aab3f Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Thu, 25 Jul 2013 16:35:23 +0200 Subject: [demo-server] Added hash check (md5) for downloaded files (not for unused STABLE_EXTRA so far). Added two internal vars for CRCCOMMAND (md5sum) and CRCEXTENSION (md5) for easy hash algorithm change. If no hash file available script will continue; hash mismatch terminates script. --- data/openslx-update | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'data') diff --git a/data/openslx-update b/data/openslx-update index 06d05554..e4d271f5 100755 --- a/data/openslx-update +++ b/data/openslx-update @@ -21,6 +21,8 @@ REMOTEINDEX="/tmp/mlversion" LOCALINDEX="/opt/openslx/local_version" WWWTEMP="/srv/openslx/www-temp" PXECONFIG="/srv/openslx/tftp/pxelinux.cfg/default" +CRCCOMMAND=md5sum +CRCEXTENSION=md5 . "/opt/openslx/server-defaults" || error "Konnte Serverkonfiguration nicht laden. Wurde openslx-install ausgeführt?" @@ -65,7 +67,18 @@ for REL in ${!AVAILABLE_*}; do continue fi # Download - wget -O "/srv/openslx/www/openslx-$FILE" "$MIRROR/files/$FILE" || warning "Could not download $FILE" + wget -O "/srv/openslx/www/openslx-$FILE" "$MIRROR/files/$FILE" || { warning "Could not download $FILE"; continue; } + # Download md5 value + wget -O "/srv/openslx/www/openslx-$FILE.$CRCEXTENSION" "$MIRROR/files/$FILE.$CRCEXTENSION" \ + || { warning "Could not download $FILE.$CRCEXTENSION!"; continue; } + # check file checksums + if [ $($CRCCOMMAND "/srv/openslx/www/openslx-$FILE"|cut -f 1 -d " ") != "$(cat /srv/openslx/www/openslx-$FILE.$CRCEXTENSION)" ]; then + warning "$CRCCOMMAND: $FILE: checksum mismatch! Transmission error or disk full." + warning "$CRCCOMMAND: $FILE: Prüfsummendiskrepanz! Übertragungsfehler oder Laufwerk voll." + error "Beende Skript aufgrund Prüfsummendiskrepanz!" + else + print "Prüsummencheck Datei $FILE ok." + fi done if [ -z "$PXELINE" -o -z "$KERNEL" ]; then warning "Incomplete entry. KERNEL or INITRD missing." -- cgit v1.2.3-55-g7522