add proxycommand --no-connect option to monkeysphere usage
[monkeysphere.git] / src / monkeysphere
index fd96f45e746d78ce09f8f76d3f14932152e47a25..147c179403d993aa80d6ea6f1acf9c0e7bf389be 100755 (executable)
@@ -18,7 +18,8 @@ PGRM=$(basename $0)
 
 SYSSHAREDIR=${MONKEYSPHERE_SYSSHAREDIR:-"/usr/share/monkeysphere"}
 export SYSSHAREDIR
-. "${SYSSHAREDIR}/common" || exit 1
+. "${SYSSHAREDIR}/defaultenv"
+. "${SYSSHAREDIR}/common"
 
 # sharedir for host functions
 MSHAREDIR="${SYSSHAREDIR}/m"
@@ -46,7 +47,8 @@ subcommands:
  update-authorized_keys (a)          update authorized_keys file
  gen-subkey (g) [KEYID]              generate an authentication subkey
    --length (-l) BITS                  key length in bits (2048)
- ssh-proxycommand                    monkeysphere ssh ProxyCommand
+ ssh-proxycommand HOST [PORT]        monkeysphere ssh ProxyCommand
+   --no-connect                        do not make TCP connection to host
  subkey-to-ssh-agent (s)             store authentication subkey in ssh-agent
  version (v)                         show version number
  help (h,?)                          this help
@@ -69,7 +71,7 @@ check_gpg_sec_key_id() {
            gpgSecOut=$(gpg_user --fixed-list-mode --list-secret-keys --with-colons 2>/dev/null | egrep '^sec:')
            ;;
        1)
-           gpgSecOut=$(gpg_user --fixed-list-mode --list-secret-keys --with-colons "$keyID" | egrep '^sec:') || failure
+           gpgSecOut=$(gpg_user --fixed-list-mode --list-secret-keys --with-colons "$1" | egrep '^sec:') || failure
            ;;
        *)
            failure "You must specify only a single primary key ID."
@@ -86,10 +88,10 @@ check_gpg_sec_key_id() {
            echo "$gpgSecOut" | cut -d: -f5
            ;;
        *)
-           echo "Multiple primary secret keys found:"
-           echo "$gpgSecOut" | cut -d: -f5
-           echo "Please specify which primary key to use."
-           failure
+           local seckeys=$(echo "$gpgSecOut" | cut -d: -f5)
+           failure "Multiple primary secret keys found:
+$seckeys
+Please specify which primary key to use."
            ;;
     esac
 }
@@ -122,7 +124,7 @@ check_gpg_authentication_subkey() {
        fi
        # if authentication key is valid, prompt to continue
        if [ "$validity" = 'u' ] ; then
-           echo "A valid authentication key already exists for primary key '$keyID'."
+           echo "A valid authentication key already exists for primary key '$keyID'." 1>&2
            if [ "$PROMPT" = "true" ] ; then
                read -p "Are you sure you would like to generate another one? (y/N) " OK; OK=${OK:N}
                if [ "${OK/y/Y}" != 'Y' ] ; then
@@ -181,6 +183,9 @@ AUTHORIZED_KEYS=${MONKEYSPHERE_AUTHORIZED_KEYS:=$AUTHORIZED_KEYS}
 AUTHORIZED_USER_IDS=${MONKEYSPHERE_AUTHORIZED_USER_IDS:="${MONKEYSPHERE_HOME}/authorized_user_ids"}
 REQUIRED_HOST_KEY_CAPABILITY=${MONKEYSPHERE_REQUIRED_HOST_KEY_CAPABILITY:="a"}
 REQUIRED_USER_KEY_CAPABILITY=${MONKEYSPHERE_REQUIRED_USER_KEY_CAPABILITY:="a"}
+# note that only using '=' instead of ':=' tests only if the variable
+# in unset, not if it's "null"
+LOG_PREFIX=${MONKEYSPHERE_LOG_PREFIX='ms: '}
 
 # export GNUPGHOME and make sure gpg home exists with proper
 # permissions
@@ -239,7 +244,7 @@ case $COMMAND in
        ;;
 
     'version'|'v')
-       echo "$VERSION"
+       version
        ;;
 
     '--help'|'help'|'-h'|'h'|'?')