Commit graph

61 commits

Author SHA1 Message Date
Gustavo Lopes
7066cc7267 send/recvmsg() support for Windows 2013-02-02 16:38:09 +01:00
Gustavo Lopes
51394f76a5 Move some multicast stuff to multicast.c 2013-02-02 16:38:07 +01:00
Gustavo Lopes
131245474b Redactor to expose socket_import_file_descriptor() 2013-02-02 16:38:06 +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
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
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +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
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Mikko Koppanen
29b7cd5dcf Share the php_sockets.h header
Share php_sockets_le_socket_name
2009-12-27 01:00:50 +00:00
Pierre Joye
a2cffa2590 - #49464, fix build 2009-09-04 19:53:39 +00:00
Antony Dovgal
fe7e08432e export le_socket from ext/sockets 2009-08-31 08:41:03 +00:00
Hannes Magnusson
cbd8949ab5 Fix build 2009-01-24 12:42:19 +00:00
Kalle Sommer Nielsen
73b17408fb MFH: Windows support for stream_socket_pair(), by moving the socketpair() implementation from ext/sockets to win32/ 2009-01-23 15:49:49 +00:00
Kalle Sommer Nielsen
2f2d910797 MFH:
[DOC] Renable socket_create_pair() on Windows

# ext/sockets have its own implementation of socketpair(), perhaps we should move it
# to the core. This will make stream_socket_pair() available on Windows aswell
2009-01-01 05:24:29 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Nuno Lopes
61eb7ae554 remove unused PHP_EXTNAME_API macros.
#in preparation for the gcc 4 visibility patch
2008-01-03 16:20:33 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Jani Taskinen
0b40ec1f19 MFH:- Fixed bug #21197 (socket_read() outputs error with PHP_NORMAL_READ) 2007-07-22 23:01:20 +00:00
Ilia Alshanetsky
9db4812366 Remove pointless RINIT 2007-05-19 17:58:22 +00:00
Hannes Magnusson
4e0f1992ed Add missing ifdefs for shutdown() 2007-01-10 15:25:07 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
foobar
28f0397803 Nuke unused code 2005-02-14 08:21:34 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Jason Greene
90289924c0 Remove all vector based functions for the following reasons:
- This solves alot of platform compatibility problems
- The possible security issue of allocating an incredibly large vector
pool is prevented
- They are of little to no benefit in a high level language
- 99% of all things done with these functions can be done using
sendto/recvfrom
2003-08-16 06:34:36 +00:00
Sterling Hughes
3de4afa454 rename SOCKET to PHP_SOCKET to avoid conflicts with Mono 2003-06-17 04:44:30 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Ilia Alshanetsky
4a240c6a50 Fixed compiler warnings. 2003-05-28 01:04:06 +00:00
foobar
1e3e1d5880 CS cleanup + NS protection for some functions (used only in sockets.c btw) 2003-04-17 23:18:58 +00:00
foobar
78365069f0 Better ifdef it out here too 2003-04-05 17:33:55 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Sander Roobol
a207b641e5 Fix proto and #20137 2002-10-28 18:00:30 +00:00
Jason Greene
06ad8620db Fix thread safety issue 2002-09-30 02:09:42 +00:00
Markus Fischer
1a5501ddfd - Rename setopt and getopt to set_option and get_option, provide alias. 2002-05-01 11:08:08 +00:00
Markus Fischer
c970490d28 - Store last errno in the module global 'last_error' implicitely
- Set the global 'last_error' explicitely for functions which can't return an
  error withing a single socket context (socket_create and socket_select)
- Modified socket_last_error() to return global modules last
  error if no socket resource is given
- Added a couple of more E_WARNING messages in case something
  goes foobar so the user isn't left alone in the dark.
2002-04-29 14:52:29 +00:00
Jason Greene
165a97c90f Sockets Rework Patch 3 of 3
Nuked all fd code
Rewrote socket_select to use arrays instead of the fd code
(This has the side-effect of fixing quite a few bugs)
2002-03-06 20:19:09 +00:00
Jason Greene
e228b16885 Socket Rework Patch 2
Redesigned socket_recv() as outlined on php-dev
Modified socket_last_error() to no longer clear the error
Added socket_clear_error()
Fixed socket_set_nonblock()
Added socket_set_block()
Fixed a proto
Saved 1 byte of RAM : )
2002-03-06 05:21:56 +00:00
Stig Venaas
6e1878b0fc Added some consts for arguments in network.c declarations. Moved
php_sockaddr_storage to php_network.h and added check for struct
sockaddr_storage
2002-01-06 11:54:19 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
Jon Parise
f8fb5e5d98 Include <sys/socket.h> for 'struct sockaddr'.
# This fixes my FreeBSD build.
2001-11-06 14:35:26 +00:00
Markus Fischer
dceb1e7814 Remove prototype warnings under linux. 2001-11-01 22:40:43 +00:00
Daniel Beulshausen
d0433b6d1c make this function static 2001-11-01 17:25:56 +00:00
Daniel Beulshausen
2fba036202 - convert to use new zend_parse_parameters API
- unify errormessages + add socket_last_error()
- fix linklibrary under windows
- some streamlining
2001-11-01 16:51:59 +00:00
Sascha Schumann
bfef93878c Force proper alignment of php_sockaddr_storage. Sparc will throw
a SIGBUS, when accessing the family part of a char-aligned structure.
2001-09-26 15:12:20 +00:00
Jason Greene
9fe46a52d4 Much better fix for non forte compilers on Solaris.
Removed pragma hack.
Renamed socket struct to bsd_socket.
2001-09-04 22:27:30 +00:00