diff options
author | Darren Tucker <dtucker@dtucker.net> | 2021-09-24 03:08:03 +0200 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2021-09-24 03:08:03 +0200 |
commit | 9b2ee74e3aa8c461eb5552a6ebf260449bb06f7e (patch) | |
tree | 81852821e4c425ab128e4332a4b4a8cc8caaef24 /regress/hostkey-rotate.sh | |
parent | Replacement function for buggy fgrep. (diff) | |
download | openssh-9b2ee74e3aa8c461eb5552a6ebf260449bb06f7e.tar.xz openssh-9b2ee74e3aa8c461eb5552a6ebf260449bb06f7e.zip |
Move the fgrep replacement to hostkey-rotate.sh.
The fgrep replacement for buggy greps doesn't work in the sftp-glob test
so move it to just where we know it's needed.
Diffstat (limited to 'regress/hostkey-rotate.sh')
-rw-r--r-- | regress/hostkey-rotate.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/regress/hostkey-rotate.sh b/regress/hostkey-rotate.sh index 2852c457c..0ae0c3dfc 100644 --- a/regress/hostkey-rotate.sh +++ b/regress/hostkey-rotate.sh @@ -3,6 +3,25 @@ tid="hostkey rotate" +# +# GNU (f)grep <=2.18, as shipped by FreeBSD<=12 and NetBSD<=9 will occasionally +# fail to find ssh host keys in the hostkey-rotate test. If we have those +# versions, use awk instead. +# See # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258616 +# +case `grep --version 2>&1 | awk '/GNU grep/{print $4}'` in +2.19) fgrep=good ;; +1.*|2.?|2.?.?|2.1?) fgrep=bad ;; # stock GNU grep +2.5.1*) fgrep=bad ;; # FreeBSD and NetBSD +*) fgrep=good ;; +esac +if test "x$fgrep" = "xbad"; then + fgrep() +{ + awk 'BEGIN{e=1} {if (index($0,"'$1'")>0){e=0;print}} END{exit e}' $2 +} +fi + rm -f $OBJ/hkr.* $OBJ/ssh_proxy.orig $OBJ/ssh_proxy.orig grep -vi 'hostkey' $OBJ/sshd_proxy > $OBJ/sshd_proxy.orig |