From be50a72715c141befe6f34ece660745da894aaf3 Mon Sep 17 00:00:00 2001
From: Jakub Zelenka <bukka@php.net>
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);
+            }
         }
     ]]);
 
