turn subcommands into subfunctions, that will need to be sourced and executed.
authorJameson Graef Rollins <jrollins@finestructure.net>
Sat, 31 Jan 2009 23:04:21 +0000 (18:04 -0500)
committerJameson Graef Rollins <jrollins@finestructure.net>
Sat, 31 Jan 2009 23:04:21 +0000 (18:04 -0500)
src/monkeysphere-host
src/subcommands/mh/add-hostname
src/subcommands/mh/add-revoker
src/subcommands/mh/diagnostics
src/subcommands/mh/extend-key
src/subcommands/mh/gen-key
src/subcommands/mh/import-key
src/subcommands/mh/publish-key
src/subcommands/mh/revoke-hostname
src/subcommands/mh/revoke-key
src/subcommands/mh/show-key [deleted file]

index 5c97aa671887eaeb45579345b699ae1ad14c34c5..7ba070020025a51b0467ed5bbc1376ac6e7cf172 100755 (executable)
@@ -131,6 +131,35 @@ check_host_keyring() {
        || failure "You don't appear to have a Monkeysphere host key on this server.  Please run 'monkeysphere-server gen-key' first."
 }
 
+# show info about the host key
+show_key() {
+    local fingerprintPGP
+    local fingerprintSSH
+    local ret=0
+
+    # FIXME: you shouldn't have to be root to see the host key fingerprint
+    if is_root ; then
+       check_host_keyring
+       fingerprintPGP=$(fingerprint_server_key)
+       gpg_authentication "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null
+       echo "OpenPGP fingerprint: $fingerprintPGP"
+    else
+       log info "You must be root to see host OpenPGP fingerprint."
+       ret='1'
+    fi
+
+    if [ -f "${SYSDATADIR}/ssh_host_rsa_key.pub" ] ; then
+       fingerprintSSH=$(ssh-keygen -l -f "${SYSDATADIR}/ssh_host_rsa_key.pub" | \
+           awk '{ print $1, $2, $4 }')
+       echo "ssh fingerprint: $fingerprintSSH"
+    else
+       log info "SSH host key not found."
+       ret='1'
+    fi
+
+return $ret
+}
+
 ########################################################################
 # MAIN
 ########################################################################
index fc1ae9665ec76745ffed24900e72bea31e8e12fb..7726a298384d2ff6842ac0945391ef050e428bb6 100755 (executable)
@@ -12,6 +12,8 @@
 
 # add hostname user ID to server key
 
+add_hostname() {
+
 local userID
 local fingerprint
 local tmpuidMatch
@@ -61,7 +63,7 @@ if echo "$adduidCommand" | \
     # update the trustdb for the authentication keyring
     gpg_authentication "--check-trustdb"
 
-    show_server_key
+    show_key
 
     echo
     echo "NOTE: User ID added to key, but key not published."
@@ -69,3 +71,5 @@ if echo "$adduidCommand" | \
 else
     failure "Problem adding user ID."
 fi
+
+}
index 8783cd14debdd32ace171204547b7ffdef270c99..8c4651e5593b65e0ecab441c8dae708a8d4df801 100755 (executable)
@@ -12,5 +12,9 @@
 
 # add a revoker to the host key
 
+add_revoker() {
+
 # FIXME: implement!
 failure "not implemented yet!"
+
+}
index f411e06bef57beef29957ecc5c3a6dda0f580091..5b04b14d2d7f63de216b73a04316243b89fa0c7e 100755 (executable)
 # They are Copyright 2008, and are all released under the GPL, version 3
 # or later.
 
-#  * check on the status and validity of the key and public certificates
+# check on the status and validity of the key and public certificates
+
+diagnostics() {
+
 local seckey
 local keysfound
 local curdate
@@ -177,3 +180,5 @@ if [ "$problemsfound" -gt 0 ]; then
 else
     echo "Everything seems to be in order!"
 fi
+
+}
index 755fe13f19e74cb86c784213c456977ae933ca01..8f1ecc29508af0accb014490b1b162410e1e64e9 100755 (executable)
@@ -12,6 +12,8 @@
 
 # extend the lifetime of a host key:
 
