X-Git-Url: https://git.distorted.org.uk/~mdw/distorted-keys/blobdiff_plain/f012ad83100add4822bfa4e7017673beae6ebf17..d516ebd0d3928deae4cf80a113d6ccf1f666bfe6:/keys.new-keeper diff --git a/keys.new-keeper b/keys.new-keeper index 45764bd..2ccd7ee 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 "$0: keeper set \`$keeper' already exists" + exit 1 + fi + if [ -e $SAFE/keys.keeper/$keeper ]; then + echo >&2 "$0: 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 $SAFE/keys.keeper/ +cd $SAFE/keys.keeper/ rm -rf $keeper.new mkdir -m700 $keeper.new mkdir -p -m755 $KEYS/keeper/$keeper.new