Backported from 7.1 by Remi From be50a72715c141befe6f34ece660745da894aaf3 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Sun, 9 Sep 2018 18:53:37 +0100 Subject: [PATCH] Fix ssl stream reneg limit test to print only after first renegotiation It has been reported that in some setup the test does multiple renegotiations which is allowed. --- ext/openssl/tests/stream_server_reneg_limit.phpt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/openssl/tests/stream_server_reneg_limit.phpt b/ext/openssl/tests/stream_server_reneg_limit.phpt index f0353351a23a..f033cbabe343 100644 --- a/ext/openssl/tests/stream_server_reneg_limit.phpt +++ b/ext/openssl/tests/stream_server_reneg_limit.phpt @@ -22,14 +22,18 @@ if(substr(PHP_OS, 0, 3) == 'WIN') { */ $serverCode = <<<'CODE' + $printed = false; $serverUri = "ssl://127.0.0.1:64321"; $serverFlags = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN; $serverCtx = stream_context_create(['ssl' => [ 'local_cert' => __DIR__ . '/bug54992.pem', 'reneg_limit' => 0, 'reneg_window' => 30, - 'reneg_limit_callback' => function($stream) { - var_dump($stream); + 'reneg_limit_callback' => function($stream) use (&$printed) { + if (!$printed) { + $printed = true; + var_dump($stream); + } } ]]);