From 70bc51a0eb62a79af0a70714bcdb36a9c07de0ef Mon Sep 17 00:00:00 2001 From: Dave Gosselin Date: Wed, 14 Oct 2026 13:50:53 -0400 Subject: [PATCH] MDEV-41542: Wrong results, crash when upgrading to OpenSSL 4.x OpenSSL 4 reports a TLS alert as "tls alert ..." where OpenSSL 3 reports "ssl/tls alert ..." and OpenSSL 1.1.1 reports "sslv3 alert ...". main.tlsv13 and main.ssl_crl replace the 1.1.1 text with the 3.x text, so they failed when linked against OpenSSL 4. Both now replace the 4.x text as well, and the expected results are unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) --- mysql-test/main/ssl_crl.test | 2 +- mysql-test/main/tlsv13.test | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql-test/main/ssl_crl.test b/mysql-test/main/ssl_crl.test index 6da116f4ebe..13958e33c1b 100644 --- a/mysql-test/main/ssl_crl.test +++ b/mysql-test/main/ssl_crl.test @@ -9,6 +9,6 @@ --echo # try logging in with a certificate in the server's --ssl-crl : should fail # OpenSSL 1.1.1a and later releases correctly rejects the certificate, but the error message is different ---replace_regex /(ERROR 2013 \(HY000\): Lost connection to server at '.*', system error: [0-9]+|ERROR 2026 \(HY000\): TLS\/SSL error: sslv3 alert certificate revoked)/ERROR 2026 (HY000): TLS\/SSL error: ssl\/tls alert certificate revoked/ +--replace_regex /(ERROR 2013 \(HY000\): Lost connection to server at '.*', system error: [0-9]+|ERROR 2026 \(HY000\): TLS\/SSL error: (sslv3|tls) alert certificate revoked)/ERROR 2026 (HY000): TLS\/SSL error: ssl\/tls alert certificate revoked/ --error 1 --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_version'" 2>&1 diff --git a/mysql-test/main/tlsv13.test b/mysql-test/main/tlsv13.test index f90b6849a86..5fbccf075d6 100644 --- a/mysql-test/main/tlsv13.test +++ b/mysql-test/main/tlsv13.test @@ -19,11 +19,11 @@ source include/restart_mysqld.inc; --exec $MYSQL --host=localhost --ssl-cipher=ECDHE-RSA-AES256-GCM-SHA384 --tls-version=TLSv1.2 -e "SHOW STATUS LIKE 'Ssl_cipher%';" # Check that other ciphers are correctly not supported by the server ---replace_regex /sslv3 alert handshake failure/ssl\/tls alert handshake failure/ +--replace_regex /(sslv3|ssl\/tls|tls) alert handshake failure/ssl\/tls alert handshake failure/ --error 1 --exec $MYSQL --host=localhost --ssl-cipher=TLS_AES_256_GCM_SHA384 --tls-version=TLSv1.3 -e "SHOW STATUS LIKE 'Ssl_cipher';" 2>&1 ---replace_regex /sslv3 alert handshake failure/ssl\/tls alert handshake failure/ +--replace_regex /(sslv3|ssl\/tls|tls) alert handshake failure/ssl\/tls alert handshake failure/ --error 1 --exec $MYSQL --host=localhost --ssl-cipher=ECDHE-RSA-AES128-GCM-SHA256 --tls-version=TLSv1.2 -e "SHOW STATUS LIKE 'Ssl_cipher';" 2>&1