improvements monkeysphere-host diagnostics
authorJameson Graef Rollins <jrollins@finestructure.net>
Wed, 15 Jul 2009 02:07:30 +0000 (22:07 -0400)
committerJameson Graef Rollins <jrollins@finestructure.net>
Wed, 15 Jul 2009 02:07:30 +0000 (22:07 -0400)
I made a couple of improvements to the mh diagnostics script,
including rearranging some of the test, to try to better handle some
of the possible low-level failures that one might run into.  Hopefully
this will be a little more informative.  closes MS #624.

src/monkeysphere-host
src/share/mh/diagnostics

index 9dcd331d51c41c4577e17a919c36821e35faf638..4ec533d5e5ff92dd9733ac3a4f4b339e0cf65333 100755 (executable)
@@ -296,8 +296,6 @@ case $COMMAND in
        ;;
 
     'diagnostics'|'d')
-       check_host_no_key
-       load_fingerprint
        source "${MHSHAREDIR}/diagnostics"
        diagnostics
        ;;
index 37460203b9056e490089a357d300882d03fdf339..b92d729989cc8738d2b72c9719b546fff8ad497d 100644 (file)
@@ -27,7 +27,19 @@ local fingerprint
 local badhostkeys
 local problemsfound=0
 
-report_cruft
+if ! [ -d "$SYSDATADIR" ] ; then
+    echo "! no $SYSDATADIR directory found.  Please create it."
+    exit
+fi
+
+if ! [ -f "$HOST_KEY_FILE" ] ; then
+    echo "No host key gpg pub file found!"
+    echo " - Recommendation: run 'monkeysphere-host import-key'"
+    exit
+fi
+
+# load the host key fingerprint
+load_fingerprint
 
 seckey=$(gpg_host --list-secret-keys --fingerprint --with-colons --fixed-list-mode)
 keysfound=$(echo "$seckey" | grep -c ^sec:)
@@ -41,15 +53,10 @@ if ! id monkeysphere >/dev/null ; then
     problemsfound=$(($problemsfound+1))
 fi
 
-if ! [ -d "$SYSDATADIR" ] ; then
-    echo "! no $SYSDATADIR directory found.  Please create it."
-    problemsfound=$(($problemsfound+1))
-fi
-
 echo "Checking host GPG key..."
 if (( "$keysfound" < 1 )); then
-    echo "! No host key found."
-    echo " - Recommendation: run 'monkeysphere-host import-key'"
+    echo "! No host key found.  The monkeysphere-host data directory is corrupt?!?!"
+    echo " - Recommendation: purge the MHDATADIR ($MHDATADIR) and rerun 'monkeysphere-host import-key'"
     problemsfound=$(($problemsfound+1))
 elif (( "$keysfound" > 1 )); then
     echo "! More than one host key found?"
@@ -122,6 +129,8 @@ fi
 #    directories housing them, etc (what should those values be?  can
 #    we make them as minimal as possible?)
 
+# report on any cruft from old monkeysphere version
+report_cruft
 
 if [ "$problemsfound" -gt 0 ]; then
     echo "When the above $problemsfound issue"$(if [ "$problemsfound" -eq 1 ] ; then echo " is" ; else echo "s are" ; fi)" resolved, please re-run:"