From a9994ac15f29892a27ebfff6ded63930a43f1187 Mon Sep 17 00:00:00 2001 From: David Paleino Date: Mon, 13 Apr 2009 17:10:41 +0200 Subject: [PATCH] Remove eval() and sed quoting in _known_hosts() (Alioth: #311595) Fixes execution (!!!) of hosts specified by {Global,User}KnownHosts in SSH config files. --- CHANGES | 3 +++ bash_completion | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 2ff91312..7e6d0537 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ bash-completion (1.x) [ David Paleino ] * Permit .gz files concatenation (Debian: #514377) + * Remove eval() and sed quoting in _known_hosts(), fixes execution (!!!) + of hosts specified by {Global,User}KnownHosts in SSH config files + (Alioth: #311595) [ Ville Skyttä ] * Split yum and yum-arch completion into contrib/yum. diff --git a/bash_completion b/bash_completion index 688adbd2..65678895 100644 --- a/bash_completion +++ b/bash_completion @@ -2680,9 +2680,9 @@ _known_hosts() if [ ${#config[@]} -gt 0 ]; then # expand path (if present) to global known hosts file - global_kh=$( eval echo "$( sed -ne 's/^[ \t]*[Gg][Ll][Oo][Bb][Aa][Ll][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" )" ) + global_kh=$( echo $( sed -ne 's/^[ \t]*[Gg][Ll][Oo][Bb][Aa][Ll][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" ) ) # expand path (if present) to user known hosts file - user_kh=$( eval echo "$( sed -ne 's/^[ \t]*[Uu][Ss][Ee][Rr][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" )" ) + user_kh=$( echo $( sed -ne 's/^[ \t]*[Uu][Ss][Ee][Rr][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" ) ) fi # Global known_hosts files