summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmount-crypts42
1 files changed, 35 insertions, 7 deletions
diff --git a/mount-crypts b/mount-crypts
index b7ba106..e047a63 100755
--- a/mount-crypts
+++ b/mount-crypts
@@ -15,26 +15,54 @@ fi \
sleep 1
maxWait=$[${maxWait}-1]
done
+
+ # detects integrity correctly, too
if cryptsetup status "${name}" 2>&1 >/dev/null; then
is_mounted=true
else
is_mounted=false
fi
- if [ "$1" == "-u" ]; then
+
+ if [ "x$1" == 'x-u' ]; then
if ! ${is_mounted}; then
continue
fi
- if ! /usr/sbin/cryptsetup luksClose "${name}"; then
- >&2 echo "FEHLER: cryptsetup luksClose $name"
- exit 1
+
+ if [ -n "${key}" ]; then
+
+ if ! /usr/sbin/cryptsetup luksClose "${name}"; then
+ >&2 echo "FEHLER: cryptsetup luksClose $name"
+ exit 1
+ fi
+
+ else
+
+ if ! /usr/sbin/integritysetup close "${name}"; then
+ >&2 echo "FEHLER: integritysetup close $name"
+ exit 1
+ fi
+
fi
+
else
if ${is_mounted}; then
continue
fi
- if ! /usr/sbin/cryptsetup luksOpen "${device}" "${name}" --key-file "${key}"; then
- >&2 echo "FEHLER: cryptsetup luksOpen ${device} ${name} --key-file ${key}"
- exit 1
+
+ if [ -n "${key}" ]; then
+
+ if ! /usr/sbin/cryptsetup luksOpen "${device}" "${name}" --key-file "${key}"; then
+ >&2 echo "FEHLER: cryptsetup luksOpen ${device} ${name} --key-file ${key}"
+ exit 1
+ fi
+
+ else
+
+ if ! /usr/sbin/integritysetup open "${device}" "${name}"; then
+ >&2 echo "FEHLER: integritysetup open ${device} ${name}"
+ exit 1
+ fi
+
fi
fi
done