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" \
Please run 'monkeysphere-host import-key...' first."
}
-# output the index of a user ID on the host key
-# return 1 if user ID not found
+# return 0 if user ID was found.
+# return 1 if user ID not found.
find_host_userid() {
local userID="$1"
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="uid:-:$(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: | \
- grep -n -x -F "$tmpuidMatch" 2>/dev/null)
-
- if [ "$line" ] ; then
- echo ${line%%:*}
- return 0
- else
- return 1
- fi
+ # See whether the requsted user ID is present
+ gpg_host_list | cut -f1,2,10 -d: | \
+ grep -q -x -F "$tmpuidMatch" 2>/dev/null
}
# show info about the host key
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
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"
-[ "$COMMAND" ] || failure "Type '$PGRM help' for usage."
+[ "$COMMAND" ] || $PGRM help
shift
case $COMMAND in
;;
'diagnostics'|'d')
- load_fingerprint
source "${MHSHAREDIR}/diagnostics"
diagnostics
;;