Commit Graph

430 Commits

Author SHA1 Message Date
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
Gustavo Lopes
bf19838c87 Do not disable RFC3678 multicast API on Windows
The API is supported since Windows Vista and requires targeting Vista
when compiling PHP. Pierre had asked to disable this by default, even
when targeting Vista/Windows Server 2008.

Since XP will not be supported anymore on php-next, any rationale
for this option will not apply anymore.
2012-09-20 23:36:20 +02:00
Lars Strojny
188c124a57 Bug #63000: MCAST_JOIN_GROUP on OSX is broken
The multicast support in PHP 5.4 makes use of MCAST_JOIN_GROUP if it is present.
The problem is that OSX 10.7 added the constant, but did not correctly implement
the feature. This causes the setsockopt call to fail.

The solution to the problem is to not use MCAST_JOIN_GROUP on OSX.

For reference, this was also done in VLC:

* http://trac.videolan.org/vlc/ticket/6104#comment:19
2012-09-19 22:17:35 +02:00
Anatoliy Belsky
97b8798520 Fixed test bug #62312 (warnings changed one more time) 2012-07-09 18:21:51 +02:00
Marc Easen
896ac689c9 Fixed the common misspelling of the word occurred (occured -> occurred) 2012-06-30 16:54:03 -07:00
Anatoliy Belsky
280e3a4ec8 Fixed bug #62312 ext\sockets\tests\socket_import_stream-4.phpt fails 2012-06-14 18:02:53 +02:00
Felipe Pena
074d361d64 - Fix the fix (typo s/AIX/_AIX/g) 2012-05-21 08:54:59 -03:00
Felipe Pena
ffe8303f24 - Fixed bug #62025 (__ss_family was changed on AIX 5.3) 2012-05-20 19:37:20 -03:00
Anatoliy Belsky
024cd2a124 Fixed bug #61638 Test ext\sockets\tests\unixloop.phpt fails 2012-04-10 14:00:51 +02:00
Anatoliy Belsky
bbab846ada Fixed bug #61637 ext\sockets\tests\socket_sentto_recvfrom_unix.phpt 2012-04-10 14:00:50 +02:00
Anatoliy Belsky
70f2f30e67 Fixed bug #61635 ext\sockets\tests\socket_select-wrongparams-1.phpt 2012-04-10 14:00:50 +02:00
Anatoliy Belsky
006b04da4a Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #61634 Test ext\sockets\tests\socket_listen-wrongparams.phpt fails
  Fixed bug #61633 Test ext\sockets\tests\socket_create_pair-wrongparams.phpt fails
  Fixed bug #61632 Test ext\sockets\tests\socket_create_listen.phpt fails
  Fixed bug 61621 Test fail in ext/standard/tests/dir
