tfinished-ish create part - coffin - secure lan file storage on a device
 (HTM) git clone git://parazyd.org/coffin.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 6ec7e0052c655bc22f8e62adadfadaef41f07040
 (DIR) parent 4397c9fff665abc0674d8b8511267245fad3e817
 (HTM) Author: parazyd <parazyd@dyne.org>
       Date:   Sun,  6 Mar 2016 17:09:46 +0100
       
       finished-ish create part
       
       Diffstat:
         M makehook.sh                         |      45 ++++++++++++++++++++-----------
       
       1 file changed, 29 insertions(+), 16 deletions(-)
       ---
 (DIR) diff --git a/makehook.sh b/makehook.sh
       t@@ -16,9 +16,6 @@ hooks="$coffindot/hook"
        
        lsblk -npl | awk -F" " '{print $1}' | grep ^/dev/sd.. > ./.devs
        
       -# Hook syntax
       -# create:username:tombname:tombsize:passphrase
       -
        # {{{ icon
        MONMORT="/tmp/monmort.png"
        ICONB64="iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAQAAACJ4248AAAAAmJLR0T//xSrMc0AAAAJcEhZcwAA\n
       t@@ -46,6 +43,7 @@ function _sudowrong {
            fi
        }
        # }}}
       +
        # {{{ Some pinentry code shamelessly stolen from tomb
        # Ask user for a password
        # Wraps around the pinentry command, from the GnuPG project, as it
       t@@ -201,7 +199,6 @@ function _mountkey {
            
        }
        
       -
        # {{{ zenity dialogs
        function _zenques {
             zenity \
       t@@ -259,7 +256,6 @@ function _main {
        }
        
        function _create {
       -    
            vars=$(zenity \
                --window-icon="$MONMORT" \
                --title="Create a new tomb" \
       t@@ -272,14 +268,23 @@ function _create {
            if [[ $? = 1 ]]; then
                exec _main
            else
       -       TOMBSIZE=${vars[(ws@:@)3]}
       +        UNDERTAKER=${vars[(ws@:@)1]}
       +        re='^[A-Za-z0-9]+$'
       +        if ! [[ $UNDERTAKER =~ $re ]]; then
       +            _zenwarn "Warning" "Invalid characters in username!"
       +            exec _create
       +        fi
       +        TOMBNAME=${vars[(ws@:@)2]}
       +        if ! [[ $TOMBNAME =~ $re ]]; then
       +            _zenwarn "Warning" "Invalid characters in tomb name!"
       +            exec _create
       +        fi
       +        TOMBSIZE=${vars[(ws@:@)3]}
                re='^[0-9]+$'
                if ! [[ $TOMBSIZE =~ $re ]]; then
                    _zenwarn "Warning" "Invalid characters in tomb size!"
                    exec _create
                fi
       -        UNDERTAKER=${vars[(ws@:@)1]}
       -        TOMBNAME=${vars[(ws@:@)2]}
             fi
        
            feats=$(zenity \
       t@@ -300,16 +305,16 @@ function _create {
            if [[ $? = 0 ]]; then
                bindhook=$(zenity \
                           --window-icon="$MONMORT" \
       -                   --title="Make bind-hooks" \
       -                   --text="Make your edits for the bind-hooks you wish to include in this tomb" \
       +                   --title="bind-hooks" \
       +                   --checkbox="Accept these bind-hooks" \
                           --text-info \
                           --editable)
                if [[ $? = 1 ]]; then; exec _main; fi
        
                posthook=$(zenity \
                           --window-icon="$MONMORT" \
       -                   --title="Make post-hooks" \
       -                   --text="Make your edits for the post-hooks you wish to include in this tomb" \
       +                   --title="post-hooks" \
       +                   --checkbox="Accept these post-hooks" \
                           --text-info \
                           --editable)
                if [[ $? = 1 ]]; then; exec _main; fi
       t@@ -332,13 +337,21 @@ function _create {
                    _zeninfo "Info" "Postponing..." && _umountkey && exec _main
                else
                    # edit these to fit new values
       -            print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks
       -            _zeninfo "Success" "$hooks written successfully!" && _umountkey &&  exec _main
       +            print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${feats}" | sudo tee $hooks
       +            if [[ -n $bindhook ]]; then
       +                print "$bindhook" | sudo tee $coffindot/bindhooks
       +            fi
       +            if [[ -n $posthook ]]; then
       +                print "$posthook" | sudo tee $coffindot/posthooks
       +            fi
       +            _umountkey
       +            _zeninfo "Success" "$hooks written successfully!\nPlug the USB key in a tombox to activate it." 
       +            exec _main
                fi
            else 
                # edit these to fit new values
       -        print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${TOMBPASS}" | sudo tee $hooks
       -        _zeninfo "Success" "$hooks written successfully!" && _umountkey && exec _main
       +        print "create:${UNDERTAKER}:${TOMBNAME}:${TOMBSIZE}:${feats}" | sudo tee $hooks
       +        _zeninfo "Success" "$hooks written successfully!\nPlug the USB key in the tombox to activate it." && _umountkey &&  exec _main
            fi
        
        }