mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2: Fix bug #74764 and add a test case
This commit is contained in:
commit
6b5e7e6b42
3 changed files with 29 additions and 0 deletions
2
NEWS
2
NEWS
|
@ -24,6 +24,8 @@ PHP NEWS
|
||||||
. Fixed bug #76818 (Memory corruption and segfault). (Remi)
|
. Fixed bug #76818 (Memory corruption and segfault). (Remi)
|
||||||
. Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open
|
. Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open
|
||||||
data connection). (Ville Hukkamäki)
|
data connection). (Ville Hukkamäki)
|
||||||
|
. Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
|
||||||
|
stream_socket_client). (Ville Hukkamäki)
|
||||||
|
|
||||||
30 Aug 2018, PHP 7.3.0beta3
|
30 Aug 2018, PHP 7.3.0beta3
|
||||||
|
|
||||||
|
|
24
ext/standard/tests/network/bug74764.phpt
Normal file
24
ext/standard/tests/network/bug74764.phpt
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #74764 IPv6 bindto fails with stream_socket_client()
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
/* following copied straight from the tcp6loop.phpt */
|
||||||
|
@stream_socket_client('tcp://[::1]:0', $errno);
|
||||||
|
if ($errno != 111) die('skip IPv6 not supported.');
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$context = stream_context_create(
|
||||||
|
['socket' => 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
|
|
@ -839,6 +839,9 @@ php_socket_t php_network_connect_socket_to_host(const char *host, unsigned short
|
||||||
int local_address_len = 0;
|
int local_address_len = 0;
|
||||||
|
|
||||||
if (sa->sa_family == AF_INET) {
|
if (sa->sa_family == AF_INET) {
|
||||||
|
if (strchr(bindto,':')) {
|
||||||
|
goto skip_bind;
|
||||||
|
}
|
||||||
struct sockaddr_in *in4 = emalloc(sizeof(struct sockaddr_in));
|
struct sockaddr_in *in4 = emalloc(sizeof(struct sockaddr_in));
|
||||||
|
|
||||||
local_address = (struct sockaddr*)in4;
|
local_address = (struct sockaddr*)in4;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue