PSL 6.4.2
This release fixes two Windows bugs that made a failed TLS handshake, and a peek on a reset TCP connection, spin at full CPU until cancelled instead of failing. Upgrading is recommended if you make or accept TLS connections, or peek TCP connections, on Windows.
Fixes
TLS: On Windows, a client or server handshake now fails withTLS\Exception\HandshakeFailedExceptionwhen one of its steps fails, for example because the peer closed or reset the connection. PHP on Windows reports such a step as still in progress, because it tells a waiting step from a failed one by anerrnothat Winsock never resets, so the handshake retried the socket at full CPU until its cancellation token ended it: forever with the default token, and for 10 seconds per connection with the defaultTLS\Listenerdeadline.HTTP\ClientandSMTPmake their TLS connections throughTLS\Connector, so they are fixed too. (by @azjezz)TCP: On Windows, a peek on a connection that the peer has reset now throwsIO\Exception\RuntimeExceptioninstead of spinning at full CPU until its cancellation token ends it. Such a connection stays readable while every peek fails, and it keeps its peer's name, so it did not look failed and the peek waited for it again. (by @azjezz)
Install: composer require php-standard-library/php-standard-library:^6.4.2
Full Changelog: 6.4.1...6.4.2