Check for a host key before running monkeysphere-host diagnostics
[monkeysphere.git] / src / monkeysphere-host
index 9e4a8c4e4723ac891bc2e5cbbbe5b808b5e29f1c..d49806560a64b5af26111914bb834fb76dbcc36d 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
@@ -57,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
 
@@ -102,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" \
@@ -225,10 +226,12 @@ LOG_LEVEL=${MONKEYSPHERE_LOG_LEVEL:=$LOG_LEVEL}
 KEYSERVER=${MONKEYSPHERE_KEYSERVER:=$KEYSERVER}
 CHECK_KEYSERVER=${MONKEYSPHERE_CHECK_KEYSERVER:=$CHECK_KEYSERVER}
 MONKEYSPHERE_USER=${MONKEYSPHERE_MONKEYSPHERE_USER:=$MONKEYSPHERE_USER}
+MONKEYSPHERE_GROUP=$(get_primary_group "$MONKEYSPHERE_USER")
 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
@@ -236,10 +239,12 @@ export LOG_LEVEL
 export KEYSERVER
 export CHECK_KEYSERVER
 export MONKEYSPHERE_USER
+export MONKEYSPHERE_GROUP
 export PROMPT
 export GNUPGHOME_HOST
 export GNUPGHOME
 export HOST_FINGERPRINT
+export LOG_PREFIX
 
 # get subcommand
 COMMAND="$1"
@@ -301,6 +306,7 @@ case $COMMAND in
        ;;
 
     'diagnostics'|'d')
+       check_host_no_key
        load_fingerprint
        source "${MHSHAREDIR}/diagnostics"
        diagnostics