Gustavo Lopes
95f8d34f9c
Revert "Payload of HOPLIMIT/TCLASS are 8-bit"
...
This reverts commit 61a5ec7381ba5388a52926779fe3f58af0caea83.
I checked Linux and OpenBSD and both use integers to write the
IPV6_TCLASS messages and they don't force any endianness. This is
despite RFC 3542 explicitly saying the first byte of cmsg_data will
have the result. In any case, it doesn't make any difference in
little-endian archs.
2013-02-02 16:38:08 +01:00
Gustavo Lopes
5c0a8b1a2a
Ensure memory is initialized
2013-02-02 16:38:08 +01:00
Gustavo Lopes
f10baf14ed
Payload of HOPLIMIT/TCLASS are 8-bit
2013-02-02 16:38:08 +01:00
Gustavo Lopes
c846fcef68
Fix buf in string -> int conv.
2013-02-02 16:38:08 +01:00
Gustavo Lopes
bd580db373
Build fixes; accept names for if_index
2013-02-02 16:38:08 +01:00
Gustavo Lopes
4414b33abd
Refactoring: move stuff to new conversions.c
2013-02-02 16:38:08 +01:00
Gustavo Lopes
66ea024587
Support sticky IPV6_PKTINFO
2013-02-02 16:38:08 +01:00
Gustavo Lopes
b18bd8904e
Rename some functions for consistency
2013-02-02 16:38:07 +01:00
Gustavo Lopes
8fb1aa6184
Destroy ancillary registry on shutdown
2013-02-02 16:38:07 +01:00
Gustavo Lopes
51394f76a5
Move some multicast stuff to multicast.c
2013-02-02 16:38:07 +01:00
Gustavo Lopes
3e515a2fd9
Fix mcast_ipv6_send test
2013-02-02 16:38:07 +01:00
Gustavo Lopes
5bf7b08efd
Check return of fstat()
2013-02-02 16:38:07 +01:00
Gustavo Lopes
190a0ed713
Fix build on Mac OS X
...
By deactivating unsupported features on this OS.
2013-02-02 16:38:07 +01:00
Gustavo Lopes
51e65667f5
Register extra MSG_* constants
2013-02-02 16:38:06 +01:00
Gustavo Lopes
74cf40c2fd
Add test for CMSG_RIGHTS
2013-02-02 16:38:06 +01:00
Gustavo Lopes
7fc4671df9
Add test for CMSG_CREDENTIALS message
2013-02-02 16:38:06 +01:00
Gustavo Lopes
a85d7f28f6
Added support for AF_UNIX messages
...
Added constants: SCM_RIGHTS, SCM_CREDENTIALS and SO_PASSCRED.
The function socket_cmsg_space() was modified to support message types with
variable size. Its new signature is:
int socket_cmsg_space(int $level, int $type, int $n)
where $n is the number of repetable elements that the message is composed of.
2013-02-02 16:38:06 +01:00
Gustavo Lopes
131245474b
Redactor to expose socket_import_file_descriptor()
2013-02-02 16:38:06 +01:00
Gustavo Lopes
b3effa60c7
Improve imported socket family detection
...
Also added constant SO_FAMILY.
2013-02-02 16:38:06 +01:00
Gustavo Lopes
17540788ad
Added missing return statements
2013-02-02 16:38:06 +01:00
Gustavo Lopes
0f849fe2aa
Add test and slightly tweak another
2013-02-02 16:38:06 +01:00
Gustavo Lopes
73ab2385cb
Support for IPV6_HOPLIMIT and IPV6_TCLASS
2013-02-02 16:38:05 +01:00
Gustavo Lopes
b27c22d627
Fix bug in from_zval_write_control_array()
2013-02-02 16:38:05 +01:00
Gustavo Lopes
b06f00477c
Fix bug converting zval sockaddr
...
The bug ocurred when the family was not specified but was instead guessed.
2013-02-02 16:38:05 +01:00
Gustavo Lopes
806a6e6399
Add IPV6_UNICAST_HOPS option constant.
2013-02-02 16:38:05 +01:00
Gustavo Lopes
eb4b1f6d46
Add test for recvmsg()
2013-02-02 16:38:05 +01:00
Gustavo Lopes
5e51c85143
Wrap recvmsg() and sendmsg()
...
This introduces two new functions:
int socket_recvmsg(resource $socket, array &$msghdr, int $flags)
int socket_sendmsg(resource $socket, array $msghdr, int $flags)
The arrays representing struct msghdr follow the native counterpart
closely: structs are mapped to arrays, fields to array elements whose
key is the name of the field without the prefix (e.g. "name" instead
of "msg_name") and array are mapped to sequential numeric PHP arrays.
Right now the only type of ancillary data supported is fot the
level/type pair IPPROTO_IPV6/IPV6_PKTINFO.
I also refactored out the name resolution functions and made
sockets_strerror() a global function.
2013-02-02 16:38:05 +01:00
Gustavo Lopes
ac47448abb
Ignore warnings on EAGAIN/EWOULDBLOCK/EINPROGRESS
...
See bug #63570
2013-02-02 15:43:05 +01:00
Gustavo Lopes
e8f0e863ae
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fix wrong blocking state being set
Fix tests (Windows)
Remove a Windows only warning
Move & improve PHP_SOCKET_ERROR def
Move some declarations to sockets.c
Fix overbroad skipif include
2013-02-02 15:32:03 +01:00
Gustavo Lopes
ac6342bbc0
Fix wrong blocking state being set
2013-02-02 15:29:18 +01:00
Gustavo Lopes
40663ede83
Fix tests (Windows)
2013-02-02 15:29:18 +01:00
Gustavo Lopes
9283b8aea4
Move & improve PHP_SOCKET_ERROR def
2013-02-02 15:29:11 +01:00
Gustavo Lopes
97d656fc82
Move some declarations to sockets.c
2013-02-02 14:06:23 +01:00
Gustavo Lopes
a100c25ea4
Fix overbroad skipif include
2013-02-02 14:06:23 +01:00
Remi Collet
4608341303
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Mark this test as requiring internet connecion.
2013-01-31 14:39:42 +01:00
Remi Collet
9d75bf35e9
Mark this test as requiring internet connecion.
2013-01-31 14:38:39 +01:00
Remi Collet
4ad5c82016
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fix failed test: sys_errlist[116] have changed on recent glibc (Fedora 18) old: Stale NFS file handle new: Stale file handle
2013-01-31 14:25:43 +01:00
Remi Collet
f7362232f4
Fix failed test: sys_errlist[116] have changed on recent glibc (Fedora 18)
...
old: Stale NFS file handle
new: Stale file handle
2013-01-31 14:22:56 +01:00
Xinchen Hui
a666285bc2
Happy New Year
2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009
Happy New Year
2013-01-01 16:28:54 +08:00
Remi Collet
828bb4d44d
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
fix failing test on Linux build
2012-12-19 10:25:05 +01:00
Remi Collet
3732fa95c5
fix failing test on Linux build
2012-12-19 10:23:57 +01:00
Anatoliy Belsky
17dd769ab0
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Revert the previous test fix
2012-12-03 15:16:34 +01:00
Anatoliy Belsky
b8553d8494
Revert the previous test fix
...
The fail seems to be due to network error
2012-12-03 15:14:43 +01:00
Anatoliy Belsky
262decd35f
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
Fix test with a slightly different warning in TS
2012-12-03 10:44:10 +01:00
Anatoliy Belsky
89e547ce7f
Fix test with a slightly different warning in TS
2012-12-03 10:41:17 +01:00
Lars Strojny
575b983703
Merge branch 'PHP-5.4' into PHP-5.5
2012-12-02 19:42:25 +01:00
Igor Wiedler
ec2a132f9c
Bug #49341 : Add SO_REUSEPORT support for socket_set_option()
...
This is a BSD-only feature, and it will only be available on BSD.
On other platforms the constant will simply not be set.
2012-12-02 18:56:57 +01:00
Anatoliy Belsky
bc9f8030c7
Fixed sockets ext build on win
2012-11-13 14:53:32 +01:00
Gustavo Lopes
e7e57aea0a
Use if_nametoindex in Vista
...
I missed this instance in bf19838c
.
2012-10-23 11:52:31 +02:00