#
33ba1a4a |
| 09-Nov-2024 |
David Carlier |
ext/sockets: adding IPPROTO_ICMP* constants for socket creations. Is to create socket for Internet Control Message Protocol context. Due to their nature, they are meant to be used via
ext/sockets: adding IPPROTO_ICMP* constants for socket creations. Is to create socket for Internet Control Message Protocol context. Due to their nature, they are meant to be used via raw sockets rather than TCP/UDP. close GH-16737
show more ...
|
#
5dd05756 |
| 04-Sep-2024 |
DanielEScherzer |
Generated arginfo header files: combine preprocessor conditional blocks (#15736) When functions' or class methods' availability is based on some preprocessor condition, the generated arg
Generated arginfo header files: combine preprocessor conditional blocks (#15736) When functions' or class methods' availability is based on some preprocessor condition, the generated arginfo header files wrap the declarations in the preprocessor `#if` conditional blocks, one per declaration, even if they are in the same conditional block based on comments in the stub file. Instead of having multiple conditional blocks one after the other with the same condition, combine them into a single conditional block.
show more ...
|
#
53cb8967 |
| 03-Sep-2024 |
DanielEScherzer |
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `
Generated arginfo header files: remove empty zend_function_entry arrays (#15705) When a class (or enum) has no methods, rather than using an array that only contains `ZEND_FE_END`, use `NULL` for the functions. The implementation of class registration for internal classes, `do_register_internal_class()` in zend_API.c, already skips classes where the functions are `NULL`. By removing these unneeded arrays, we can reduce the size of the header files, while also removing an unneeded call to zend_register_functions() for each internal class with no extra methods.
show more ...
|
#
8d12f666 |
| 24-Aug-2024 |
Máté Kocsis |
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_Internal
Fix registration of internal readonly child classes (#15459) Currently, internal classes are registered with the following code: INIT_CLASS_ENTRY(ce, "InternalClass", class_InternalClass_methods); class_entry = zend_register_internal_class_ex(&ce, NULL); class_entry->ce_flags |= ...; This has worked well so far, except if InternalClass is readonly. It is because some inheritance checks are run by zend_register_internal_class_ex before ZEND_ACC_READONLY_CLASS is added to ce_flags. The issue is fixed by adding a zend_register_internal_class_with_flags() zend API function that stubs can use from now on. This function makes sure to add the flags before running any checks. Since the new API is not available in lower PHP versions, gen_stub.php has to keep support for the existing API for PHP 8.3 and below.
show more ...
|
#
d713e361 |
| 18-Aug-2024 |
David Carlier |
ext/sockets: adding SO_BINDTOIFINDEX. similar to SO_BINDTODEVICE but works with interface ids instead. close GH-15479
|
#
d052d612 |
| 10-Aug-2024 |
David Carlier |
ext/sockets: adding SOCK_CLOEXEC/SOCK_NONBLOCK options. targetted for socket_create_pair/socket_create, they re not considered as socket type but to be ORed with these (to avoid socketpa
ext/sockets: adding SOCK_CLOEXEC/SOCK_NONBLOCK options. targetted for socket_create_pair/socket_create, they re not considered as socket type but to be ORed with these (to avoid socketpair2/socket2 likely), set O_CLOEXEC/O_NONBLOCK respectively on the file descriptors. close GH-15322
show more ...
|
#
1d198c66 |
| 10-Aug-2024 |
David Carlier |
ext/sockets: controlling ephemeral port ranges on *BSD. whether ephemeral ports are onto the privileged low port ranges or a range more fit for restricted scenarios. cl
ext/sockets: controlling ephemeral port ranges on *BSD. whether ephemeral ports are onto the privileged low port ranges or a range more fit for restricted scenarios. close GH-15335
show more ...
|
#
a63fd2a9 |
| 19-Jul-2024 |
Calvin Buckley |
Gate SOCK_DCCP behind its own ifdef (#15031) AIX 7.1 has SOCK_CONN_DGRAM, but not SOCK_DCCP; the previous change conflated the availability between the two definitions. Add an additi
Gate SOCK_DCCP behind its own ifdef (#15031) AIX 7.1 has SOCK_CONN_DGRAM, but not SOCK_DCCP; the previous change conflated the availability between the two definitions. Add an additional #ifdef for this.
show more ...
|
#
9672cd94 |
| 18-Jun-2024 |
David Carlier |
ext/sockets: Adding macOS SO_LINGER_SEC constant. macOS SO_LINGER, unlike other platforms, functions in term of ticks, SO_LINGER_SEC is provided to be in line with other platforms.
ext/sockets: Adding macOS SO_LINGER_SEC constant. macOS SO_LINGER, unlike other platforms, functions in term of ticks, SO_LINGER_SEC is provided to be in line with other platforms. close GH-14599
show more ...
|
#
a82d8647 |
| 10-Jun-2024 |
Peter Kokot |
Replace WIN32 conditions with _WIN32 or PHP_WIN32 (#14462) * Replace WIN32 conditions with _WIN32 or PHP_WIN32 WIN32 is defined by the SDK and not defined all the time on Windows by
Replace WIN32 conditions with _WIN32 or PHP_WIN32 (#14462) * Replace WIN32 conditions with _WIN32 or PHP_WIN32 WIN32 is defined by the SDK and not defined all the time on Windows by compilers or the environment. _WIN32 is defined as 1 when the compilation target is 32-bit ARM, 64-bit ARM, x86, or x64. Otherwise, undefined. This syncs these usages one step further. Upstream libgd has replaced WIN32 with _WIN32 via https://github.com/libgd/libgd/commit/c60d9fe577ae8dad88e26344c4ceaa90da86e2f6 PHP_WIN32 is added to ext/sockets/sockets.stub.php as done in other *.stub.php files at this point. * Use PHP_WIN32 in ext/random * Use PHP_WIN32 in ext/sockets * Use _WIN32 in xxhash.h as done upstream See https://github.com/Cyan4973/xxHash/pull/931 * Update end comment with PHP_WIN32
show more ...
|
#
2d66562e |
| 28-May-2024 |
Peter Kokot |
Sync HAVE_IPV6 and HAVE_GETADDRINFO in #if/ifdef/defined (#14341) Follow up of GH-5526 (-Wundef)
|
#
b147a22b |
| 28-Apr-2024 |
David Carlier |
ext/sockets: adding SO_NOSIGPIPE constant. it s the macOs way to disable the SIGPIPE signal emission, same as doing `signal(SIGPIPE, SIG_IGN)` but on the socket level. Close GH
ext/sockets: adding SO_NOSIGPIPE constant. it s the macOs way to disable the SIGPIPE signal emission, same as doing `signal(SIGPIPE, SIG_IGN)` but on the socket level. Close GH-14065
show more ...
|
#
0e16e29b |
| 31-Mar-2024 |
David Carlier |
ext/sockets: socket_create_listen update. going from 128 to system's SOMAXCONN by default to be able to increase the queue of connections to be handled. Also, for Haiku SOMAXCONN is
ext/sockets: socket_create_listen update. going from 128 to system's SOMAXCONN by default to be able to increase the queue of connections to be handled. Also, for Haiku SOMAXCONN is only 32. Close GH-13854
show more ...
|
#
645af9fb |
| 07-Apr-2024 |
David Carlier |
ext/sockets: adding solaris/illumos SO_EXCLBIND constant. when set to "true", neutralises the effect of SO_REUSEADDR/SO_REUSEPORT making the socket binding exclusive. Close GH-1
ext/sockets: adding solaris/illumos SO_EXCLBIND constant. when set to "true", neutralises the effect of SO_REUSEADDR/SO_REUSEPORT making the socket binding exclusive. Close GH-13912
show more ...
|
#
b82024b1 |
| 26-Mar-2024 |
David Carlier |
ext/sockets: adding Linux's TCP_SYNCNT constant. Useful to control how many SYN packets the client will send to the server before giving up establishing a connection if the server does
ext/sockets: adding Linux's TCP_SYNCNT constant. Useful to control how many SYN packets the client will send to the server before giving up establishing a connection if the server does not respond (usually 5 or 6 by default). Close GH-13816
show more ...
|
#
4c467e6e |
| 16-Mar-2024 |
David Carlier |
ext/sockets: adding few constants for NetBSD. SOCK_CONN_DGRAM (and its alias SOCK_DCCP) for connection orientated datagram. Close GH-13728
|
#
23844538 |
| 26-Feb-2024 |
Peter Kokot |
Use preprocessor to check for AI_V4MAPPED, AI_ALL and AI_IDN (#13513) The preprocessor macros defined in some header can be checked, using Autoconf's AC_COMPILE_IFELSE, or with simpler A
Use preprocessor to check for AI_V4MAPPED, AI_ALL and AI_IDN (#13513) The preprocessor macros defined in some header can be checked, using Autoconf's AC_COMPILE_IFELSE, or with simpler AC_CHECK_DECL(S), or even better and simpler directly in the C code.
show more ...
|
#
f2e199e8 |
| 25-Feb-2024 |
Máté Kocsis |
Implement "support doc comments for internal classes and functions" (#13266) Fixes #13130
|
#
e630aacf |
| 21-Feb-2024 |
Jorg Adam Sowa |
Remove HAVE_INET_PTON (#13410)
|
#
10957e49 |
| 18-Feb-2024 |
Máté Kocsis |
Do not generate frameless info items when func info generation is disabled While here, I fixed newlines around arginfo and function entry generation. Previously, newlines were repeated.
|
#
b02f95ad |
| 26-Dec-2023 |
David Carlier |
ext/sockets: adding windows SO_EXCLUSIVEADDRUSE constant. Close GH-13030
|
#
7b4b40f0 |
| 22-Apr-2023 |
David Carlier |
ext/sockets: addig Linux's IP_BIND_ADDRESS_NO_PORT. Delay ephemeral port number attribution at connect time rather than at bind's one. Close GH-11119.
|
#
6c532df7 |
| 08-Apr-2023 |
David CARLIER |
ext/sockets adding FreeBSD's SO_REUSEPORT_LB constant. SO_REUSEPORT_LB is, in fact, closer to the classical Linux's SO_REUSEPORT. Close GH-11038
|
#
fbaa2eb0 |
| 27-Feb-2023 |
David CARLIER |
ext/sockets: add TCP_REPAIR to silently close a connection. Closes GH-10724.
|
#
19a7281e |
| 11-Feb-2023 |
David Carlier |
sockets add SO_RERROR/SO_ZEROIZE/SO_SPLICE net/openbsd's constants. Closes GH-10563.
|