summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJameson Graef Rollins <jrollins@finestructure.net>2009-01-31 18:04:21 -0500
committerJameson Graef Rollins <jrollins@finestructure.net>2009-01-31 18:04:21 -0500
commita0747749cbc7445e0cadaf0fbf1c92a2e86d1369 (patch)
tree01458632e6e699507b6a0889f2557726208c320e /src
parent968627c7003d059e63ae455d91e1ada4143c8810 (diff)
turn subcommands into subfunctions, that will need to be sourced and executed.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/monkeysphere-host29
-rwxr-xr-xsrc/subcommands/mh/add-hostname6
-rwxr-xr-xsrc/subcommands/mh/add-revoker4
-rwxr-xr-xsrc/subcommands/mh/diagnostics7
-rwxr-xr-xsrc/subcommands/mh/extend-key4
-rwxr-xr-xsrc/subcommands/mh/gen-key2
-rwxr-xr-xsrc/subcommands/mh/import-key2
-rwxr-xr-xsrc/subcommands/mh/publish-key4
-rwxr-xr-xsrc/subcommands/mh/revoke-hostname6
-rwxr-xr-xsrc/subcommands/mh/revoke-key4
-rwxr-xr-xsrc/subcommands/mh/show-key37
11 files changed, 63 insertions, 42 deletions
diff --git a/src/monkeysphere-host b/src/monkeysphere-host
index 5c97aa6..7ba0700 100755
--- a/src/monkeysphere-host
+++ b/src/monkeysphere-host
@@ -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
########################################################################
diff --git a/src/subcommands/mh/add-hostname b/src/subcommands/mh/add-hostname
index fc1ae96..7726a29 100755
--- a/src/subcommands/mh/add-hostname
+++ b/src/subcommands/mh/add-hostname
@@ -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
+
+}
diff --git a/src/subcommands/mh/add-revoker b/src/subcommands/mh/add-revoker
index 8783cd1..8c4651e 100755
--- a/src/subcommands/mh/add-revoker
+++ b/src/subcommands/mh/add-revoker
@@ -12,5 +12,9 @@
# add a revoker to the host key
+add_revoker() {
+
# FIXME: implement!
failure "not implemented yet!"
+
+}
diff --git a/src/subcommands/mh/diagnostics b/src/subcommands/mh/diagnostics
index f411e06..5b04b14 100755
--- a/src/subcommands/mh/diagnostics
+++ b/src/subcommands/mh/diagnostics
@@ -10,7 +10,10 @@
# 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
+
+}
diff --git a/src/subcommands/mh/extend-key b/src/subcommands/mh/extend-key
index 755fe13..8f1ecc2 100755
--- a/src/subcommands/mh/extend-key
+++ b/src/subcommands/mh/extend-key
@@ -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."
+
+}
diff --git a/src/subcommands/mh/gen-key b/src/subcommands/mh/gen-key
index 37469c7..da2e40d 100755
--- a/src/subcommands/mh/gen-key
+++ b/src/subcommands/mh/gen-key
@@ -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
diff --git a/src/subcommands/mh/import-key b/src/subcommands/mh/import-key
index c33550b..d60e982 100755
--- a/src/subcommands/mh/import-key
+++ b/src/subcommands/mh/import-key
@@ -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
diff --git a/src/subcommands/mh/publish-key b/src/subcommands/mh/publish-key
index 792d858..8b36a18 100755
--- a/src/subcommands/mh/publish-key
+++ b/src/subcommands/mh/publish-key
@@ -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}!'"
+
+}
diff --git a/src/subcommands/mh/revoke-hostname b/src/subcommands/mh/revoke-hostname
index decac86..0a773a3 100755
--- a/src/subcommands/mh/revoke-hostname
+++ b/src/subcommands/mh/revoke-hostname
@@ -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
+
+}
diff --git a/src/subcommands/mh/revoke-key b/src/subcommands/mh/revoke-key
index b4ce401..3810a0b 100755
--- a/src/subcommands/mh/revoke-key
+++ b/src/subcommands/mh/revoke-key
@@ -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
index c62ec16..0000000
--- a/src/subcommands/mh/show-key
+++ /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