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" \
local tmpuidMatch
local line
- # match to only ultimately trusted user IDs
- tmpuidMatch="u:$(echo $userID | gpg_escape)"
+ # match to only "unknown" user IDs (host has no need for ultimate trust)
+ tmpuidMatch="-:$(echo $userID | gpg_escape)"
# find the index of the requsted user ID
# NOTE: this is based on circumstantial evidence that the order of
# this output is the appropriate index
- line=$(gpg_host_list | egrep '^(uid|uat):' | cut -f2,10 -d: | \
+ line=$(gpg_host_list | egrep '^uid:' | cut -f2,10 -d: | \
grep -n -x -F "$tmpuidMatch" 2>/dev/null)
if [ "$line" ] ; then
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
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"
;;
'diagnostics'|'d')
+ check_host_no_key
load_fingerprint
source "${MHSHAREDIR}/diagnostics"
diagnostics