summaryrefslogtreecommitdiffstats
path: root/data
diff options
context:
space:
mode:
authorChristian Rößler2013-07-25 16:35:23 +0200
committerChristian Rößler2013-07-25 16:41:23 +0200
commit1c497aef76affd8d2b37f7341b0f33dd6e5aab3f (patch)
treed3c156ea24a113e9a90f723b45a58413e14fdd1c /data
parent[demo server] update scripts to support ntp setup (diff)
downloadtm-scripts-1c497aef76affd8d2b37f7341b0f33dd6e5aab3f.tar.gz
tm-scripts-1c497aef76affd8d2b37f7341b0f33dd6e5aab3f.tar.xz
tm-scripts-1c497aef76affd8d2b37f7341b0f33dd6e5aab3f.zip
[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.
Diffstat (limited to 'data')
-rwxr-xr-xdata/openslx-update15
1 files changed, 14 insertions, 1 deletions
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."