URI: 
       tforge and create refuse to overwrite existing files - tomb - the crypto undertaker
  HTML git clone git://parazyd.org/tomb.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 61362ce34e757beadd43468ef279d8b2e0dddc56
   DIR parent 28a52f5851babd78278bb63043884364ee65780a
  HTML Author: Jaromil <jaromil@dyne.org>
       Date:   Tue, 11 Jun 2013 23:37:20 +0200
       
       forge and create refuse to overwrite existing files
       
       Diffstat:
         M tomb                                |      18 +++++++++++++-----
       
       1 file changed, 13 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/tomb b/tomb
       t@@ -465,7 +465,7 @@ load_key() {
                    tombfile=`basename $tombkey`
                fi
            fi
       -    
       +
            tombkey=${tombdir}/${tombfile}
        
            xxx "load_key: `ls -lh ${tombkey}`"
       t@@ -865,10 +865,13 @@ print "-----END PGP MESSAGE-----"
        forge_key() {
            _message "Commanded to forge key $1"
        
       -    if ! [ $1 ]; then
       -          _warning "no key name specified for creation"
       -        return 1
       -    fi
       +    { test "$1" = "" } && {
       +        _warning "no key name specified for creation"
       +        return 1 }
       +
       +    { test -r "$1" } && {
       +        _warning "Forging this key would overwrite an existing file. Operation aborted."
       +        die "`ls -lh $1`"    }
        
            # if swap is on, we remind the user about possible data leaks to disk
            if ! option_is_set -f && ! option_is_set --ignore-swap; then check_swap; fi
       t@@ -1117,6 +1120,11 @@ create_tomb() {
                return 1
            fi
        
       +
       +    { test -r "$1" } && {
       +        _warning "Creating this tomb would overwrite an existing file. Operation aborted."
       +        die "`ls -lh $1`"    }
       +
            dig_tomb ${=PARAM}
            { test $? = 0 } || { die "Failed to dig tomb, operation aborted." }