Wez Furlong
99e290f882
Fix for Bug #24189 : possibly unsafe select(2) usage.
...
We avoid the problem by using poll(2).
On systems without poll(2) (older bsd-ish systems, and win32), we emulate
poll(2) using select(2) and check for valid descriptors before attempting
to access them via the descriptor sets.
If an out-of-range descriptor is detected, an E_WARNING is raised suggesting
that PHP should be recompiled with a larger FD_SETSIZE (and also with a
suggested value).
Most uses of select(2) in the source are to poll a single descriptor, so
a couple of handy wrapper functions have been added to make this easier.
A configure option --enable-fd-setsize has been added to both the unix and
win32 builds; on unix we default to 16384 and on windows we default to 256.
Windows FD_SETSIZE imposes a limit on the maximum number of descriptors that
can be select()ed at once, whereas the unix FD_SETSIZE limit is based on the
highest numbered descriptor; 256 should be plenty for PHP scripts under windows
(the default OS setting is 64).
The win32 specific parts are untested; will do that now.
2004-09-17 12:44:56 +00:00
Sara Golemon
3838fb99de
MFB: Missing length limit parameter.
2004-06-07 05:00:37 +00:00
Derick Rethans
17df3ec21b
- Fixed bug #28523 (Typo in ext/sockets/sockets.c)
2004-05-26 06:53:04 +00:00
Edin Kadribasic
3b64493a3d
No length parameter -> estrdup()
2004-05-18 10:49:06 +00:00
Ilia Alshanetsky
bb88a86240
Do not allocate error buffer at the start of every request.
2004-05-16 15:34:53 +00:00
Jan Lehnardt
4ed1b9a193
- improve error message
2004-03-14 17:53:28 +00:00
Melvyn Sopacua
21ecfd57fd
Fix a typo, dating back from 1.145.
2004-03-14 11:42:17 +00:00
Ilia Alshanetsky
337b23bd93
Fixed bug #21760 (Use of uninitialized pointer inside php_read()).
...
Fixed 3 possible crashes due to integer overflow or invalid user input
inside the sockets extension.
2004-02-25 22:10:09 +00:00
Andi Gutmans
dbeb4158d2
- A belated happy holidays and PHP 5
2004-01-08 08:18:22 +00:00
foobar
f0c110d4bf
nuke unused code
2003-12-16 20:39:40 +00:00
Wez Furlong
dbb152b96a
Detect and enable IPv6 support under win32.
...
The ws2tcpip.h header links to IPv6 functions dynamically
and the generated binary will run on win98 and later.
2003-12-06 00:00:31 +00:00
Marcus Boerger
eabcb173b1
Revert accidential commit
2003-10-24 18:44:40 +00:00
Marcus Boerger
071eaf8576
Zend/ZEND_CHANGES
2003-10-24 18:24:28 +00:00
Ilia Alshanetsky
9c82b1fa75
Fixed compiler warnings.
2003-08-31 20:45:51 +00:00
Zeev Suraski
8767205afa
Fix Win32 linkage problems
2003-08-31 12:41:53 +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
Ilia Alshanetsky
93bcd55eaf
emalloc -> safe_emalloc
2003-08-12 00:58:52 +00:00
Marcus Boerger
55f947aa13
Fix build
2003-08-03 18:55:51 +00:00
Zeev Suraski
538d58dd5f
Use new infrastructure.
...
There are bound to be some messups, please report build/runtime bugs!
2003-08-03 17:44:39 +00:00
Jason Greene
7eea6525a7
Fix EINVAL errors for OS's (Solaris + BSD) that do not appreciate microseconds >= 1 second
...
Patch submitted from meebery@php.net
2003-07-22 07:20:55 +00:00
Sara Golemon
6cb8ce2880
gethostbyname2() not thread safe. Use getaddrinfo() or nothing at all.
2003-07-08 05:00:13 +00:00
Sara Golemon
010f5a12c7
Make php_set_inet6_addr happy with any environment. Use getaddrinfo() if available, gethostbyname2() if not, and simply fail if neither is present.
2003-07-08 03:38:00 +00:00
Sara Golemon
acc587fdfa
Fix non-GNU build. Use getaddrinfo() rather than gethostbyname2()
2003-07-07 22:27:32 +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
93b154fea4
Some AIX version failed to compile if this was redefined.
2003-04-25 08:10:11 +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
Sara Golemon
d06232a871
Add IPv6 support to ext/sockets
2003-04-17 21:04:47 +00:00
Moriyoshi Koizumi
8e15c4daff
compiler warning fix and possible 64bit fix
2003-04-16 19:18:35 +00:00
Moriyoshi Koizumi
ec91e86850
Fixed bug #23080
2003-04-16 17:31:31 +00:00
Moriyoshi Koizumi
da4cf6f9d8
Fixed memleak in socket_select
2003-04-04 14:16:59 +00:00
Moriyoshi Koizumi
b78e3c5155
Added cmsghdr check. Now sockets extension can be built under cygwin.
2003-04-04 13:02:43 +00:00
David Hill
4f8ae7b111
fixing missed int to long with zend_parse_parameters
2003-03-10 15:52:10 +00:00
David Hill
5c90216d2c
64-bit correction to variables passed to zend_parse_parameters
...
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-06 23:07:28 +00:00
Ilia Alshanetsky
72b356c1bc
Removed pointless memory allocation checks.
2003-01-18 19:28:10 +00:00
Ilia Alshanetsky
6fb507b53e
Changed php_error to php_error_docref().
...
Removed pointless checks around array_init().
2003-01-14 02:39:10 +00:00
Sebastian Bergmann
b506f5c8f8
Bump year.
2002-12-31 16:08:15 +00:00
Sterling Hughes
3cb16973ef
silly error, will MFH
2002-12-20 15:44:51 +00:00
Edin Kadribasic
3994fbbc86
MFB: Fix for #20894 .
2002-12-09 13:35:57 +00:00
Sterling Hughes
065104b8fe
TODO: Cleanup elements that have happened, or most likely won't happen. There
...
is probably more that should be gone, but its still a move in the right
direction.
Other stuff is ws/formatting changes
2002-12-01 22:15:39 +00:00
Sterling Hughes
62d10bc969
make one-line read work on win32...
...
# The implementation of this function is brain-dead, but at least
# now its brain-dead on win32 too... ;-)
2002-10-28 03:05:04 +00:00
Rasmus Lerdorf
2ca6f26918
Kill warning
2002-10-04 18:01:52 +00:00
Jason Greene
06ad8620db
Fix thread safety issue
2002-09-30 02:09:42 +00:00
Jason Greene
a8ca9932f4
Implement contstants on win32
...
@Implement platform independant socket error constants, which benefits error handling
2002-09-23 03:34:21 +00:00
Jason Greene
565492248a
Fix crash bug and memory leak in vectors
...
#still need to revisit how these are done, i.e. they are not binary safe
2002-09-10 04:12:55 +00:00
Jason Greene
b3a1998386
@socket_recvfrom is now binary safe (Jason)
...
Zero the structure so that when the tcp layer of the OS decides to ignore it,
we do not think we are getting a value
2002-08-28 06:15:13 +00:00
Jason Greene
1ce75e3a63
Implement socket errno values for UNIX based platforms.
...
They are all prefixed with SOCKET_ to preserve name space
Win32 will follow...
2002-08-25 23:28:42 +00:00
Jason Greene
980feb5e98
Nuke warnings on strict compilers
2002-08-16 14:23:27 +00:00
Jason Greene
0cd2d8bd38
Remove sleep workaround, and fix the actual win32 memory leak which
...
was occurring in the error reporting system. The reason why sleepex appeared
to be working was because it suppressed EWOULDBLOCK errors in the example
(which was non-blocking)
@Fix win32 memory leak in /ext/sockets that would occur on any error condition
@Fix host resolution error messages on win32
2002-07-07 07:01:17 +00:00