tSize unit is now MiB - tomb - the crypto undertaker
 (HTM) git clone git://parazyd.org/tomb.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 568cc43ab69457b2a7be979802fd92194a8eb6d5
 (DIR) parent 4aa00fe5f66634f46116da1e57fe79346b59c07f
 (HTM) Author: Jaromil <jaromil@dyne.org>
       Date:   Mon, 27 May 2013 21:22:24 +0200
       
       Size unit is now MiB
       
       More precise megabyte calculation as in IEC 2000 mebibyte
       Cleans up use of dd/dcfldd
       Solves issue #87
       
       Diffstat:
         M doc/tomb.1                          |       4 ++--
         M tomb                                |      31 ++++++++++++++++---------------
       
       2 files changed, 18 insertions(+), 17 deletions(-)
       ---
 (DIR) diff --git a/doc/tomb.1 b/doc/tomb.1
       t@@ -112,7 +112,7 @@ action can't be forced if the current password is not known.
        .B
        .IP "resize"
        Increase the size of a tomb file to the amount specified by the
       -\fI--size\fR option (in megabytes). Tombs cannot be made smaller with
       +\fI--size\fR option in megabytes. Tombs cannot be made smaller with
        this command, only bigger. This command makes use of the cryptsetup
        resize feature and the resize2fs command, hence it supports only tombs
        formatted with an Ext filesystem.
       t@@ -140,7 +140,7 @@ verify if a key is buried in the image or not.
        .B
        .IP "-s \fI<MBytes>\fR" 
        When digging or resizing a tomb, this option must be used to specify
       -the \fIsize\fR of the new file to be created, in megabytes.
       +the \fIsize\fR of the new file to be created. Units are megabytes (MiB).
        .B
        .IP "-k \fI<keyfile>\fR"
        When opening a tomb, this option can specify the location of the key
 (DIR) diff --git a/tomb b/tomb
       t@@ -24,11 +24,14 @@
        # }}}
        # {{{ GLOBAL VARIABLES
        VERSION=1.3
       -DATE="Apr/2013"
       +DATE="May/2013"
        TOMBEXEC=$0
        TOMBOPENEXEC="${TOMBEXEC}-open"
        typeset -a OLDARGS
        for arg in ${argv}; do OLDARGS+=($arg); done
       +DD="dd"
       +WIPE="rm -f"
       +MKFS="mkfs.ext3 -q -F -j -L"
        STEGHIDE=1
        MKTEMP=1
        RESIZER=1
       t@@ -177,7 +180,8 @@ check_bin() {
            export PATH=/sbin:/usr/sbin:$PATH
        
            # which dd command to use
       -    command -v dcfldd > /dev/null && DD=dcfldd || DD=dd
       +    command -v dcfldd
       +    { test $? = 0 } && { DD="dcfldd statusinterval=1" }
        
            # which wipe command to use
            command -v wipe > /dev/null && WIPE="wipe -f -s" || WIPE="rm -f"
       t@@ -720,11 +724,9 @@ forge_key() {
                random_source=/dev/urandom
            fi
        
       -    if [[ $DD = "dcfldd" ]]; then
       -        $DD bs=1 count=256 if=$random_source of=${keytmp}/tomb.tmp statusinterval=1
       -    else
       -        $DD bs=1 count=256 if=$random_source of=${keytmp}/tomb.tmp
       -    fi
       +    xxx "Data dump using ${DD[1]} from $random_source"
       +    ${=DD} bs=1 count=256 if=$random_source of=${keytmp}/tomb.tmp
       +
            if ! [ -r ${keytmp}/tomb.tmp ]; then
                _warning "cannot generate encryption key"
                umount ${keytmp}
       t@@ -802,14 +804,14 @@ dig_tomb() {
        
            _success "Creating a new tomb in ${tombdir}/${tombfile}"
        
       -
       -    tombsize_4k=`expr $tombsize \* 1024 / 4`
       -    _message "Generating ${tombfile} of ${tombsize}Mb (${tombsize_4k} blocks of 4Kb)"
       +    _message "Generating ${tombfile} of ${tombsize}MiB"
            # we will first touch the file and set permissions: this way, even if interrupted, permissions are right
            touch ${tombdir}/${tombfile}
            chmod 0600 "${tombdir}/${tombfile}"
            chown $_uid:$_gid "${tombdir}/${tombfile}"
       -    $DD if=/dev/urandom bs=4k count=${tombsize_4k} of=${tombdir}/${tombfile}
       +
       +    xxx "Data dump using ${DD[1]} from /dev/urandom"
       +    ${=DD} if=/dev/urandom bs=1048576 count=${tombsize} of=${tombdir}/${tombfile}
        
            if [ $? = 0 -a -e ${tombdir}/${tombfile} ]; then
                _message " `ls -lh ${tombdir}/${tombfile}`"
       t@@ -1670,11 +1672,10 @@ resize_tomb() {
        
            local delta=`expr $newtombsize \- $oldtombsize`
        
       -    local tombsize_4k=`expr $delta \/ 1024`
       -    tombsize_4k=`expr $tombsize_4k \/ 4 `
       +    act "Generating ${tombfile} of ${newtombsize}MiB"
        
       -    act "Generating ${tombfile} of ${newtombsize}Mb (${tombsize_4k} blocks of 4Kb)"
       -    "$DD" if=/dev/urandom bs=4k count=${tombsize_4k} of="${tmp_resize}"
       +    xxx "Data dump using ${DD[1]} from /dev/urandom"
       +    ${=DD} if=/dev/urandom bs=1048576 count=${tombsize} of="${tmp_resize}"
        
            if [ $? = 0 -a -e "${tmp_resize}" ]; then
                xxx "OK: `ls -lh ${tmp_resize}`"