[openssh-commits] [openssh] 02/02: Replacement function for buggy fgrep.

git+noreply at mindrot.org git+noreply at mindrot.org
Fri Sep 24 08:07:28 AEST 2021


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit f7039541570d4b66d76e6f574544db176d8d5c02
Author: Darren Tucker <dtucker at dtucker.net>
Date:   Fri Sep 24 08:04:14 2021 +1000

    Replacement function for buggy fgrep.
    
    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.
---
 regress/test-exec.sh | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/regress/test-exec.sh b/regress/test-exec.sh
index 415422ef..5fcc3fcf 100644
--- a/regress/test-exec.sh
+++ b/regress/test-exec.sh
@@ -79,6 +79,25 @@ if test "x${EGREP}" != "x"; then
 }
 fi
 
+#
+# 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
+
 SRC=`dirname ${SCRIPT}`
 
 # defaults

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list