From: Jameson Rollins Date: Sat, 30 Oct 2010 00:14:24 +0000 (-0400) Subject: fix ssh_proxycommand marginal ui X-Git-Tag: monkeysphere_0.35-1~1^2~10 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8019e159c585f0374bccac08f247830ac84ad2d4;p=monkeysphere.git fix ssh_proxycommand marginal ui After the last big code cleanup, the bookkeeping of numbers of processed/valid keys was removed. This was done because most things don't use that info, and it was confusing return codes of top-level functions. The one thing that did use that, though, was the ssh_proxycommand. We fix this by using a global variable to keep track of the number of processed and valid keys. The proxy command can now easily determine when it should output it's marginal ui block. --- diff --git a/src/share/common b/src/share/common index b26b57e..025c991 100644 --- a/src/share/common +++ b/src/share/common @@ -841,6 +841,8 @@ process_keys_for_file() { esac fi + ((++KEYS_PROCESSED)) + # if key OK, add new key line if [ "$ok" -eq '0' ] ; then case "$FILE_TYPE" in @@ -862,8 +864,13 @@ process_keys_for_file() { else echo "$keyLine" >>"$keyFile" fi + + ((++KEYS_VALID)) fi done + + log debug "KEYS_PROCESSED=$KEYS_PROCESSED" + log debug "KEYS_VALID=$KEYS_VALID" } # process an authorized_user_ids file on stdin for authorized_keys diff --git a/src/share/m/ssh_proxycommand b/src/share/m/ssh_proxycommand index a4c01c6..15f52e0 100644 --- a/src/share/m/ssh_proxycommand +++ b/src/share/m/ssh_proxycommand @@ -53,6 +53,7 @@ EOF otherUids=$(echo "$gpgSigOut" | grep "^uid" | grep -v "$userID") if [ "$otherUids" ] ; then log info < 0)) && ((KEYS_VALID == 0)) ; then + log debug "output ssh marginal ui..." + output_no_valid_key +fi # FIXME: what about the case where monkeysphere successfully finds a # valid key for the host and adds it to the known_hosts file, but a