X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/distorted-keys/blobdiff_plain/c47f2aba7d705252c660ba1ad0931fbb93122d80..d8dbaabf98da677733cd2b316cbf629e99d7e4ed:/keys.new-keeper diff --git a/keys.new-keeper b/keys.new-keeper index 45764bd..69b18a0 100755 --- a/keys.new-keeper +++ b/keys.new-keeper @@ -28,19 +28,19 @@ case "${KEYSLIB+t}" in t) ;; *) echo >&2 "$0: KEYSLIB unset"; exit 1 ;; esac . "$KEYSLIB"/keyfunc.sh defhelp <&2 "$0: keeper set \`$keeper' already exists" - exit 1 -fi -if [ -e $keeper ]; then - echo >&2 "$0: destination \`$keeper' already exists" - exit 1 -fi +reqsafe +case $force in + nil) + if [ -e $KEYS/keeper/$keeper ]; then + echo >&2 "$quis: keeper set \`$keeper' already exists" + exit 1 + fi + if [ -e $SAFE/keys.keeper/$keeper ]; then + echo >&2 "$quis: destination \`$keeper' already exists" + exit 1 + fi + ;; + t) + rm -rf $KEYS/keeper/$keeper + rm -rf $SAFE/keys.keeper/$keeper/ + ;; +esac ## Generate the private keys, one per file, and compute the public keys. mktmp +mkdir -m700 -p $SAFE/keys.keeper/ +cd $SAFE/keys.keeper/ rm -rf $keeper.new mkdir -m700 $keeper.new mkdir -p -m755 $KEYS/keeper/$keeper.new