From 769d2d9b62acfa5ed12acc758177ab8d64439e79 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 10 Mar 2019 16:23:44 +0000 Subject: [PATCH 1/2] 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 75767647773..753366df6f4 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 8579fc154ca..1a0ac3abb7d 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 6be29848bc5..58ba8168ba6 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 cbc9474ca85..a493a241bab 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 d1ec44053bc..dd23086a448 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; From f8850ccd85b24c84dc9f53c842ad0def30ccba58 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 10 Mar 2019 16:36:13 +0000 Subject: [PATCH 2/2] Speed up TLS wrapper test for min and max versions --- ext/openssl/tests/tls_min_v1.0_max_v1.1_wrapper.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/openssl/tests/tls_min_v1.0_max_v1.1_wrapper.phpt b/ext/openssl/tests/tls_min_v1.0_max_v1.1_wrapper.phpt index 467ecf0d7ac..143c4a8c159 100644 --- a/ext/openssl/tests/tls_min_v1.0_max_v1.1_wrapper.phpt +++ b/ext/openssl/tests/tls_min_v1.0_max_v1.1_wrapper.phpt @@ -18,7 +18,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;