ten/decode steganographic commands are renamed to bury and exhume documentation updates reflect new features, manpage now refers to arguments of different nature - tomb - the crypto undertaker
 (HTM) git clone git://parazyd.org/tomb.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit eea175b4a72760e76ac81bf0fa1e7689ef6c7bd4
 (DIR) parent 5ec08459cb8f783f7da9bbe1159b31e08671a75d
 (HTM) Author: Jaromil <jaromil@dyne.org>
       Date:   Sat, 12 Feb 2011 17:54:53 +0100
       
       en/decode steganographic commands are renamed to bury and exhume
       documentation updates reflect new features, manpage now refers to arguments of different nature
       
       Diffstat:
         M TODO.org                            |      16 ++++++++--------
         M doc/tomb.1                          |      54 +++++++++++++++++++++-----------
         M src/tomb                            |       9 +++++----
       
       3 files changed, 49 insertions(+), 30 deletions(-)
       ---
 (DIR) diff --git a/TODO.org b/TODO.org
       t@@ -3,7 +3,7 @@ TODO and Roadmap for Tomb
        
        you are welcome to send patches to jaromil@dyne.org
        
       -* TODO Release 1.0                                                        :85%:
       +* TODO Release 1.0                                                        :90%:
        
        ** [#A] fix operation without DISPLAY (over SSH)                   :hellekin:
        ** TODO [#A] SLAM tomb and kill all applications using it
       t@@ -13,13 +13,7 @@ you are welcome to send patches to jaromil@dyne.org
        
           now tomb-dialog or something like that would be useful it askpass
           and dialog might melt together into one binary later.
       -
       -** TODO [#A] steganography to store tomb key
       -
       -   steghide can hide keys in JPG, BMP, WAV or AU files it also takes
       -   care of compressing end encrypting the key file so we don't
       -   necessarily need gpg... it has Serpent and AES256 (CBC)
       -** [#B] incremental backup system using bup                            :jaromil:
       +** [#A] incremental backup system using bup                            :jaromil:
        
           tombs are modifed only where needed so file changes are local to
           the file segment where data is stored. i've tested this idea and it
       t@@ -29,6 +23,12 @@ you are welcome to send patches to jaromil@dyne.org
        ** TODO [#C] make one single status handle more tombs
        ** TODO [#C] decorate creation wizard with ASCII art
        
       +** DONE [#A] steganography to store tomb key                            :jaromil:
       +
       +   steghide can hide keys in JPG, BMP, WAV or AU files it also takes
       +   care of compressing end encrypting the key file so we don't
       +   necessarily need gpg... it has Serpent and AES256 (CBC)
       +
        ** DONE [#A] use a posix thread instead of fork for status close    :jaromil:
        ** DONE [#A] use a config file to map bind mounts                     :jaromil:
        
 (DIR) diff --git a/doc/tomb.1 b/doc/tomb.1
       t@@ -1,11 +1,11 @@
       -.TH tomb 1 "February 6, 2011" "tomb"
       +.TH tomb 1 "February 12, 2011" "tomb"
        
        .SH NAME
        Tomb \- the Crypto Undertaker
        
        .SH SYNOPSIS
        .B
       -.IP "tomb [options] command [file] [mountpoint]"
       +.IP "tomb [options] command [arguments]"
        .B
        .IP "tomb-open [file]"
        .B
       t@@ -29,14 +29,11 @@ hidden in a filesystem; it encourages users to keep their keys
        separate from tombs, for instance keeping a tomb file on your computer
        harddisk and its key file on a USB stick.
        
       -When used from commandline, \fIfile\fR is the name of the tomb to be
       -created or opened, while \fImountpoint\fR is an existing directory
       -where its contents should be made accessible.
       -
       -For simplified use, the command \fItomb-open\fR can be used to start a
       -wizard that guides users in the creation of a new tomb or, if the
       -\fIfile\fR argument is specified, to open a tomb and make it
       -accessible in a default location under the /media folder.
       +For simplified use, the command \fItomb-open\fR starts a wizard that
       +guides users in the creation of a new tomb or, if an \fIargument\fR is
       +specified, opens a the tomb file pointed by it and makes it accessible
       +in a default location under the /media folder, starting the status
       +tray icon if a desktop is present.
        
        The other commands \fItomb-status\fR and \fItomb-askpass\fR are for
        internal use (they are called by tomb with the right arguments) and
       t@@ -45,20 +42,41 @@ interface.
        
        
        .SH COMMANDS
       +
        .B
        .IP "create"
       -Create a new encrypted storage \fIfile\fR and its keys
       +Creates a new encrypted storage tomb and its key, named as specified
       +by the given \fIargument\fR.
       +
        .B
        .IP "open"
       -Opens an existing tomb \fIfile\fR. The \fImountpoint\fR where the tomb
       -will be  made accessible can  be specified, if  not the default  is to
       -create a directory named like the tomb inside /media.
       +Opens an existing tomb file specified in the \fIfirst argument\fR. If
       +a \fIsecond argument\fR is given it will indicate the \fImountpoint\fR
       +where the tomb should be made accessible, if not then the tomb is
       +mounted in a directory named after the filename and inside /media.
       +
        .B
        .IP "close"
       -Closes a currently open tomb.  When \fIfile\fR is specified, it should
       -point to the /dev/mapper name used to mount the tomb; if \fIfile\fR is
       -not specified  and only one tomb is  open, then it will  be closed; if
       -multiple tombs are open, the command will list them on the terminal.
       +Closes a currently open tomb.  When \fIan argument\fR is specified, it
       +should point to the tomb mount on /dev/mapper; if not specified and
       +only one tomb is open then it will be closed; if multiple tombs are
       +open, the command will list them on the terminal. The special
       +\fIargument\fR 'all' will close all currently open tombs.
       +
       +.B
       +.IP "bury"
       +Hides a tomb key (\fIfirst argument\fR) inside a jpeg image (\fIsecond
       +argument\fR) using steganography: the image will change in a way that
       +cannot be noticed by human eyes and the presence of the key inside it
       +isn't detectable without the right password. This option is useful to
       +backup tomb keys in unsuspected places; it uses steghide and the
       +serpent encryption algorithm.
       +
       +.B
       +.IP "exhume"
       +Extracts a named tomb key (\fIfirst argument\fR) from a (jpeg) image file
       +(\fIsecond argument\fR) known to be containing it, if the right password is
       +given. This is used to recoved buried keys from unsuspected places.
        
        .SH OPTIONS
        .B
 (DIR) diff --git a/src/tomb b/src/tomb
       t@@ -283,8 +283,9 @@ while true; do
                    act "create     create a new encrypted storage FILE and keys"
                    act "open       open an existing tomb FILE on MOUNTPOINT"
                    act "close      closes the tomb on MOUNTPOINT"
       -            act "decode     read a hidden tomb key from a JPEG image"
       -            act "encode     hide the tomb key inside a JPEG image"
       +            act "bury       hide a tomb key inside an jpeg image"
       +            act "exhume     extract an hidden tomb key from a jpeg image"
       +
                    act ""
                    notice "Options:"
                    act "-s     size of the storage file when creating one (MB)"
       t@@ -1016,8 +1017,8 @@ case "$CMD" in
            unmount)  check_priv ; umount_tomb ${CMD2} ;;
            close)    check_priv ; umount_tomb ${CMD2} ;;
        
       -    encode)   encode_key ${CMD2} ${CMD3} ;;
       -    decode)   decode_key ${CMD2} ;;
       +    bury)     encode_key ${CMD2} ${CMD3} ;;
       +    exhume)   decode_key ${CMD2} ;;
        
            install)  check_priv ; install_tomb ;;