URI: 
       t[cleanup] Process subcommands - tomb - the crypto undertaker
  HTML git clone git://parazyd.org/tomb.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 6c71f2c94bab144b5d9027f7cc2a84799766b699
   DIR parent 8df1575a4423b436b13c0447623df61ec0dac6b7
  HTML Author: hellekin <hellekin@cepheide.org>
       Date:   Tue,  4 Nov 2014 02:45:10 -0300
       
       t[cleanup] Process subcommands
       
       Diffstat:
         M tomb                                |     110 +++++++++++++++++++++----------
       
       1 file changed, 74 insertions(+), 36 deletions(-)
       ---
   DIR diff --git a/tomb b/tomb
       t@@ -2553,87 +2553,123 @@ main() {
                    $_UID $_GID $_TTY
            }
        
       +    # Process subcommand
            case "$subcommand" in
        
       -        # new creation in three steps
       -        forge)
       -            check_priv
       -            forge_key ${=PARAM}
       +        # USAGE
       +        help)
       +            usage
       +            ;;
       +
       +        # DEPRECATED!
       +        # TODO: remove in 2.0
       +        create)
       +            _warning "The create command is deprecated, please use dig, forge and lock instead."
       +            _warning "For more informations see Tomb's manual page (man tomb)."
       +            _failure "Operation aborted."
                    ;;
       +
       +        # CREATE Step 1: dig -s NN file.tomb 
                dig)
                    check_priv
                    dig_tomb ${=PARAM}
                    ;;
       -        lock)
       -            check_priv
       -            lock_tomb_with_key ${=PARAM}
       -            ;;
        
       -        setkey)
       +        # CREATE Step 2: forge file.tomb.key
       +        forge)
                    check_priv
       -            change_tomb_key ${=PARAM}
       -            ;;
       -
       -        engrave)
       -            [[ $QRENCODE == 0 ]] && {
       -                _failure "QREncode not installed: cannot engrave keys on paper." }
       -            engrave_key ${=PARAM}
       +            forge_key ${=PARAM}
                    ;;
        
       -        # backward compat
       -        create)
       -            _warning "The create command is deprecated, please use dig, forge and lock instead."
       -            _warning "For more informations see Tomb's manual page (man tomb)."
       +        # CREATE Step 2: lock -k file.tomb.key file.tomb
       +        lock)
       +            check_priv
       +            lock_tomb_with_key ${=PARAM}
                    ;;
        
       +        # Open the tomb
                mount|open)
                    check_priv
                    mount_tomb $PARAM[1] $PARAM[2]
                    ;;
       +
       +        # Close the tomb
       +        # `slam` is used to force closing.
                umount|close|slam)
                    check_priv
       -            [ "$subcommand" =  "slam" ] && SLAM=1
       +            [[ "$subcommand" ==  "slam" ]] && SLAM=1
                    umount_tomb $PARAM[1]
                    ;;
       -        passwd)
       +
       +        # Grow tomb's size
       +        resize)
       +            [[ $RESIZER == 0 ]] && {
       +                _failure "Resize2fs not installed: cannot resize tombs." }
                    check_priv
       -            change_passwd $PARAM[1]
       -            ;;
       -        list)
       -            list_tombs $PARAM[1]
       +            resize_tomb $PARAM[1]
                    ;;
        
       +        ## Contents manipulation
       +
       +        # Index tomb contents
                index)
                    index_tombs $PARAM[1]
       +            ;;
       +
       +        # List tombs
       +        list)
       +            list_tombs $PARAM[1]
                    ;;
       +
       +        # Search tomb contents
                search)
                    search_tombs ${=PARAM}
                    ;;
        
       -        help)
       -            usage
       +        ## Locking operations
       +
       +        # Export key to QR Code
       +        engrave)
       +            [[ $QRENCODE == 0 ]] && {
       +                _failure "QREncode not installed: cannot engrave keys on paper." }
       +            engrave_key ${=PARAM}
                    ;;
       +
       +        # Change password on existing key
       +        passwd)
       +            check_priv
       +            change_passwd $PARAM[1]
       +            ;;
       +
       +        # Change tomb key
       +        setkey)
       +            check_priv
       +            change_tomb_key ${=PARAM}
       +            ;;
       +
       +        # STEGANOGRAPHY: hide key inside an image
                bury)
                    [[ $STEGHIDE == 0 ]] && {
                        _failure "Steghide not installed: cannot bury keys into images." }
                    bury_key $PARAM[1]
                    ;;
       -        exhume)
       +
       +        # STEGANOGRAPHY: read key hidden in an image
       +        exhume)
                    [[ $STEGHIDE == 0 ]] && {
                        _failure "Steghide not installed: cannot exhume keys from images." }
                    exhume_key $PARAM[1]
                    ;;
       -        resize)
       -            [[ $RESIZER == 0 ]] && {
       -                _failure "Resize2fs not installed: cannot resize tombs." }
       -            check_priv
       -            resize_tomb $PARAM[1]
       -            ;;
        
       -        # internal commands useful to developers
       +        ## Internal commands useful to developers
       +
       +        # Make tomb functions available to the calling shell or script
                'source')   return 0 ;;
       +
       +        # Ask user for a password interactively
                askpass)    ask_password $PARAM[1] $PARAM[2] ;;
        
       +        # Default operation: presentation, or version information with -v
                __default)
        _print "Tomb ::1 version:: - a strong and gentle undertaker for your secrets" $VERSION
        _print "\000"
       t@@ -2660,6 +2696,8 @@ EOF
                    }
                    usage
                    ;;
       +
       +        # Reject unknown command and suggest help
                *)
                    _warning "Command \"::1 subcommand::\" not recognized." $subcommand
                    _message "Try -h for help."