Extending verify-checksums parameters to allow specifying custom list of digests.
[live-boot-grml.git] / scripts / boot / 3010-verify-checksums
index 7dd5da3..3649e04 100755 (executable)
@@ -4,16 +4,35 @@
 
 Verify_checksums ()
 {
+       for _PARAMETER in ${_CMDLINE}
+       do
+               case "${_PARAMETER}" in
+                       live-boot.verify-checksums=*|verify-checksums=*)
+                               LIVE_VERIFY_CHECKSUMS="true"
+                               LIVE_VERIFY_CHECKSUMS_DIGESTS="${_PARAMETER#*verify-checksums=}"
+                               ;;
+
+                       live-boot.verify-checksums|verify-checksums)
+                               LIVE_VERIFY_CHECKSUMS="true"
+                               ;;
+               esac
+       done
+
+       if [ "${LIVE_VERIFY_CHECKSUMS}" != "true" ]
+       then
+               return 0
+       fi
+
        _MOUNTPOINT="${1}"
 
-       _DIGESTS="sha512 sha384 sha256 sha224 sha1 md5"
+       LIVE_VERIFY_CHECKSUMS_DIGESTS="${LIVE_VERIFY_CHECKSUMS_DIGESTS:-sha512 sha384 sha256 sha224 sha1 md5}"
        _TTY="/dev/tty8"
 
        log_begin_msg "Verifying checksums"
 
        cd "${_MOUNTPOINT}"
 
-       for _DIGEST in ${_DIGESTS}
+       for _DIGEST in $(echo ${LIVE_VERIFY_CHECKSUMS_DIGESTS} | sed -e 's|,| |g')
        do
                _CHECKSUMS="$(echo ${_DIGEST} | tr [a-z] [A-Z])SUMS"