#!/bin/bash -e
keyfile="/priv/privdev-key.gpg"
devdir="/home/sam/privdev"
mountdir="/home/sam/priv"

if [ "`id -u`" != 0 ]; then
	echo >&2 "running as root"
	sudo "$0" "$@"
	exit 1
fi

key=`gpg -q -d "$keyfile"`

loopdevs=""

i=1
while true; do
	devfile="$devdir/privdev$i"
	if [ ! -e "$devdir/privdev$i" ]; then
		break
	fi
	loopdev=`losetup -f`
	mountpoint="$mountdir/priv$i"
	echo "$key" | losetup -p 0 -e AES128 "$loopdev" "$devfile"
	mount "$loopdev" "$mountpoint"
	loopdevs="$loopdevs $loopdev"
	i=$[$i+1]
done

(

xmessage "press ok to unmount priv filesystems"

for loopdev in $loopdevs; do
	umount "$loopdev"
	losetup -d "$loopdev"
done

) &
