Commit ae6df21df96 for php

commit ae6df21df96ad21222ce6442938f8fc3289ac27a
Merge: 8906dc25186 026e6675b2c
Author: Ilia Alshanetsky <ilia@ilia.ws>
Date:   Mon Sep 28 20:06:43 2026 -0400

    Merge branch 'PHP-8.5' into PHP-8.6

    * PHP-8.5:
      ext/openssl: Restore blocking mode after a handshake timeout

diff --cc NEWS
index bddb052ecba,0f2af2c21ca..8e6014f1140
--- a/NEWS
+++ b/NEWS
@@@ -14,45 -14,6 +14,49 @@@ PH
    . Fixed AVX being reported as supported when the OS has not enabled AVX
      state. (Ilia Alshanetsky)

 +- FFI:
 +  . Fixed crashes with FFI callbacks created from __call() trampolines
 +    and array callables whose object is released. (Ilia Alshanetsky)
 +
 +- Opcache:
 +  . Fix zend_analyze_calls() call_stack buffer overrun. (Mrmaxmeier)
 +  . Fixed bug GH-23679 (Tracing JIT writes a parent private property into a
 +    child's shadowing public property). (Ilia Alshanetsky)
 +  . Fix incorrect DCE due to unsound escape analysis. (ndossche)
 +
++- OpenSSL:
++  . Fixed stream_socket_enable_crypto() leaving the socket non-blocking
++    after a handshake timeout. (Ilia Alshanetsky)
++
 +- PCNTL:
 +  . Fixed pcntl_signal_dispatch() dropping the queued signals when it runs while
 +    an exception is pending. (nicolas-grekas)
 +  . Fixed pcntl_signal_dispatch() dropping the signals queued behind a handler
 +    that throws. (nicolas-grekas)
 +
 +- PDO_PGSQL:
 +  . Fixed crash when a persistent connection fails. (KentarouTakeda)
 +
 +- Zip:
 +  . Fixed bug GH-23899 (Assertion failure when a cancel callback returns an
 +    invalid type during shutdown). (Weilin Du)
 +
 +24 Sep 2026, PHP 8.6.0RC2
 +
 +- Core:
 +  . Fixed incorrect internal pointer and foreach iterator positions when
 +    compacting arrays with holes. (Weilin Du)
 +  . Fix handling of references to typed properties during unserialization
 +    of various internal classes. (ndossche, timwolla)
 +  . Fixed OSS-Fuzz 532353396 (assertion	failure	with static type). (Girgias)
 +  . Fix GH-23662 (Avoid NAN warning in print_r()). (CodedByManish)
 +  . Fixed bug GH-23752 (Use scoped diagnostic suppression for the global
 +    register declarations so the caller's -Wvolatile-register-var state is
 +    restored). (yqtian-se)
 +  . Fixed OSS-Fuzz #538730793 (Assertion failure when returning by-ref from
 +    closure invoke). (ndossche)
 +  . Fixed OSS-Fuzz #540904105 (ASSERT: ast->attr == T_CLASS_C). (ndossche)
 +
  - CLI
    . Fix GH-22567 (Windows ZTS CLI SAPI should refresh its TSRMLS cache during
      request activation). (matyhtf)
diff --cc ext/openssl/xp_ssl.c
index 24895a96004,e58bab90d0a..706f4ec5c80
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@@ -3060,7 -1885,8 +3060,8 @@@ static int php_openssl_enable_crypto(ph
  				elapsed_time = php_openssl_subtract_timeval(cur_time, start_time);

  				if (php_openssl_compare_timeval( elapsed_time, *timeout) > 0) {
+ 					php_openssl_set_blocking(sslsock, blocked);
 -					php_error_docref(NULL, E_WARNING, "SSL: Handshake timed out");
 +					php_stream_warn(stream, TimeOut, "SSL: Handshake timed out");
  					return -1;
  				}
  			}