tomb

the crypto undertaker
git clone git://parazyd.org/tomb.git
Log | Files | Refs | README | LICENSE

commit f408017c07b75f30c728a3f6545d93b17fe4bd3b
parent 7756dc161011552661e474807515f48a3ec04d09
Author: Hellekin O. Wolf =8) <hellekin@cepheide.org>
Date:   Sat, 12 Feb 2011 08:30:37 +0100

Prevent directory removals if tomb didn't create them

Diffstat:
Msrc/tomb | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/tomb b/src/tomb @@ -570,7 +570,9 @@ mount_tomb() { notice "mounting $tombfile on mountpoint $tombmount" # we need root from here on - mkdir -p $tombmount + + local norm=$(test -d $tombmount) + $norm || mkdir -p $tombmount nstloop=`losetup -f` losetup -f ${tombfile} @@ -580,7 +582,7 @@ mount_tomb() { if [ $? != 0 ]; then # is it a LUKS encrypted nest? see cryptsetup(1) error "$tombfile is not a valid Luks encrypted storage file" - rmdir $tombmount 2>/dev/null + $norm || rmdir $tombmount 2>/dev/null return 1 fi @@ -624,7 +626,7 @@ mount_tomb() { if ! [ -r /dev/mapper/${mapper} ]; then error "failure mounting the encrypted file" losetup -d ${nstloop} - rmdir ${tombmount} 2>/dev/null + $norm || rmdir ${tombmount} 2>/dev/null return 1 fi