blob: 48e4cbb16169222895fb0902aa171a8647c17879 (
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-2009, and are all released under the GPL, version 3
- # or later.
- # publish server key to keyserver
- publish_key() {
- local GNUPGHOME
- if [ "$PROMPT" = "true" ] ; then
- printf "Really publish host key 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 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 host key into the tmp dir
- su_monkeysphere_user \
- "gpg --quiet --import" <"$HOST_KEY_FILE"
- # publish host key
- su_monkeysphere_user \
- "gpg --keyserver $KEYSERVER --send-keys '0x${HOST_FINGERPRINT}!'"
- # remove the tmp file
- trap - EXIT
- rm -rf "$GNUPGHOME"
- }
|