itfixed to work better with multiple tombs and keys - coffin - secure lan file storage on a device Err parazyd.org 70 hgit clone git://parazyd.org/coffin.git URL:git://parazyd.org/coffin.git parazyd.org 70 1Log /git/coffin/log.gph parazyd.org 70 1Files /git/coffin/files.gph parazyd.org 70 1Refs /git/coffin/refs.gph parazyd.org 70 1Submodules /git/coffin/file/.gitmodules.gph parazyd.org 70 1README /git/coffin/file/README.md.gph parazyd.org 70 1LICENSE /git/coffin/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 64c9bd1375a4fc023e9321e0cd1d42112d931cff /git/coffin/commit/64c9bd1375a4fc023e9321e0cd1d42112d931cff.gph parazyd.org 70 1parent 6c43eef14904d2a912ce2444cc781ea8b2ed905c /git/coffin/commit/6c43eef14904d2a912ce2444cc781ea8b2ed905c.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Thu, 28 Jan 2016 18:32:46 +0100 Err parazyd.org 70 i Err parazyd.org 70 ifixed to work better with multiple tombs and keys Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M bin/sacrist | 25 ++++++++++++++----------- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 14 insertions(+), 11 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/bin/sacrist b/bin/sacrist /git/coffin/file/bin/sacrist.gph parazyd.org 70 it@@ -9,6 +9,7 @@ happenz=$2 Err parazyd.org 70 i keyuuid=`blkid $device | awk -F\" '{print $2}'` Err parazyd.org 70 i Err parazyd.org 70 i tmptombs="/tmp/tombs" Err parazyd.org 70 i+temptombs="/tmp/tombs2" Err parazyd.org 70 i lockfile="/tmp/coffinlock" Err parazyd.org 70 i keymount="/media/tombkey" Err parazyd.org 70 i coffindot=".coffin" Err parazyd.org 70 it@@ -26,19 +27,19 @@ _mountkey() { Err parazyd.org 70 i mount $device $keymount Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i-_getundertaker() { Err parazyd.org 70 i+_getttab() { Err parazyd.org 70 i if [[ $1 == "user" ]]; then Err parazyd.org 70 i- undertaker=`cat $keymount/$coffindot/undertaker | awk -F: '{print $1}'` Err parazyd.org 70 i+ undertaker=`cat $keymount/$coffindot/ttab | awk -F: '{print $1}'` Err parazyd.org 70 i chown -R $undertaker $keymount/$coffindot Err parazyd.org 70 i elif [[ $1 == "tombname" ]]; then Err parazyd.org 70 i- tombname=`cat $keymount/$coffindot/undertaker | awk -F: '{print $2}'` Err parazyd.org 70 i+ tombname=`cat $keymount/$coffindot/ttab | awk -F: '{print $2}'` Err parazyd.org 70 i elif [[ $1 == "graveyard" ]]; then Err parazyd.org 70 i- graveyard=`cat $keymount/$coffindot/undertaker | awk -F: '{print $3}'` Err parazyd.org 70 i+ graveyard=`cat $keymount/$coffindot/ttab | awk -F: '{print $3}'` Err parazyd.org 70 i fi Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i _hashkey() { Err parazyd.org 70 i- _getundertaker tombname Err parazyd.org 70 i+ _getttab tombname Err parazyd.org 70 i cat $keymount/$coffindot/$tombname.key \ Err parazyd.org 70 i | sha512sum \ Err parazyd.org 70 i | awk -F" " '{print $1}' Err parazyd.org 70 it@@ -46,7 +47,7 @@ _hashkey() { Err parazyd.org 70 i Err parazyd.org 70 i _compare_key() { Err parazyd.org 70 i keyhash=`_hashkey` Err parazyd.org 70 i- if [[ ( `cat $tmptombs | grep $keyhash` ) ]]; then Err parazyd.org 70 i+ if [[ ( `cat $tmptombs | grep $keyhash | grep $keyuuid` ) ]]; then Err parazyd.org 70 i happenz=close Err parazyd.org 70 i else Err parazyd.org 70 i happenz=open Err parazyd.org 70 it@@ -64,21 +65,23 @@ _msg() { Err parazyd.org 70 i Err parazyd.org 70 i if [[ $happenz == "CREATE" ]]; then Err parazyd.org 70 i _mountkey Err parazyd.org 70 i- if [[ -f "$keymount/$coffindot/undertaker" ]]; then Err parazyd.org 70 i- _getundertaker user; _msg info "Got undertaker: $undertaker" Err parazyd.org 70 i+ if [[ -f "$keymount/$coffindot/ttab" ]]; then Err parazyd.org 70 i+ _getttab user; _msg info "Got undertaker: $undertaker" Err parazyd.org 70 i Err parazyd.org 70 i _compare_key Err parazyd.org 70 i if [[ $happenz == "close" ]]; then Err parazyd.org 70 i _msg info "Comparekey true" Err parazyd.org 70 i tombname=`cat $tmptombs | grep $keyhash | awk -F: '{print $3}'`; _msg info "Got tombname: $tombname" Err parazyd.org 70 i tomb slam $tombname Err parazyd.org 70 i- cat $tmptombs | grep -v $keyhash > $tmptombs; _msg info "Put stuff in $tmptombs" Err parazyd.org 70 i+ cp $tmptombs $temptombs Err parazyd.org 70 i+ grep -v "$keyhash" $temptombs > $tmptombs; _msg info "Put stuff in $tmptombs" Err parazyd.org 70 i+ rm $temptombs Err parazyd.org 70 i umount $keymount; rmdir $keymount; _msg info "Unmounted usb" Err parazyd.org 70 i elif [[ $happenz == "open" ]]; then Err parazyd.org 70 i _msg info "Comparekey false" Err parazyd.org 70 i- _getundertaker tombname; _getundertaker graveyard; _msg info "Got tombname and graveyard" Err parazyd.org 70 i+ _getttab tombname; _getttab graveyard; _msg info "Got tombname and graveyard" Err parazyd.org 70 i Err parazyd.org 70 i- echo "$undertaker:$graveyard:$tombname:$keyhash:$keyuuid" >> $tmptombs ; _msg info "Added it to $tmptombs" Err parazyd.org 70 i+ echo -e "$undertaker:$graveyard:$tombname:$keyhash:$keyuuid\n" >> $tmptombs ; _msg info "Added it to $tmptombs" Err parazyd.org 70 i su $undertaker -c "tomb open $graveyard/$tombname -k $keymount/$coffindot/$tombname.key --unsafe --tomb-pwd lalala" Err parazyd.org 70 i Err parazyd.org 70 i umount $keymount; rmdir $keymount; _msg info "Unmounted usb" Err parazyd.org 70 .