2012-04-10 13:09:48 +02:00
Anatoliy Belsky
c4676ee99f Fixed bug #61634 Test ext\sockets\tests\socket_listen-wrongparams.phpt fails 2012-04-10 13:08:57 +02:00
Anatoliy Belsky
5b0e7203e6 Fixed bug #61633 Test ext\sockets\tests\socket_create_pair-wrongparams.phpt fails 2012-04-10 13:06:15 +02:00
Anatoliy Belsky
83b48280c7 Fixed bug #61632 Test ext\sockets\tests\socket_create_listen.phpt fails 2012-04-10 13:06:14 +02:00
Anatoliy Belsky
5594fcf423 Fixed bug #61633 Test ext\sockets\tests\socket_create_pair-wrongparams.phpt fails 2012-04-10 13:02:53 +02:00
Anatoliy Belsky
37cb29ae90 Fixed bug #61632 Test ext\sockets\tests\socket_create_listen.phpt fails 2012-04-10 12:57:10 +02:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Stanislav Malyshev
d42917b605 test fixes 2011-12-26 03:22:07 +00:00
Gustavo André dos Santos Lopes
5759a440f8 - Small ajustments to some multicast options. 2011-11-26 17:48:52 +00:00
Felipe Pena
4168e0dfe4 - Fixed bug #60048 (sa_len a #define on IRIX)
patch by: china at thewrittenword dot com
2011-10-13 22:56:05 +00:00
Felipe Pena
1694d78769 - Fixed bug #60048 (sa_len a #define on IRIX)
patch by: china at thewrittenword dot com
2011-10-13 22:56:05 +00:00
Xinchen Hui
0f672ac0ba fixed typo 2011-09-07 00:56:52 +00:00
Xinchen Hui
ab9db759b9 fixed typo 2011-09-07 00:56:52 +00:00
Florian Anderiasch
c5741472b0 MFH: Fixed ext/sockets/tests/socket_strerror.phpt
So it seems a missing ) killed the test.
2011-09-06 11:15:23 +00:00
Florian Anderiasch
52124aa09c MFH: Fixed ext/sockets/tests/socket_strerror.phpt
So it seems a missing ) killed the test.
2011-09-06 11:15:23 +00:00
Felipe Pena
23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Felipe Pena
4b30846b50 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Gustavo André dos Santos Lopes
b9b749b704 - Further fix for bug #55111 (compilation failure of ext/sockets in Mac OS X). 2011-07-11 08:29:39 +00:00
Gustavo André dos Santos Lopes
7a402242bc - Fixed bug #55111 (sockets extension fails to compile on Mac OSX). 2011-07-02 12:03:32 +00:00
Gustavo André dos Santos Lopes
f99938c6ee - Fixed socket_import_stream returning NULL on some errors and FALSE on others 2011-06-28 10:27:29 +00:00
Gustavo André dos Santos Lopes
bc9c089f3a - Fixed ext/sockets build on Mac OS X (hopefully).
- Improvements in the multicast tests.
- Very light refactoring in sockets.c.
2011-06-11 20:20:50 +00:00
Felipe Pena
ee920e12ec - Fix the fix
# Arghh, copy and paste error :(
2011-05-24 00:10:00 +00:00
Felipe Pena
b60f6774dc - Fix the fix
# Arghh, copy and paste error :(
2011-05-24 00:10:00 +00:00
Felipe Pena
e9f4cfd6af - Fixed stack buffer overflow in socket_connect().
Found by: Mateusz Kocielski, Marek Kroemeke and Filip Palian
2011-05-24 00:05:50 +00:00
Felipe Pena
70f4069138 - Fixed stack buffer overflow in socket_connect().
Found by: Mateusz Kocielski, Marek Kroemeke and Filip Palian
2011-05-24 00:05:50 +00:00
Antony Dovgal
278392a10b fix tests 2011-05-03 11:15:45 +00:00
Antony Dovgal
354cb67597 fix tests 2011-05-03 11:15:30 +00:00
Gustavo André dos Santos Lopes
c2d392e934 - Fixed build on Solaris. 2011-04-30 15:56:07 +00:00
Gustavo André dos Santos Lopes
a6c9737749 - Fixed SKIPIF section missing a semicolon. 2011-04-30 15:54:44 +00:00
Pierre Joye
27c0221dc9 - not used on win 2011-03-30 09:46:56 +00:00
Pierre Joye
f7249e7c5c - fix build, should fix that code too on non win (wondering if that part was working at all) 2011-03-30 09:46:20 +00:00
Pierre Joye
38bbbe3417 - attempt to fix build, 1st error 2011-03-30 09:42:21 +00:00
Gustavo André dos Santos Lopes
660aa6701d - Updating UPGRADING for r309516 and modest merge to 5.3. 2011-03-23 00:51:22 +00:00
Gustavo André dos Santos Lopes
0de2e61cab - Added socket_import_stream().
- Fixed socket_strerror.phpt
- Made php_set_sock_blocking return FAILURE on fcntl error.
- Made socket_set_block()/socket_set_nonblock() emit warning on error.
2011-03-22 00:44:23 +00:00
Gustavo André dos Santos Lopes
95a3bfb1bc - Fixed SKIPIF section of bug51958.phpt. 2011-03-20 22:12:11 +00:00
Gustavo André dos Santos Lopes
bc13636bfe - Fixed SKIPIF section of bug51958.phpt. 2011-03-20 22:12:11 +00:00
Gustavo André dos Santos Lopes
2ddfe19120 - Normalized line endings, added native eol-style. 2011-03-20 02:05:41 +00:00
Gustavo André dos Santos Lopes
c9d397d59f - Adding copyright headers to the new files, gotta do something about the
windows line endings too, but I'm separating the commits.
2011-03-20 02:03:29 +00:00
Gustavo André dos Santos Lopes
ff0fe17725 - Replaced calls to getprotobyname by constants to avoid
unnecessarily hitting /etc/protocols on MINIT.
2011-03-17 22:21:59 +00:00
Gustavo André dos Santos Lopes
be87834321 - Merged fix for bug #51958 socket_accept() fails on IPv6 server sockets.
See r309238 for commit in trunk.
2011-03-17 15:36:52 +00:00