@@ -472,7 +472,7 @@ $socket = new React\Socket\SocketServer('tls://127.0.0.1:8000', array(
472472```
473473
474474By default, this server supports TLSv1.0+ and excludes support for legacy
475- SSLv2/SSLv3. As of PHP 5.6+ you can also explicitly choose the TLS version you
475+ SSLv2/SSLv3. You can also explicitly choose the TLS version you
476476want to negotiate with the remote side:
477477
478478``` php
@@ -650,7 +650,7 @@ $server = new React\Socket\SecureServer($server, null, array(
650650```
651651
652652By default, this server supports TLSv1.0+ and excludes support for legacy
653- SSLv2/SSLv3. As of PHP 5.6+ you can also explicitly choose the TLS version you
653+ SSLv2/SSLv3. You can also explicitly choose the TLS version you
654654want to negotiate with the remote side:
655655
656656``` php
@@ -1087,7 +1087,7 @@ $connector->connect('tls://localhost:443')->then(function (React\Socket\Connecti
10871087```
10881088
10891089By default, this connector supports TLSv1.0+ and excludes support for legacy
1090- SSLv2/SSLv3. As of PHP 5.6+ you can also explicitly choose the TLS version you
1090+ SSLv2/SSLv3. You can also explicitly choose the TLS version you
10911091want to negotiate with the remote side:
10921092
10931093``` php
@@ -1370,7 +1370,7 @@ $secureConnector = new React\Socket\SecureConnector($dnsConnector, null, array(
13701370```
13711371
13721372By default, this connector supports TLSv1.0+ and excludes support for legacy
1373- SSLv2/SSLv3. As of PHP 5.6+ you can also explicitly choose the TLS version you
1373+ SSLv2/SSLv3. You can also explicitly choose the TLS version you
13741374want to negotiate with the remote side:
13751375
13761376``` php
@@ -1490,19 +1490,10 @@ composer require react/socket:^3@dev
14901490See also the [ CHANGELOG] ( CHANGELOG.md ) for details about version upgrades.
14911491
14921492This project aims to run on any platform and thus does not require any PHP
1493- extensions and supports running on legacy PHP 5.3 through current PHP 8+ and HHVM.
1494- It's * highly recommended to use the latest supported PHP version* for this project,
1495- partly due to its vast performance improvements and partly because legacy PHP
1496- versions require several workarounds as described below.
1497-
1498- Secure TLS connections received some major upgrades starting with PHP 5.6, with
1499- the defaults now being more secure, while older versions required explicit
1500- context options.
1501- This library does not take responsibility over these context options, so it's
1502- up to consumers of this library to take care of setting appropriate context
1503- options as described above.
1504-
1505- PHP < 7.3.3 (and PHP < 7.2.15) suffers from a bug where feof() might
1493+ extensions and supports running on PHP 7.1 through current PHP 8+.
1494+ It's * highly recommended to use the latest supported PHP version* for this project.
1495+
1496+ Legacy PHP < 7.3.3 (and PHP < 7.2.15) suffers from a bug where feof() might
15061497block with 100% CPU usage on fragmented TLS records.
15071498We try to work around this by always consuming the complete receive
15081499buffer at once to avoid stale data in TLS buffers. This is known to
@@ -1511,21 +1502,13 @@ cause very large data chunks for high throughput scenarios. The buggy
15111502behavior can still be triggered due to network I/O buffers or
15121503malicious peers on affected versions, upgrading is highly recommended.
15131504
1514- PHP < 7.1.4 (and PHP < 7.0.18) suffers from a bug when writing big
1505+ Legacy PHP < 7.1.4 suffers from a bug when writing big
15151506chunks of data over TLS streams at once.
15161507We try to work around this by limiting the write chunk size to 8192
15171508bytes for older PHP versions only.
15181509This is only a work-around and has a noticable performance penalty on
15191510affected versions.
15201511
1521- This project also supports running on HHVM.
1522- Note that really old HHVM < 3.8 does not support secure TLS connections, as it
1523- lacks the required ` stream_socket_enable_crypto() ` function.
1524- As such, trying to create a secure TLS connections on affected versions will
1525- return a rejected promise instead.
1526- This issue is also covered by our test suite, which will skip related tests
1527- on affected versions.
1528-
15291512## Tests
15301513
15311514To run the test suite, you first need to clone this repo and then install all
0 commit comments