|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2013-03-02 18:05 UTC] reeze@php.net
Description: ------------ Failed tests: Multicast support: IPv6 send options [ext/sockets/tests/mcast_ipv6_send.phpt] recvmsg(): receive SCM_CREDENTIALS messages [ext/sockets/tests/socket_cmsg_rights.phpt] recvmsg(): basic test [ext/sockets/tests/socket_recvmsg.phpt] sendmsg()/recvmsg(): test ability to receive multiple messages [ext/sockets/tests/socket_sendrecvmsg_multi_msg.phpt] Test if socket_recvfrom() receives data sent by socket_sendto() via IPv4 UDP [ext/sockets/tests/socket_sentto_recvfrom_ipv4_udp.phpt] socket_set_option() with IPV6_PKTINFO [ext/sockets/tests/socket_set_option_in6_pktinfo.phpt]\ diff: ==> ext/sockets/tests/mcast_ipv6_send.diff <== 013+ 014+ Warning: socket_set_option(): unable to set socket option [49]: Can't assign requested address in /Users/reeze/Opensource/php-test/php-src- master/ext/sockets/tests/mcast_ipv6_send.php on line 26 015+ bool(false) 013- bool(true) ==> ext/sockets/tests/socket_cmsg_rights.diff <== 014+ int(24) 014- int(32) 018+ [name] => Array 019+ ( 020+ [family] => 1 021+ [path] => 022+ ) 023+ 018- [name] => ==> ext/sockets/tests/socket_recvmsg.diff <== 007+ 008+ Notice: Use of undefined constant IPV6_RECVPKTINFO - assumed 'IPV6_RECVPKTINFO' in /Users/reeze/Opensource/php- test/php-src-master/ext/sockets/tests/socket_recvmsg.php on line 18 009+ 010+ Warning: socket_set_option() expects parameter 3 to be long, string given in /Users/reeze/Opensource/php- test/php-src-master/ext/sockets/tests/socket_recvmsg.php on line 18 011+ err 007- int(14) 008- Array 009- ( 010- [name] => Array 011- ( 012- [family] => %d 013- [addr] => ::1 014- [port] => 7001 015- [flowinfo] => 0 016- [scope_id] => 0 017- ) 018- 019- [control] => Array 020- ( 021- [0] => Array 022- ( 023- [level] => %d 024- [type] => %d 025- [data] => Array 026- ( 027- [addr] => ::1 028- [ifindex] => %d 029- ) 030- 031- ) 032- 033- ) 034- 035- [iov] => Array 036- ( 037- [0] => testing packet 038- ) 039- 040- [flags] => 0 041- ) ==> ext/sockets/tests/socket_sendrecvmsg_multi_msg.diff <== 007+ 008+ Notice: Use of undefined constant IPV6_RECVPKTINFO - assumed 'IPV6_RECVPKTINFO' in /Users/reeze/Opensource/php- test/php-src-master/ext/sockets/tests/socket_sendrecvmsg_multi_msg.php on line 18 009+ 010+ Warning: socket_set_option() expects parameter 3 to be long, string given in /Users/reeze/Opensource/php- test/php-src-master/ext/sockets/tests/socket_sendrecvmsg_multi_msg.php on line 18 011+ err 007- int(11) 008- Array 009- ( 010- [name] => Array 011- ( 012- [family] => %d 013- [addr] => ::1 014- [port] => 7001 015- [flowinfo] => 0 016- [scope_id] => 0 017- ) 018- 019- [control] => Array 020- ( 021- [0] => Array 022- ( 023- [level] => %d 024- [type] => %d 025- [data] => Array 026- ( 027- [addr] => ::1 028- [ifindex] => %d 029- ) 030- 031- ) 032- 033- [1] => Array 034- ( 035- [level] => %d 036- [type] => %d 037- [data] => 40 038- ) 039- 040- ) 041- 042- [iov] => Array 043- ( 044- [0] => test thing 045- 046- ) 047- 048- [flags] => 0 049- ) ==> ext/sockets/tests/socket_sentto_recvfrom_ipv4_udp.diff <== 007+ bytes have been received instead of the 5 bytes expected 007- Received Ping! from remote address 127.0.0.1 and remote port 1223 ==> ext/sockets/tests/socket_set_option_in6_pktinfo.diff <== 001+ Notice: Use of undefined constant IPV6_PKTINFO - assumed 'IPV6_PKTINFO' in /Users/reeze/Opensource/php-test/php- src-master/ext/sockets/tests/socket_set_option_in6_pktinfo.php on line 4 002+ 003+ Warning: socket_set_option() expects parameter 3 to be long, string given in /Users/reeze/Opensource/php- test/php-src-master/ext/sockets/tests/socket_set_option_in6_pktinfo.php on line 4 001- Warning: socket_set_option(): error converting user data (path: in6_pktinfo): The key 'addr' is required in %s on line %d 002- bool(false) 003- bool(true) 004+ NULL 005+ 006+ Notice: Use of undefined constant IPV6_PKTINFO - assumed 'IPV6_PKTINFO' in /Users/reeze/Opensource/php-test/php- src-master/ext/sockets/tests/socket_set_option_in6_pktinfo.php on line 5 007+ 008+ Warning: socket_set_option() expects parameter 3 to be long, string given in /Users/reeze/Opensource/php- test/php-src-master/ext/sockets/tests/socket_set_option_in6_pktinfo.php on line 8 009+ NULL Test script: --------------- For your reference, The attached patch enabled ipv6_pktinfo on os x Expected result: ---------------- No failure Actual result: -------------- failed Patchesipv6-pktinfo-and-tiny-test-fix (last revision 2013-03-02 18:05 UTC by reeze@php.net)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Nov 05 21:00:02 2025 UTC |
Hi, cataphract The macro __APPLE_USE_RFC_3542 must be defined before including netinet/in.h, but not all of the our c files include php_sockets.h in the topmost, but by indirectly include other header files. eg: $ head -n 1 conversions.c sockaddr_conv.h $ header -n 5 sockaddr_conv.h ... #include <php_network.h> #include "php_sockets.h" /* php_socket */ php_network.h wil be included <netinet/in.h> before the macro defined. and php_network.h has to been included before php_sockets.h, so I have to move conversion.h up instead. in the mean time, in convesion.h <netinet/in.h> was included before php_sockets.h too, so I have to move it up to meet the requirement of the macro. The current partial patch breaks the build because of missing the left part: Undefined symbols for architecture x86_64: "_from_zval_write_in6_pktinfo", referenced from: _init_ancillary_registry in sendrecvmsg.o _php_do_setsockopt_ipv6_rfc3542 in sendrecvmsg.o "_to_zval_read_in6_pktinfo", referenced from: _init_ancillary_registry in sendrecvmsg.o _php_do_getsockopt_ipv6_rfc3542 in sendrecvmsg.o ld: symbol(s) not found for architecture x86_64