+extend_key() {
+
 local fpr=$(fingerprint_server_key)
 local extendTo="$1"
 
@@ -27,3 +29,5 @@ EOF
 echo
 echo "NOTE: Host key expiration date adjusted, but not yet published."
 echo "Run '$PGRM publish-key' to publish the new expiration date."
+
+}
index 37469c712857683e52bfe4dec01255f52c321be3..da2e40d3f84b43250ef0f482101aff40869d14de 100755 (executable)
@@ -115,4 +115,4 @@ gpg_authentication "--export-options export-minimal --armor --export 0x${fingerp
 log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
 
 # show info about new key
-show_server_key
+show_key
index c33550b08f05ecef4b347c5a4d823728ebb93fb0..d60e982c38a047852b3c4b51620f888674a838c7 100755 (executable)
@@ -82,4 +82,4 @@ gpg_authentication "--export-options export-minimal --armor --export 0x${fingerp
 log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
 
 # show info about new key
-show_server_key
+show_key
index 792d858796795d1103327262368ab561e3e1e53b..8b36a18a39f21964dac7c87a58dfecd8f679756a 100755 (executable)
@@ -12,6 +12,8 @@
 
 # publish server key to keyserver
 
+publish_key() {
+
 read -p "Really publish host key to $KEYSERVER? (y/N) " OK; OK=${OK:=N}
 if [ ${OK/y/Y} != 'Y' ] ; then
     failure "key not published."
@@ -22,3 +24,5 @@ fingerprint=$(fingerprint_server_key)
 
 # publish host key
 gpg_authentication "--keyserver $KEYSERVER --send-keys '0x${fingerprint}!'"
+
+}
index decac8692f5bb7cd92a67d970e6b3bdda2ba3d27..0a773a31a6de9b1f41562a6b4493b56c419e9ad4 100755 (executable)
@@ -12,6 +12,8 @@
 
 # revoke hostname user ID from host key
 
+revoke_hostname() {
+
 local userID
 local fingerprint
 local tmpuidMatch
@@ -79,7 +81,7 @@ if echo "$revuidCommand" | \
     # update the trustdb for the authentication keyring
     gpg_authentication "--check-trustdb"
 
-    show_server_key
+    show_key
 
     echo
     echo "NOTE: User ID revoked, but revocation not published."
@@ -87,3 +89,5 @@ if echo "$revuidCommand" | \
 else
     failure "Problem revoking user ID."
 fi
+
+}
index b4ce40115388536b6eb65f4f2e2776f2a1d3fce2..3810a0b89b97ec4b2468510ca4d5c6ad54a701a1 100755 (executable)
@@ -12,5 +12,9 @@
 
 # revoke host key
 
+revoke_key() {
+
 # FIXME: implement!
 failure "not implemented yet!"
+
+}
diff --git a/src/subcommands/mh/show-key b/src/subcommands/mh/show-key
deleted file mode 100755 (executable)
index c62ec16..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env bash
-
-# Monkeysphere host show-key subcommand
-#
-# The monkeysphere scripts are written by:
-# Jameson Rollins <jrollins@fifthhorseman.net>
-# Jamie McClelland <jm@mayfirst.org>
-# Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-#
-# They are Copyright 2008, and are all released under the GPL, version 3
-# or later.
-
-local fingerprintPGP
-local fingerprintSSH
-local ret=0
-
-# FIXME: you shouldn't have to be root to see the host key fingerprint
-if is_root ; then
-    check_host_keyring
-    fingerprintPGP=$(fingerprint_server_key)
-    gpg_authentication "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null
-    echo "OpenPGP fingerprint: $fingerprintPGP"
-else
-    log info "You must be root to see host OpenPGP fingerprint."
-    ret='1'
-fi
-
-if [ -f "${SYSDATADIR}/ssh_host_rsa_key.pub" ] ; then
-    fingerprintSSH=$(ssh-keygen -l -f "${SYSDATADIR}/ssh_host_rsa_key.pub" | \
-       awk '{ print $1, $2, $4 }')
-    echo "ssh fingerprint: $fingerprintSSH"
-else
-    log info "SSH host key not found."
-    ret='1'
-fi
-
-return $ret