diff options
author | Christian Rößler | 2013-07-25 16:35:23 +0200 |
---|---|---|
committer | Christian Rößler | 2013-07-25 16:41:23 +0200 |
commit | 1c497aef76affd8d2b37f7341b0f33dd6e5aab3f (patch) | |
tree | d3c156ea24a113e9a90f723b45a58413e14fdd1c /data | |
parent | [demo server] update scripts to support ntp setup (diff) | |
download | tm-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-x | data/openslx-update | 15 |
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." |