X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fshare%2Fm%2Fgen_subkey;h=a90c6187e2ec69757f51261fc640b244690492a3;hb=7aa9067b4694d42b3b7a63a65ea70b74fed5b363;hp=a0fa3ce77228b5f6b7efc876ccf3a22098a2d38c;hpb=abd2c7a17b57d7b802353c851c2150b07824a3a5;p=monkeysphere.git diff --git a/src/share/m/gen_subkey b/src/share/m/gen_subkey index a0fa3ce..a90c618 100644 --- a/src/share/m/gen_subkey +++ b/src/share/m/gen_subkey @@ -45,7 +45,7 @@ Type '$PGRM help' for usage." # generate the list of commands that will be passed to edit-key editCommands="addkey -7 +8 S E A @@ -57,14 +57,16 @@ save" # setup the temp fifo dir for retrieving the key password log debug "creating password fifo..." fifoDir=$(msmktempdir) - trap "rm -rf $fifoDir" EXIT (umask 077 && mkfifo "$fifoDir/pass") - log verbose "generating subkey..." + # FIXME: are we adequately cleaning up any trailing gpg process here? + trap "rm -rf $fifoDir; kill %% || true" EXIT echo "$editCommands" | gpg_user --passphrase-fd 3 3< "$fifoDir/pass" --expert --command-fd 0 --edit-key "$keyID" & + log debug "Prompting for passphrase" # FIXME: this needs to fail more gracefully if the passphrase is incorrect passphrase_prompt "Please enter your passphrase for $keyID: " "$fifoDir/pass" + log info "Generating subkey. This may take a long time..." trap - EXIT rm -rf "$fifoDir"