Merge commit 'jrollins/master'
[monkeysphere.git] / src / monkeysphere-host
index fc3b607b02f82c3c53f59a1aafdbfe7932833b39..507b47f8f73eabfd6a62e7d9feaf4d53d12bca84 100755 (executable)
@@ -21,7 +21,8 @@ PGRM=$(basename $0)
 
 SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"}
 export SYSSHAREDIR
-. "${SYSSHAREDIR}/common" || exit 1
+. "${SYSSHAREDIR}/defaultenv"
+. "${SYSSHAREDIR}/common"
 
 SYSDATADIR=${MONKEYSPHERE_SYSDATADIR:-"/var/lib/monkeysphere"}
 export SYSDATADIR
@@ -41,9 +42,6 @@ DATE=$(date -u '+%FT%T')
 # unset some environment variables that could screw things up
 unset GREP_OPTIONS
 
-# default return code
-RETURN=0
-
 ########################################################################
 # FUNCTIONS
 ########################################################################
@@ -60,7 +58,7 @@ subcommands:
  set-expire (e) [EXPIRE]             set host key expiration
  add-hostname (n+) NAME[:PORT]       add hostname user ID to host key
  revoke-hostname (n-) NAME[:PORT]    revoke hostname user ID
- add-revoker (r+) [KEYID|FILE]        add a revoker to the host key
+ add-revoker (r+) KEYID|FILE         add a revoker to the host key
  revoke-key                          generate and/or publish revocation
                                      certificate for host key
 
@@ -105,7 +103,7 @@ update_gpg_pub_file() {
 load_fingerprint() {
     if [ -f "$HOST_KEY_FILE" ] ; then
        HOST_FINGERPRINT=$( \
-           (FUBAR=$(mktemp -d) && export GNUPGHOME="$FUBAR" \
+           (FUBAR=$(msmktempdir) && export GNUPGHOME="$FUBAR" \
            && gpg --quiet --import \
            && gpg --quiet --list-keys --with-colons --with-fingerprint \
            && rm -rf "$FUBAR") <"$HOST_KEY_FILE" \
@@ -177,7 +175,7 @@ show_key() {
 
     # create the ssh key
     TMPSSH="$GNUPGHOME"/ssh_host_key_rsa_pub
-    openpgp2ssh <"$HOST_KEY_FILE" 2>/dev/null >"$TMPSSH"
+    gpg --export | openpgp2ssh 2>/dev/null >"$TMPSSH"
 
     # get the gpg fingerprint
     HOST_FINGERPRINT=$(gpg --quiet --list-keys --with-colons --with-fingerprint \
@@ -193,7 +191,7 @@ show_key() {
 
     # list revokers, if there are any
     revokers=$(gpg --list-keys --with-colons --fixed-list-mode \
-       | grep '^rvk:' | cut -d: -f10) || true
+       | awk -F: '/^rvk:/{ print $10 }' )
     if [ "$revokers" ] ; then
        echo "The following keys are allowed to revoke this host key:"
        for key in $revokers ; do
@@ -232,6 +230,7 @@ PROMPT=${MONKEYSPHERE_PROMPT:=$PROMPT}
 
 # other variables
 GNUPGHOME_HOST=${MONKEYSPHERE_GNUPGHOME_HOST:="${MHDATADIR}"}
+LOG_PREFIX=${MONKEYSPHERE_LOG_PREFIX:='ms: '}
 
 # export variables needed in su invocation
 export DATE
@@ -243,6 +242,7 @@ export PROMPT
 export GNUPGHOME_HOST
 export GNUPGHOME
 export HOST_FINGERPRINT
+export LOG_PREFIX
 
 # get subcommand
 COMMAND="$1"
@@ -315,7 +315,7 @@ case $COMMAND in
        ;;
 
     'version'|'v')
-       echo "$VERSION"
+       version
        ;;
 
     '--help'|'help'|'-h'|'h'|'?')
@@ -327,5 +327,3 @@ case $COMMAND in
 Type '$PGRM help' for usage."
         ;;
 esac
-
-exit "$RETURN"