From e58690a26d5e3800c26d24ea30d4e5a1367f096d Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 4 Sep 2018 11:01:24 +0200 Subject: [PATCH 1/4] [ci skip] Update NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index aaaf511fa51..72014486d6d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2018, PHP 7.1.23 +- Opcache: + . Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS). + (Anatol) + - POSIX: . Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb) From 64d2978546721cf7b1c3723e28cad89e1631570e Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 4 Sep 2018 11:02:26 +0200 Subject: [PATCH 2/4] [ci skip] Update NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 307a1926d18..ea2cf4e81b9 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2018, PHP 7.2.11 +- Opcache: + . Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS). + (Anatol) + - POSIX: . Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb) From 7585a20d4451597df301142393495ef508c0dde6 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 4 Sep 2018 11:03:33 +0200 Subject: [PATCH 3/4] [ci skip] Update NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 10bfe1edcfa..5e95bd081b3 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,10 @@ PHP NEWS - MBString: . Updated to Oniguruma 6.9.0. (cmb) +- Opcache: + . Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS). + (Anatol) + - POSIX: Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb) From 0f724453c03b7ff500563c019f5dab736d326ad8 Mon Sep 17 00:00:00 2001 From: Ville Hukkamaki Date: Tue, 28 Aug 2018 23:26:13 +0200 Subject: [PATCH 4/4] Fix bug #74764 and add a test case --- NEWS | 2 ++ ext/standard/tests/network/bug74764.phpt | 24 ++++++++++++++++++++++++ main/network.c | 3 +++ 3 files changed, 29 insertions(+) create mode 100644 ext/standard/tests/network/bug74764.phpt diff --git a/NEWS b/NEWS index 72014486d6d..ea1fd8e76c9 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,8 @@ PHP NEWS - Standard: . Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open data connection). (Ville Hukkamäki) + . Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with + stream_socket_client). (Ville Hukkamäki) 13 Sep 2018, PHP 7.1.22 diff --git a/ext/standard/tests/network/bug74764.phpt b/ext/standard/tests/network/bug74764.phpt new file mode 100644 index 00000000000..e946167008a --- /dev/null +++ b/ext/standard/tests/network/bug74764.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug #74764 IPv6 bindto fails with stream_socket_client() +--SKIPIF-- + +--FILE-- + array('bindto' => "[::]:0")] + ); + $socket = stream_socket_client('tcp://localhost:1443', $errno, $errstr, 5, STREAM_CLIENT_CONNECT, $context); + +$context = stream_context_create( + array('socket' => array('bindto' => "0.0.0.0:0")) + ); + $socket = stream_socket_client('tcp://localhost:1443', $errno, $errstr, 5, STREAM_CLIENT_CONNECT, $context); +?> +--EXPECTF-- +Warning: stream_socket_client(): unable to connect to tcp://localhost:1443 (%s) in %s on line %d + +Warning: stream_socket_client(): unable to connect to tcp://localhost:1443 (%s) in %s on line %d diff --git a/main/network.c b/main/network.c index 8a326369a87..145911db007 100644 --- a/main/network.c +++ b/main/network.c @@ -863,6 +863,9 @@ php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short int local_address_len = 0; if (sa->sa_family == AF_INET) { + if (strchr(bindto,':')) { + goto skip_bind; + } struct sockaddr_in *in4 = emalloc(sizeof(struct sockaddr_in)); local_address = (struct sockaddr*)in4;