Exclude DTLS 1.2 only with older OpenSSL

compat.sh used to skip OpenSSL altogether for DTLS 1.2, because older
versions of OpenSSL didn't support it. But these days it is supported.

We don't want to use DTLS 1.2 with OpenSSL unconditionally, because we
still use legacy versions of OpenSSL to test with legacy ciphers. So
check whether the version we're using supports it.
This commit is contained in:
Gilles Peskine 2019-08-10 17:38:34 +02:00
parent 01655daeee
commit 6eece5b666

View file

@ -216,14 +216,13 @@ filter_ciphersuites()
G_CIPHERS=$( filter "$G_CIPHERS" ) G_CIPHERS=$( filter "$G_CIPHERS" )
fi fi
# OpenSSL 1.0.1h doesn't support DTLS 1.2 # OpenSSL <1.0.2 doesn't support DTLS 1.2. Check what OpenSSL
if [ `minor_ver "$MODE"` -ge 3 ] && is_dtls "$MODE"; then # supports from the s_server help. (The s_client help isn't
O_CIPHERS="" # accurate as of 1.0.2g: it supports DTLS 1.2 but doesn't list it.
case "$PEER" in # But the s_server help seems to be accurate.)
[Oo]pen*) if ! $OPENSSL_CMD s_server -help 2>&1 | grep -q "^ *-$MODE "; then
M_CIPHERS="" M_CIPHERS=""
;; O_CIPHERS=""
esac
fi fi
# For GnuTLS client -> mbed TLS server, # For GnuTLS client -> mbed TLS server,