Bug #65808 [Ver->Csd]: the socket_connect() won't work with IPv6 address

From: Date: Wed, 02 Oct 2013 13:56:30 +0000
Subject: Bug #65808 [Ver->Csd]: the socket_connect() won't work with IPv6 address
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-181965@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=65808&edit=1

 ID:                 65808
 Updated by:         mike@php.net
 Reported by:        wzis at hotmail dot com
 Summary:            the socket_connect() won't work with IPv6 address
-Status:             Verified
+Status:             Closed
 Type:               Bug
 Package:            Sockets related
 Operating System:   Linux
 PHP Version:        5.5.4
 Assigned To:        mike
 Block user comment: N
 Private report:     N

 New Comment:

Automatic comment on behalf of mike
Revision: http://git.php.net/?p=php-src.git;a=commit;h=9209c19f8f7eef807cb457b32d3ab517ff8dc178
Log: fix bug #65808 	the socket_connect() won't work with IPv6 address


Previous Comments:
------------------------------------------------------------------------
[2013-10-02 10:11:47] wzis at hotmail dot com

Description:
------------
No matter give fe80::a00:27ff:fe3d:af20 or fe80::a00:27ff:fe3d:af20%eth0 as the address, the
socket_connect will just fail.
From strace and the PHP source code, what I found is the sin6_scope_id always equals to 0, while
with telnet when passed in fe80::a00:27ff:fe3d:af20%eth0, from strace, we got
sin6_scope_id=if_nametoindex("eth0"). So the socket_connect code needs be changed for
proper IPv6 support.

Test script:
---------------
#!/usr/bin/php
<?php
  $sock=socket_create(AF_INET6, SOCK_STREAM, 0);
  if(socket_connect($sock, $argv[1], $argv[2]))
    echo "Connected to ".$argv[1]." port ".$argv[2];
?>

Expected result:
----------------
If you run the script with
  ./phpscript 2606:4100:3880:1250::100 80
You should see "Connected to 2606:4100:3880:1250::100 port 80"

Actual result:
--------------
PHP Warning:  socket_connect(): unable to connect [22]: Invalid argument in phpscript on line 4.


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=65808&edit=1


Thread (3 messages)

« previous php.bugs (#181965) next »