blob: f1c17234f819477b74e272bb1c37fac493b4e6b7 (
plain)
- # -*-shell-script-*-
- # This should be sourced by bash (though we welcome changes to make it POSIX sh compliant)
- # Monkeysphere host publish-key subcommand
- #
- # The monkeysphere scripts are written by:
- # Jameson Rollins <jrollins@finestructure.net>
- # Jamie McClelland <jm@mayfirst.org>
- # Daniel Kahn Gillmor <dkg@fifthhorseman.net>
- #
- # They are Copyright 2008-2010, and are all released under the GPL,
- # version 3 or later.
- # publish keys to keyserver
- publish_key() {
- local keyID="$1"
- local GNUPGHOME
- if [ "$PROMPT" != "false" ] ; then
- printf "Really publish key '$keyID' to $KEYSERVER? (Y/n) " >&2
- read OK; OK=${OK:=Y}
- if [ "${OK/y/Y}" != 'Y' ] ; then
- failure "key not published."
- fi
- else
- log debug "publishing key '$keyID' without prompting."
- fi
- # 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 key into the tmp dir
- su_monkeysphere_user \
- "gpg --quiet --import" <"$HOST_KEY_FILE"
- # publish key
- su_monkeysphere_user \
- "gpg --keyserver $KEYSERVER --send-keys '0x${keyID}!'"
- # remove the tmp file
- trap - EXIT
- rm -rf "$GNUPGHOME"
- }
|