From 8a304871323fd8c0ab81b81a9082f07d03a1fa0c Mon Sep 17 00:00:00 2001 From: Iain Patterson Date: Wed, 22 Apr 2009 14:39:01 -0400 Subject: [PATCH] Generic handling of SSH_FORWARDED overrides. Check if the remote IP address matches a regular expression from ~/.ssh/forwarded and append " (from )" to the PROMPT_COMMAND only if not. --- .profile.d/prompt.bashrc | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.profile.d/prompt.bashrc b/.profile.d/prompt.bashrc index a80c615..6398e3d 100644 --- a/.profile.d/prompt.bashrc +++ b/.profile.d/prompt.bashrc @@ -1,13 +1,18 @@ -# Set the title of an xterm to the hostname. -# - -SSH_FORWARDED=$(get_remote_ip -n) +# Set the title of an xterm to the hostname unless the remote IP is matched by +# a regular expression in ~/.ssh/forwarded. +SSH_FORWARDED=$(get_remote_ip) if [ ! -z "$SSH_FORWARDED" ]; then - if [ ! "$SSH_FORWARDED" = "62.189.242.202" -a ! "$SSH_FORWARDED" = "62.189.241.202" -a ! "$SSH_FORWARDED" = "193.128.72.68" -a ! "$SSH_FORWARDED" = "localhost" ]; then - SSH_FORWARDED=" (from $SSH_FORWARDED)" - else + if [ "$SSH_FORWARDED" = "localhost" ]; then SSH_FORWARDED= + elif [ -f ~/.ssh/forwarded ]; then + for forwarded in $(< ~/.ssh/forwarded); do + if echo "$SSH_FORWARDED" | grep "$forwarded" &>/dev/null; then + SSH_FORWARDED= + fi + done + unset forwarded fi + [ ! -z "$SSH_FORWARDED" ] && SSH_FORWARDED=" (from $(get_remote_ip -n))" fi # Unscientific check for grid jobs. -- 2.20.1