itfixes - 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 c7506440481110f3c02d35b7d24518af8aee0a22 /git/coffin/commit/c7506440481110f3c02d35b7d24518af8aee0a22.gph parazyd.org 70 1parent 27f1af84b6f04cf5686dcdef46dca46a4f796810 /git/coffin/commit/27f1af84b6f04cf5686dcdef46dca46a4f796810.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Wed, 2 Mar 2016 22:06:09 +0100 Err parazyd.org 70 i Err parazyd.org 70 ifixes Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M makehook.sh | 127 ++++++++++++------------------- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 47 insertions(+), 80 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/makehook.sh b/makehook.sh /git/coffin/file/makehook.sh.gph parazyd.org 70 it@@ -45,7 +45,6 @@ function _sudowrong { Err parazyd.org 70 i fi Err parazyd.org 70 i } Err parazyd.org 70 i # }}} Err parazyd.org 70 i- Err parazyd.org 70 i # {{{ Some pinentry code shamelessly stolen from tomb Err parazyd.org 70 i # Ask user for a password Err parazyd.org 70 i # Wraps around the pinentry command, from the GnuPG project, as it Err parazyd.org 70 it@@ -170,28 +169,30 @@ _is_found() { Err parazyd.org 70 i Err parazyd.org 70 i # {{{ _clean - Clean function, removes sensitive stuff from memory Err parazyd.org 70 i function _clean { Err parazyd.org 70 i- sudo umount $keymount && sudo rmdir $keymount Err parazyd.org 70 i unset $? Err parazyd.org 70 i local rr="$RANDOM" Err parazyd.org 70 i while [[ ${#rr} -lt 500 ]]; do Err parazyd.org 70 i rr+="$RANDOM" Err parazyd.org 70 i done Err parazyd.org 70 i- Err parazyd.org 70 i command="$rr"; unset command Err parazyd.org 70 i- UNDERTAKER="$rr"; unset UNDERTAKER Err parazyd.org 70 i TOMBPASS="$rr"; unset TOMBPASS Err parazyd.org 70 i TOMBSIZE="$rr"; unset TOMBSIZE Err parazyd.org 70 i+ TOMBNAME="$rr"; unset TOMBNAME Err parazyd.org 70 i+ UNDERTAKER="$rr"; unset UNDERTAKER Err parazyd.org 70 i+ happenz="$rr"; unset happenz Err parazyd.org 70 i sudoassword="$rr"; unset sudoassword Err parazyd.org 70 i tombtmp="$rr"; unset tombtmp Err parazyd.org 70 i- TOMBNAME="$rr"; unset TOMBNAME Err parazyd.org 70 i } Err parazyd.org 70 i # }}} Err parazyd.org 70 i Err parazyd.org 70 i+function _umountkey { sudo umount $keymount && sudo rmdir $keymount } Err parazyd.org 70 i function _mountkey { Err parazyd.org 70 i- if ! [[ -d $keymount ]]; then Err parazyd.org 70 i- sudo mkdir -p $keymount Err parazyd.org 70 i+ if [[ -d $keymount ]]; then Err parazyd.org 70 i+ _zenwarn "Warning" "Something is already mounted on $keymount. Please check and re-run." Err parazyd.org 70 i+ _clean && exit Err parazyd.org 70 i fi Err parazyd.org 70 i- Err parazyd.org 70 i+ Err parazyd.org 70 i+ sudo mkdir -p $keymount Err parazyd.org 70 i sudo mount $USBKEY $keymount Err parazyd.org 70 i Err parazyd.org 70 i if ! [[ -d $coffindot ]]; then Err parazyd.org 70 it@@ -200,6 +201,7 @@ function _mountkey { Err parazyd.org 70 i Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i+ Err parazyd.org 70 i # {{{ zenity dialogs Err parazyd.org 70 i function _zenques { Err parazyd.org 70 i zenity \ Err parazyd.org 70 it@@ -258,78 +260,43 @@ function _main { Err parazyd.org 70 i Err parazyd.org 70 i function _create { Err parazyd.org 70 i UNDERTAKER=$(_zenentry "Choose username" "Choose a username for your tombox" "foobar") Err parazyd.org 70 i- res=$? Err parazyd.org 70 i- Err parazyd.org 70 i- case $res in Err parazyd.org 70 i- 0) Err parazyd.org 70 i- TOMBNAME=$(_zenentry "Choose tomb name" "Choose a name for your new tomb" "foobar") Err parazyd.org 70 i- res=$? Err parazyd.org 70 i- Err parazyd.org 70 i- case $res in Err parazyd.org 70 i- 0) Err parazyd.org 70 i- TOMBPASS=$(_zenentry "Choose password" "Choose a password for your tomb's keyfile" "9898yvc0982yh08H@*Y@(Y*C") Err parazyd.org 70 i- res=$? Err parazyd.org 70 i- Err parazyd.org 70 i- case $res in Err parazyd.org 70 i- 0) Err parazyd.org 70 i- TOMBSIZE=$(_zenentry "Choose tomb size" "Choose the size of your tomb in MiB" "100") Err parazyd.org 70 i- res=$? Err parazyd.org 70 i- Err parazyd.org 70 i- case $res in Err parazyd.org 70 i- 0) Err parazyd.org 70 i- USBKEY=$(zenity \ Err parazyd.org 70 i- --window-icon="$MONMORT" \ Err parazyd.org 70 i- --title="Choose USB key" \ Err parazyd.org 70 i- --list \ Err parazyd.org 70 i- --hide-header \ Err parazyd.org 70 i- --text="Choose your USB key to use" \ Err parazyd.org 70 i- --column=Device \ Err parazyd.org 70 i- $(cat ./.devs) Err parazyd.org 70 i- ) Err parazyd.org 70 i- _sudo Err parazyd.org 70 i- _mountkey Err parazyd.org 70 i- if [[ -f $hooks ]]; then Err parazyd.org 70 i- _zenques "Warning! There is already an existing hook. Do you want to overwrite?" Err parazyd.org 70 i- res=$? Err parazyd.org 70 i- case $res in Err parazyd.org 70 i- 0) Err parazyd.org 70 i- print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks Err parazyd.org 70 i- _zeninfo "Success" "$hooks written successfully!" Err parazyd.org 70 i- _clean Err parazyd.org 70 i- _main Err parazyd.org 70 i- ;; Err parazyd.org 70 i- 1) Err parazyd.org 70 i- _zeninfo "Info" "Postponing..." Err parazyd.org 70 i- _clean Err parazyd.org 70 i- _main Err parazyd.org 70 i- ;; Err parazyd.org 70 i- esac Err parazyd.org 70 i- else Err parazyd.org 70 i- print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks Err parazyd.org 70 i- _zeninfo "Success" "$hooks written successfully!" Err parazyd.org 70 i- _clean Err parazyd.org 70 i- _main Err parazyd.org 70 i- fi Err parazyd.org 70 i- ;; Err parazyd.org 70 i- 1) Err parazyd.org 70 i- _main Err parazyd.org 70 i- ;; Err parazyd.org 70 i- esac Err parazyd.org 70 i- ;; Err parazyd.org 70 i- 1) Err parazyd.org 70 i- _main Err parazyd.org 70 i- ;; Err parazyd.org 70 i- esac Err parazyd.org 70 i- ;; Err parazyd.org 70 i- 1) Err parazyd.org 70 i- _main Err parazyd.org 70 i- ;; Err parazyd.org 70 i- esac Err parazyd.org 70 i- ;; Err parazyd.org 70 i- 1) Err parazyd.org 70 i- _main Err parazyd.org 70 i- ;; Err parazyd.org 70 i- esac Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ TOMBNAME=$(_zenentry "Choose tomb name" "Choose a name for your new tomb" "foobar") Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ TOMBPASS=$(_zenentry "Choose password" "Choose a password for your tomb's keyfile" "891y981hy97*HY(*YC&h89h21") Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ TOMBSIZE=$(_zenentry "Choose tomb size" "Choose the size of your tomb in MiB" "100") Err parazyd.org 70 i+ if [[ $? = 1 ]]; then; exec _main; fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ Err parazyd.org 70 i+ USBKEY=$(zenity \ Err parazyd.org 70 i+ --window-icon="$MONMORT" \ Err parazyd.org 70 i+ --title="Choose USB key" \ Err parazyd.org 70 i+ --list \ Err parazyd.org 70 i+ --hide-header \ Err parazyd.org 70 i+ --text="Choose your USB key to use" \ Err parazyd.org 70 i+ --column=Device \ Err parazyd.org 70 i+ $(cat ./.devs)) Err parazyd.org 70 i+ Err parazyd.org 70 i+ _sudo Err parazyd.org 70 i+ _mountkey Err parazyd.org 70 i+ if [[ -f $hooks ]]; then Err parazyd.org 70 i+ _zenques "Warning! There is already an existing hook. Do you want to overwrite?" Err parazyd.org 70 i+ if [[ $? = 1 ]]; then Err parazyd.org 70 i+ _zeninfo "Info" "Postponing..." && _umountkey && exec _main Err parazyd.org 70 i+ else Err parazyd.org 70 i+ print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks Err parazyd.org 70 i+ _zeninfo "Success" "$hooks written successfully!" && _umountkey && exec _main Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ else Err parazyd.org 70 i+ print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks Err parazyd.org 70 i+ _zeninfo "Success" "$hooks written successfully!" && _umountkey && exec _main Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i+function _ { rm .devs } Err parazyd.org 70 i _main Err parazyd.org 70 .