Index: scripts/crypt_setup.sh =================================================================== diff -u -r1da89b0452b8ef9448847618e75c118f3f58bd0c -rf45f4093470d79f74c79f5a162bff598215b5dda --- scripts/crypt_setup.sh (.../crypt_setup.sh) (revision 1da89b0452b8ef9448847618e75c118f3f58bd0c) +++ scripts/crypt_setup.sh (.../crypt_setup.sh) (revision f45f4093470d79f74c79f5a162bff598215b5dda) @@ -15,7 +15,6 @@ # ############################################################################ - ERR_CRYPTSETUP_UNKNOWN=100 ERR_CRYPTSETUP_USAGE=101 @@ -30,14 +29,33 @@ ERR_CRYPTSETUP_CREATE_MKFS=124 ERR_CRYPTSETUP_CREATE_MOUNT=125 -ERR_CRYPTSETUP_MOUNT_OPEN=131 -ERR_CRYPTSETUP_MOUNT_MOUNT=132 +ERR_CRYPTSETUP_MOUNT_TYPE=131 +ERR_CRYPTSETUP_MOUNT_OPEN=132 +ERR_CRYPTSETUP_MOUNT_MOUNT=133 +ERR_CRYPTSETUP_MOUNT_MOUNT=134 LOC_DEV="/dev/mmcblk0p7" LOC_DIR="configurations" LOC_MAP="/dev/mapper/"$LOC_DIR LOC_VAR="/var/"$LOC_DIR +DEV_TYP="crypto_LUKS" +DEV_MNT="/dev/mapper/configurations on /var/configurations type ext4 (rw,relatime)" + +function isEncrypted () { + if [ "$( blkid | grep "$LOC_DEV" | grep "TYPE=$DEV_TYP" )" != "" ]; then + echo "not an encrypted partition" + exit $ERR_CRYPTSETUP_MOUNT_TYPE + fi +} + +function isMounted() { + if [ "$( mount | grep "$DEV_MNT" )" != "" ]; then + echo "partition already mounted" + exit $ERR_CRYPTSETUP_MOUNT_MOUNT + fi +} + function checkPassword() { if [ "$PASSWORD" == "" ]; then echo "setup command missing password argument" @@ -76,6 +94,8 @@ function mount_luks_partition() { + isEncrypted # if encrypted will continue else will exit with error + isMounted # if not mounted will continue else will exit with error checkOutput "cryptsetup luksOpen $LOC_DEV $LOC_DIR" $ERR_CRYPTSETUP_MOUNT_OPEN $PASSWORD checkOutput "mount -t ext4 $LOC_MAP $LOC_VAR" $ERR_CRYPTSETUP_MOUNT_MOUNT }