X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fshare%2Fmh%2Fpublish_key;h=ab1b2dc055d3dfbafc01b5dd6d4ec2ef4e2f795e;hb=134b8c66bec679556bec90c4eef937d464a7950e;hp=b7ab01d8a247b1e114d50b3fda15e591e2029e86;hpb=bd249afe1f74e2dfc451f73a261d0dfb4a8b58ca;p=monkeysphere.git diff --git a/src/share/mh/publish_key b/src/share/mh/publish_key index b7ab01d..ab1b2dc 100644 --- a/src/share/mh/publish_key +++ b/src/share/mh/publish_key @@ -15,17 +15,35 @@ publish_key() { -read -p "Really publish host key to $KEYSERVER? (y/N) " OK; OK=${OK:=N} -if [ ${OK/y/Y} != 'Y' ] ; then - failure "key not published." +local GNUPGHOME + +if [ "$PROMPT" = "true" ] ; then + read -p "Really publish host key to $KEYSERVER? (Y/n) " OK; OK=${OK:=Y} + if [ "${OK/y/Y}" != 'Y' ] ; then + failure "key not published." + fi +else + log debug "publishing key without prompting." fi -# find the key fingerprint -fingerprint=$(fingerprint_server_key) +# create a temporary gnupg directory from which to publish the key +export GNUPGHOME=$(msmktempdir) +chmod 0700 "$GNUPGHOME" +chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_GROUP" "$GNUPGHOME" + +# trap to remove tmp dir if break +trap "rm -rf $GNUPGHOME" EXIT + +# import the host key into the tmp dir +su_monkeysphere_user \ + "gpg --quiet --import" <"$HOST_KEY_FILE" # publish host key -# FIXME: need to define how to do this -#gpg_authentication "--keyserver $KEYSERVER --send-keys '0x${fingerprint}!'" -echo "not published!!!" +su_monkeysphere_user \ + "gpg --keyserver $KEYSERVER --send-keys '0x${HOST_FINGERPRINT}!'" + +# remove the tmp file +trap - EXIT +rm -rf "$GNUPGHOME" }