merging changes from micah
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Sat, 31 Jan 2009 22:47:25 +0000 (17:47 -0500)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Sat, 31 Jan 2009 22:47:25 +0000 (17:47 -0500)
man/man1/monkeysphere-ssh-proxycommand.1
src/monkeysphere-host
tests/basic

index 1606a5d2c318cece3d072a32d91c273c22dff33e..65edd0be528a0a41546fe7eb52669576c18f28ba 100644 (file)
@@ -6,7 +6,7 @@ monkeysphere-ssh-proxycommand \- MonkeySphere ssh ProxyCommand script
 
 .SH DESCRIPTION
 
-\fBmonkeysphere-ssh-proxy\fP is an ssh proxy command that can be used
+\fBmonkeysphere-ssh-proxycommand\fP is an ssh proxy command that can be used
 to trigger a monkeysphere update of the ssh known_hosts file for a
 host that is being connected to with ssh.  This works by updating the
 known_hosts file for the host first, before an attempted connection to
index 9eed3acb61382f6177e0afae7e496f0e71ebb7eb..bf586169bf5a259199e5b3ddd657e9db6c664e66 100755 (executable)
@@ -105,16 +105,6 @@ gpg_host() {
     return "$returnCode"
 }
 
-# check if user is root
-is_root() {
-    [ $(id -u 2>/dev/null) = '0' ]
-}
-
-# check that user is root, for functions that require root access
-check_user() {
-    is_root || failure "You must be root to run this command."
-}
-
 # output just key fingerprint
 fingerprint_server_key() {
     # set the pipefail option so functions fails if can't read sec key
@@ -138,14 +128,14 @@ show_server_key() {
     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
+    check_host_keyring
+    fingerprintPGP=$(fingerprint_server_key)
+    gpg_authentication "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null
+    if [ $? -ne 0 ] ; then
        log info "You must be root to see host OpenPGP fingerprint."
        ret='1'
+    else
+       echo "OpenPGP fingerprint: $fingerprintPGP"
     fi
 
     if [ -f "${SYSDATADIR}/ssh_host_rsa_key.pub" ] ; then
@@ -257,10 +247,6 @@ gen_key() {
     # get options
     while true ; do
        case "$1" in
-           -h|--hostname)
-               hostName="$2"
-               shift 2
-               ;;
            -l|--length)
                keyLength="$2"
                shift 2
@@ -278,6 +264,7 @@ gen_key() {
                    failure "Unknown option '$1'.
 Type '$PGRM help' for usage."
                fi
+               hostName="$1"
                break
                ;;
        esac
@@ -752,37 +739,31 @@ case $COMMAND in
        ;;
 
     'extend-key'|'e')
-       check_user
        check_host_keyring
        extend_key "$@"
        ;;
 
     'add-hostname'|'add-name'|'n+')
-       check_user
        check_host_keyring
        add_hostname "$@"
        ;;
 
     'revoke-hostname'|'revoke-name'|'n-')
-       check_user
        check_host_keyring
        revoke_hostname "$@"
        ;;
 
     'add-revoker'|'o')
-       check_user
        check_host_keyring
        add_revoker "$@"
        ;;
 
     'revoke-key'|'r')
-       check_user
        check_host_keyring
        revoke_key "$@"
        ;;
 
     'publish-key'|'publish'|'p')
-       check_user
        check_host_keyring
        publish_server_key
        ;;
index 5ba7a250b948affc504378ee09f2dce4ba79d76f..7fdca39e308037506e073b4603a6ecede1da751f 100755 (executable)
@@ -8,8 +8,7 @@
 # Copyright: 2008
 # License: GPL v3 or later
 
-# these tests should all be able to
-# as a non-privileged user.
+# these tests should all be able to run as a non-privileged user.
 
 # all subcommands in this script should complete without failure:
 set -e
@@ -193,7 +192,7 @@ echo | monkeysphere-server gen-key --length 1024 --expire 0 testhost
 # remove the gpg.conf
 rm "$MONKEYSPHERE_SYSCONFIGDIR"/gnupg-host/gpg.conf
 
-HOSTKEYID=$( monkeysphere-server show-key | tail -n1 | cut -f3 -d\  )
+HOSTKEYID=$( monkeysphere-server show-key | grep '^OpenPGP fingerprint: ' | cut -f3 -d\  )
 
 # certify it with the "Admin's Key".
 # (this would normally be done via keyservers)