summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/monkeysphere7
-rwxr-xr-xsrc/monkeysphere-authentication18
-rwxr-xr-xsrc/monkeysphere-host52
-rw-r--r--src/share/common (renamed from src/common)6
-rw-r--r--src/share/m/gen_subkey (renamed from src/subcommands/m/gen_subkey)0
-rw-r--r--src/share/m/import_subkey (renamed from src/subcommands/m/import_subkey)0
-rw-r--r--src/share/m/ssh_proxycommand (renamed from src/subcommands/m/ssh_proxycommand)25
-rw-r--r--src/share/m/subkey_to_ssh_agent (renamed from src/subcommands/m/subkey_to_ssh_agent)3
-rw-r--r--src/share/ma/add_certifier (renamed from src/subcommands/ma/add_certifier)0
-rw-r--r--src/share/ma/diagnostics (renamed from src/subcommands/ma/diagnostics)0
-rw-r--r--src/share/ma/list_certifiers (renamed from src/subcommands/ma/list_certifiers)0
-rw-r--r--src/share/ma/remove_certifier (renamed from src/subcommands/ma/remove_certifier)0
-rw-r--r--src/share/ma/update_users (renamed from src/subcommands/ma/update_users)0
-rw-r--r--src/share/mh/add_hostname (renamed from src/subcommands/mh/add_hostname)0
-rw-r--r--src/share/mh/add_revoker (renamed from src/subcommands/mh/add_revoker)0
-rw-r--r--src/share/mh/diagnostics (renamed from src/subcommands/mh/diagnostics)0
-rw-r--r--src/share/mh/extend_key (renamed from src/subcommands/mh/extend_key)0
-rw-r--r--src/share/mh/gen_key (renamed from src/subcommands/mh/gen_key)6
-rw-r--r--src/share/mh/import_key (renamed from src/subcommands/mh/import_key)3
-rw-r--r--src/share/mh/publish_key (renamed from src/subcommands/mh/publish_key)0
-rw-r--r--src/share/mh/revoke_hostname (renamed from src/subcommands/mh/revoke_hostname)0
-rw-r--r--src/share/mh/revoke_key (renamed from src/subcommands/mh/revoke_key)0
22 files changed, 53 insertions, 67 deletions
diff --git a/src/monkeysphere b/src/monkeysphere
index bce0072..8b7bfee 100755
--- a/src/monkeysphere
+++ b/src/monkeysphere
@@ -167,12 +167,12 @@ case $COMMAND in
;;
'import-subkey'|'i')
- source "${MSHAREDIR}/import-key"
- import_key "$@"
+ source "${MSHAREDIR}/import_subkey"
+ import_subkey "$@"
;;
'gen-subkey'|'g')
- source "${MSHAREDIR}/import_key"
+ source "${MSHAREDIR}/gen_subkey"
gen_subkey "$@"
;;
@@ -182,6 +182,7 @@ case $COMMAND in
;;
'subkey-to-ssh-agent'|'s')
+ source "${MSHAREDIR}/subkey_to_ssh_agent"
subkey_to_ssh_agent "$@"
;;
diff --git a/src/monkeysphere-authentication b/src/monkeysphere-authentication
index 56a8877..a8f17f9 100755
--- a/src/monkeysphere-authentication
+++ b/src/monkeysphere-authentication
@@ -12,8 +12,6 @@
# version 3 or later.
########################################################################
-set -e
-
PGRM=$(basename $0)
SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"}
@@ -57,9 +55,8 @@ subcommands:
remove-id-certifier (c-) KEYID remove a certification key
list-id-certifiers (c) list certification keys
- expert
- diagnostics (d) monkeysphere authentication status
- gpg-cmd CMD execute gpg command
+ expert <expert-subcommand> run expert command
+ expert help expert command help
version (v) show version number
help (h,?) this help
@@ -182,6 +179,17 @@ case $COMMAND in
SUBCOMMAND="$1"
shift
case "$SUBCOMMAND" in
+ 'help'|'h'|'?')
+ cat <<EOF
+usage: $PGRM expert <subcommand> [options] [args]
+
+expert subcommands:
+ diagnostics (d) monkeysphere authentication status
+ gpg-cmd CMD execute gpg command
+
+EOF
+ ;;
+
'diagnostics'|'d')
source "${MASHAREDIR}/diagnostics"
diagnostics
diff --git a/src/monkeysphere-host b/src/monkeysphere-host
index 32e2293..0b37ba9 100755
--- a/src/monkeysphere-host
+++ b/src/monkeysphere-host
@@ -3,12 +3,13 @@
# monkeysphere-host: Monkeysphere host admin tool
#
# The monkeysphere scripts are written by:
-# Jameson Rollins <jrollins@fifthhorseman.net>
+# Jameson Rollins <jrollins@finestructure.net>
# Jamie McClelland <jm@mayfirst.org>
# Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+# Micah Anderson <micah@riseup.net>
#
-# They are Copyright 2008, and are all released under the GPL, version 3
-# or later.
+# They are Copyright 2008-2009, and are all released under the GPL,
+# version 3 or later.
########################################################################
PGRM=$(basename $0)
@@ -50,14 +51,8 @@ subcommands:
revoke-key (r) revoke host key
publish-key (p) publish server host key to keyserver
- expert
- import-key (i) [NAME[:PORT]] import existing ssh key to gpg
- --keyfile (-f) FILE key file to import
- --expire (-e) EXPIRE date to expire
- gen-key (g) [NAME[:PORT]] generate gpg key for the host
- --length (-l) BITS key length in bits (2048)
- --expire (-e) EXPIRE date to expire
- diagnostics (d) monkeysphere host status
+ expert <expert-subcommand> run expert command
+ expert help expert command help
version (v) show version number
help (h,?) this help
@@ -112,18 +107,12 @@ check_host_keyring() {
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
+ check_host_keyring
+ fingerprintPGP=$(fingerprint_server_key)
+ gpg_host "--fingerprint --list-key --list-options show-unusable-uids $fingerprintPGP" 2>/dev/null
+ echo "OpenPGP fingerprint: $fingerprintPGP"
if [ -f "${SYSDATADIR}/ssh_host_rsa_key.pub" ] ; then
fingerprintSSH=$(ssh-keygen -l -f "${SYSDATADIR}/ssh_host_rsa_key.pub" | \
@@ -131,10 +120,7 @@ show_key() {
echo "ssh fingerprint: $fingerprintSSH"
else
log info "SSH host key not found."
- ret='1'
fi
-
-return $ret
}
########################################################################
@@ -146,7 +132,7 @@ unset KEYSERVER
unset MONKEYSPHERE_USER
# load configuration file
-[ -e ${MONKEYSPHERE_HOST_CONFIG:="${SYSCONFIGDIR}/monkeysphere-host.conf"} ] && . "$MONKEYSPHERE_SERVER_CONFIG"
+[ -e ${MONKEYSPHERE_HOST_CONFIG:="${SYSCONFIGDIR}/monkeysphere-host.conf"} ] && . "$MONKEYSPHERE_HOST_CONFIG"
# set empty config variable with ones from the environment, or with
# defaults
@@ -220,6 +206,22 @@ case $COMMAND in
SUBCOMMAND="$1"
shift
case "$SUBCOMMAND" in
+ 'help'|'h'|'?')
+ cat <<EOF
+usage: $PGRM expert <subcommand> [options] [args]
+
+expert subcommands:
+ import-key (i) [NAME[:PORT]] import existing ssh key to gpg
+ --keyfile (-f) FILE key file to import
+ --expire (-e) EXPIRE date to expire
+ gen-key (g) [NAME[:PORT]] generate gpg key for the host
+ --length (-l) BITS key length in bits (2048)
+ --expire (-e) EXPIRE date to expire
+ diagnostics (d) monkeysphere host status
+
+EOF
+ ;;
+
'import-key'|'i')
source "${MHSHAREDIR}/import_key"
import_key "$@"
diff --git a/src/common b/src/share/common
index ef931ca..9adae05 100644
--- a/src/common
+++ b/src/share/common
@@ -533,12 +533,6 @@ gpg_fetch_userid() {
--search ="$userID" > /dev/null 2>&1
returnCode="$?"
- # if the user is the monkeysphere user, then update the
- # monkeysphere user's trustdb
- if [ $(id -un) = "$MONKEYSPHERE_USER" ] ; then
- gpg_authentication "--check-trustdb" > /dev/null 2>&1
- fi
-
return "$returnCode"
}
diff --git a/src/subcommands/m/gen_subkey b/src/share/m/gen_subkey
index cbefaa3..cbefaa3 100644
--- a/src/subcommands/m/gen_subkey
+++ b/src/share/m/gen_subkey
diff --git a/src/subcommands/m/import_subkey b/src/share/m/import_subkey
index aa89958..aa89958 100644
--- a/src/subcommands/m/import_subkey
+++ b/src/share/m/import_subkey
diff --git a/src/subcommands/m/ssh_proxycommand b/src/share/m/ssh_proxycommand
index 56a266e..7239c7a 100644
--- a/src/subcommands/m/ssh_proxycommand
+++ b/src/share/m/ssh_proxycommand
@@ -15,27 +15,10 @@
# established. Can be added to ~/.ssh/config as follows:
# ProxyCommand monkeysphere-ssh-proxycommand %h %p
-########################################################################
-PGRM=$(basename $0)
-
-SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"}
-export SYSSHAREDIR
-. "${SYSSHAREDIR}/common" || exit 1
-
-########################################################################
-# FUNCTIONS
-########################################################################
-
-usage() {
- cat <<EOF >&2
-usage: ssh -o ProxyCommand="$(basename $0) %h %p" ...
-EOF
-}
-
-log() {
- echo "$@" >&2
-}
+ssh_proxycommand() {
+# "marginal case" ouput in the case that there is not a full
+# validation path to the host
output_no_valid_key() {
local sshKeyOffered
local userID
@@ -250,3 +233,5 @@ if [ -z "$NO_CONNECT" ] ; then
exit 255
fi
fi
+
+}
diff --git a/src/subcommands/m/subkey_to_ssh_agent b/src/share/m/subkey_to_ssh_agent
index 9bedb5e..012c95f 100644
--- a/src/subcommands/m/subkey_to_ssh_agent
+++ b/src/share/m/subkey_to_ssh_agent
@@ -44,7 +44,8 @@ For more details, see:
failure "Could not connect to ssh-agent"
fi
- # get list of secret keys (to work around https://bugs.g10code.com/gnupg/issue945):
+ # get list of secret keys (to work around bug
+ # https://bugs.g10code.com/gnupg/issue945):
secretkeys=$(gpg --list-secret-keys --with-colons --fixed-list-mode --fingerprint | \
grep '^fpr:' | cut -f10 -d: | awk '{ print "0x" $1 "!" }')
diff --git a/src/subcommands/ma/add_certifier b/src/share/ma/add_certifier
index 0c3c647..0c3c647 100644
--- a/src/subcommands/ma/add_certifier
+++ b/src/share/ma/add_certifier
diff --git a/src/subcommands/ma/diagnostics b/src/share/ma/diagnostics
index 73e93a0..73e93a0 100644
--- a/src/subcommands/ma/diagnostics
+++ b/src/share/ma/diagnostics
diff --git a/src/subcommands/ma/list_certifiers b/src/share/ma/list_certifiers
index e37485e..e37485e 100644
--- a/src/subcommands/ma/list_certifiers
+++ b/src/share/ma/list_certifiers
diff --git a/src/subcommands/ma/remove_certifier b/src/share/ma/remove_certifier
index 560281d..560281d 100644
--- a/src/subcommands/ma/remove_certifier
+++ b/src/share/ma/remove_certifier
diff --git a/src/subcommands/ma/update_users b/src/share/ma/update_users
index 73685f6..73685f6 100644
--- a/src/subcommands/ma/update_users
+++ b/src/share/ma/update_users
diff --git a/src/subcommands/mh/add_hostname b/src/share/mh/add_hostname
index 10d5f58..10d5f58 100644
--- a/src/subcommands/mh/add_hostname
+++ b/src/share/mh/add_hostname
diff --git a/src/subcommands/mh/add_revoker b/src/share/mh/add_revoker
index f9d0bb6..f9d0bb6 100644
--- a/src/subcommands/mh/add_revoker
+++ b/src/share/mh/add_revoker
diff --git a/src/subcommands/mh/diagnostics b/src/share/mh/diagnostics
index 7e76da6..7e76da6 100644
--- a/src/subcommands/mh/diagnostics
+++ b/src/share/mh/diagnostics
diff --git a/src/subcommands/mh/extend_key b/src/share/mh/extend_key
index ccbaf0e..ccbaf0e 100644
--- a/src/subcommands/mh/extend_key
+++ b/src/share/mh/extend_key
diff --git a/src/subcommands/mh/gen_key b/src/share/mh/gen_key
index aad213a..162a64e 100644
--- a/src/subcommands/mh/gen_key
+++ b/src/share/mh/gen_key
@@ -85,10 +85,6 @@ echo "$keyParameters" | gpg_host --batch --gen-key
# find the key fingerprint of the newly generated key
fingerprint=$(fingerprint_server_key)
-# export host ownertrust to authentication keyring
-log verbose "setting ultimate owner trust for host key..."
-echo "${fingerprint}:6:" | gpg_authentication "--import-ownertrust"
-
# translate the private key to ssh format, and export to a file
# for sshs usage.
# NOTE: assumes that the primary key is the proper key to use
@@ -98,7 +94,7 @@ echo "${fingerprint}:6:" | gpg_authentication "--import-ownertrust"
log info "SSH host private key output to file: ${SYSDATADIR}/ssh_host_rsa_key"
ssh-keygen -y -f "${SYSDATADIR}/ssh_host_rsa_key" > "${SYSDATADIR}/ssh_host_rsa_key.pub"
log info "SSH host public key output to file: ${SYSDATADIR}/ssh_host_rsa_key.pub"
-gpg_authentication "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
+gpg_host "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
# show info about new key
diff --git a/src/subcommands/mh/import_key b/src/share/mh/import_key
index 386e02d..c0d5956 100644
--- a/src/subcommands/mh/import_key
+++ b/src/share/mh/import_key
@@ -77,10 +77,9 @@ fingerprint=$(fingerprint_server_key)
# export host ownertrust to authentication keyring
log verbose "setting ultimate owner trust for host key..."
echo "${fingerprint}:6:" | gpg_host "--import-ownertrust"
-echo "${fingerprint}:6:" | gpg_authentication "--import-ownertrust"
# export public key to file
-gpg_authentication "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
+gpg_host "--export-options export-minimal --armor --export 0x${fingerprint}\!" > "${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
log info "SSH host public key in OpenPGP form: ${SYSDATADIR}/ssh_host_rsa_key.pub.gpg"
# show info about new key
diff --git a/src/subcommands/mh/publish_key b/src/share/mh/publish_key
index b7ab01d..b7ab01d 100644
--- a/src/subcommands/mh/publish_key
+++ b/src/share/mh/publish_key
diff --git a/src/subcommands/mh/revoke_hostname b/src/share/mh/revoke_hostname
index b519cf6..b519cf6 100644
--- a/src/subcommands/mh/revoke_hostname
+++ b/src/share/mh/revoke_hostname
diff --git a/src/subcommands/mh/revoke_key b/src/share/mh/revoke_key
index cccdc22..cccdc22 100644
--- a/src/subcommands/mh/revoke_key
+++ b/src/share/mh/revoke_key