upstream: When OpenSSL is not available, skip parts of percent test

that require it. Based on github pr#368 from ren mingshuai.

OpenBSD-Regress-ID: 49a375b2cf61ccb95b52e75e2e025cd10988ebb2
This commit is contained in:
dtucker@openbsd.org 2023-01-06 12:33:33 +00:00 committed by Damien Miller
parent 1cd2aac312
commit d77fc611a6
No known key found for this signature in database
1 changed files with 10 additions and 6 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: percent.sh,v 1.14 2022/02/20 03:47:26 dtucker Exp $
# $OpenBSD: percent.sh,v 1.15 2023/01/06 12:33:33 dtucker Exp $
# Placed in the Public Domain.
tid="percent expansions"
@ -79,10 +79,12 @@ for i in matchexec localcommand remotecommand controlpath identityagent \
trial $i '%T' NONE
fi
# Matches implementation in readconf.c:ssh_connection_hash()
HASH=`printf "${HOSTNAME}127.0.0.1${PORT}$REMUSER" |
$OPENSSL_BIN sha1 | cut -f2 -d' '`
if [ ! -z "${OPENSSL_BIN}" ]; then
HASH=`printf "${HOSTNAME}127.0.0.1${PORT}$REMUSER" |
$OPENSSL_BIN sha1 | cut -f2 -d' '`
trial $i '%C' $HASH
fi
trial $i '%%' '%'
trial $i '%C' $HASH
trial $i '%i' $USERID
trial $i '%h' 127.0.0.1
trial $i '%L' $HOST
@ -96,8 +98,10 @@ for i in matchexec localcommand remotecommand controlpath identityagent \
# containing %d for UserKnownHostsFile
if [ "$i" != "userknownhostsfile" ]; then
trial $i '%d' $HOME
trial $i '%%/%C/%i/%h/%d/%L/%l/%n/%p/%r/%u' \
"%/$HASH/$USERID/127.0.0.1/$HOME/$HOST/$HOSTNAME/somehost/$PORT/$REMUSER/$USER"
if [ ! -z "${HASH}" ]; then
trial $i '%%/%C/%i/%h/%d/%L/%l/%n/%p/%r/%u' \
"%/$HASH/$USERID/127.0.0.1/$HOME/$HOST/$HOSTNAME/somehost/$PORT/$REMUSER/$USER"
fi
fi
done