From 769d2d9b62acfa5ed12acc758177ab8d64439e79 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 10 Mar 2019 16:23:44 +0000 Subject: [PATCH] Speed up TLS wrapper tests when SSLv3 disabled If SSLv3 is disabled in OpenSSL, then sslv3 is not available so the accept times out. This commit removes the extra accept if SSLv3 is disabled. --- ext/openssl/tests/ServerClientTestCase.inc | 12 ++++++++++++ ext/openssl/tests/tls_wrapper.phpt | 2 +- ext/openssl/tests/tlsv1.0_wrapper.phpt | 2 +- ext/openssl/tests/tlsv1.1_wrapper.phpt | 2 +- ext/openssl/tests/tlsv1.2_wrapper.phpt | 2 +- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ext/openssl/tests/ServerClientTestCase.inc b/ext/openssl/tests/ServerClientTestCase.inc index 7576764777..753366df6f 100644 --- a/ext/openssl/tests/ServerClientTestCase.inc +++ b/ext/openssl/tests/ServerClientTestCase.inc @@ -14,6 +14,18 @@ function phpt_wait($worker = WORKER_DEFAULT_NAME, $timeout = null) ServerClientTestCase::getInstance()->wait($worker, $timeout); } +function phpt_has_sslv3() { + static $result = null; + if (!is_null($result)) { + return $result; + } + $server = @stream_socket_server('sslv3://127.0.0.1:10013'); + if ($result = !!$server) { + fclose($server); + } + return $result; +} + /** * This is a singleton to let the wait/notify functions work * I know it's horrible, but it's a means to an end diff --git a/ext/openssl/tests/tls_wrapper.phpt b/ext/openssl/tests/tls_wrapper.phpt index 8579fc154c..1a0ac3abb7 100644 --- a/ext/openssl/tests/tls_wrapper.phpt +++ b/ext/openssl/tests/tls_wrapper.phpt @@ -16,7 +16,7 @@ $serverCode = <<<'CODE' $server = stream_socket_server('tls://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); phpt_notify(); - for ($i=0; $i < 6; $i++) { + for ($i = 0; $i < (phpt_has_sslv3() ? 6 : 5); $i++) { @stream_socket_accept($server, 3); } CODE; diff --git a/ext/openssl/tests/tlsv1.0_wrapper.phpt b/ext/openssl/tests/tlsv1.0_wrapper.phpt index 6be29848bc..58ba8168ba 100644 --- a/ext/openssl/tests/tlsv1.0_wrapper.phpt +++ b/ext/openssl/tests/tlsv1.0_wrapper.phpt @@ -16,7 +16,7 @@ $serverCode = <<<'CODE' $server = stream_socket_server('tlsv1.0://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); phpt_notify(); - for ($i=0; $i < 3; $i++) { + for ($i = 0; $i < (phpt_has_sslv3() ? 3 : 2); $i++) { @stream_socket_accept($server, 3); } CODE; diff --git a/ext/openssl/tests/tlsv1.1_wrapper.phpt b/ext/openssl/tests/tlsv1.1_wrapper.phpt index cbc9474ca8..a493a241ba 100644 --- a/ext/openssl/tests/tlsv1.1_wrapper.phpt +++ b/ext/openssl/tests/tlsv1.1_wrapper.phpt @@ -16,7 +16,7 @@ $serverCode = <<<'CODE' $server = stream_socket_server('tlsv1.1://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); phpt_notify(); - for ($i=0; $i < 3; $i++) { + for ($i = 0; $i < (phpt_has_sslv3() ? 3 : 2); $i++) { @stream_socket_accept($server, 3); } CODE; diff --git a/ext/openssl/tests/tlsv1.2_wrapper.phpt b/ext/openssl/tests/tlsv1.2_wrapper.phpt index d1ec44053b..dd23086a44 100644 --- a/ext/openssl/tests/tlsv1.2_wrapper.phpt +++ b/ext/openssl/tests/tlsv1.2_wrapper.phpt @@ -16,7 +16,7 @@ $serverCode = <<<'CODE' $server = stream_socket_server('tlsv1.2://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); phpt_notify(); - for ($i=0; $i < 3; $i++) { + for ($i = 0; $i < (phpt_has_sslv3() ? 3 : 2); $i++) { @stream_socket_accept($server, 3); } CODE; -- 2.40.0