David Carlier
c8bead8393
Merge branch 'PHP-8.3' into PHP-8.4
2025-02-25 21:55:46 +00:00
David Carlier
8cbc0c57b7
Fix GH-17921 socket_read/socket_recv overflows on buffer size.
...
update the existing checks to be more straightforward instead of
counting on undefined behavior.
close GH-17923
2025-02-25 21:54:24 +00:00
David Carlier
eb0e991c5d
Merge branch 'PHP-8.3' into PHP-8.4
2024-12-16 22:56:18 +00:00
David Carlier
8a649a8343
ext/sockets: socket_set_option switch from convert_to_long to zval_get_long.
...
to be explicit when the expected type is not met. Check SO_LINGER values
for possible overflow.
close GH-17135
2024-12-16 22:55:23 +00:00
David Carlier
986dfd4e09
Merge branch 'PHP-8.3' into PHP-8.4
2024-12-09 13:16:50 +00:00
David Carlier
3bea6a2ddb
ext/sockets: socket_strerror follow-up on GH-16267 fix.
...
boundaries should be INT_MIN <= val < INT_MAX in fact.
close GH-16891
2024-12-09 13:16:32 +00:00
David Carlier
10dbdc5608
Merge branch 'PHP-8.3' into PHP-8.4
2024-10-12 15:23:48 +01:00
David Carlier
f12e496cba
Merge branch 'PHP-8.2' into PHP-8.3
2024-10-12 15:23:35 +01:00
David Carlier
e583890af0
Fix socket_recvfrom overflow on buffer size.
...
when passing PHP_INT_MAX for the $length param we get this (with ubsan)
`ext/sockets/sockets.c:1409:36: runtime error: signed integer overflow: 9223372036854775807 + 1 cannot be represented in type 'long int'`
close GH-16382
2024-10-12 15:23:03 +01:00
David Carlier
062b3ca2f2
Merge branch 'PHP-8.3' into PHP-8.4
2024-10-06 19:26:10 +01:00
David Carlier
2af32659b3
Merge branch 'PHP-8.2' into PHP-8.3
2024-10-06 19:25:59 +01:00
David Carlier
8537aa687e
Fix GH-16267 socket_strerror overflow on argument value.
...
only socket_strerror provides user-supplied value to sockets_strerror
handler.
close GH-16270
2024-10-06 19:25:38 +01:00
David Carlier
d052d612d9
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
2024-08-13 08:35:44 +01:00
David Carlier
7f8465ab22
Merge branch 'PHP-8.3'
2024-03-06 11:39:48 +00:00
David Carlier
93d89cb80d
Merge branch 'PHP-8.2' into PHP-8.3
2024-03-06 11:39:37 +00:00
David Carlier
e3f0d03452
Fix GH-13603 ext/sockets: properly initialised address info data.
...
Led to random characters visible on socket id on macOs.
Close GH-13606
2024-03-06 11:37:48 +00:00
David CARLIER
453f5ab053
ext/sockets: enabling multicast group for ipv4 on freebsd. ( #13240 )
...
bug#75721 patch from jonathan@tangential.ca .
MCAST_JOIN_GROUP/MCAST_LEAVE_GROUP socket option for the RFC 3678
support does not work on freebsd, using IP_ADD_MEMBERSHIP instead.
2024-01-31 06:58:27 +00:00
Ilija Tovilo
f39b5c4c25
Close PHP tags in tests
...
Closes GH-12422
2023-10-18 17:34:10 +02:00
twosee
d9b0bdbaa4
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix socket_export_stream() with wrong protocol
2023-09-29 18:58:05 +08:00
twosee
90707f33e1
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix socket_export_stream() with wrong protocol
2023-09-29 18:33:59 +08:00
twosee
b5da98b972
Fix socket_export_stream() with wrong protocol
...
Closes GH-12310.
2023-09-29 18:33:12 +08:00
Michael Orlitzky
ce8c07e942
ext/sockets/tests/mcast_ipv6_*.phpt: suppress no-ipv6 warning ( #11651 )
...
These three tests try to create an ipv6 socket with socket_create() to
determine if they should be skipped. On certain systems lacking ipv6
support, however, the call to socket_create() itself raises a warning:
BORK Warning: socket_create(): Unable to create socket [97]: Address
family not supported by protocol in ...
The output is "borked" because the return value (false) is expected
but the text of the warning is not. This commit uses the error control
operator (@) to hide the warning. Afterwards the tests are skipped
normally on such a system.
2023-07-10 16:19:12 +02:00
Ilija Tovilo
45ffa773c8
Merge branch 'PHP-8.2'
...
* PHP-8.2:
xfail socket zerocopy test on Cirrus + arm
2023-06-29 08:49:07 +02:00
Ilija Tovilo
838f6bffff
xfail socket zerocopy test on Cirrus + arm
...
Closes GH-11553
2023-06-29 08:48:48 +02:00
divinity76
4918765d54
SKIP_(SLOW|ONLINE)_TESTS ( #11479 )
...
it was missing the SKIP_ONLINE_TESTS check for windows.
2023-06-19 19:44:03 +01:00
David Carlier
9198e8894b
socket DF flag on UDP socket via IP_MTU_DISCOVER on Linux and IP_DONTFRAGMENT on FreeBSD for path MTU discovery purpose.
...
idea proposal via ml :
https://marc.info/?l=php-internals&m=167329288509393&w=2
Close GH-10282
2023-01-12 22:22:30 +00:00
Jakub Zelenka
ac7d812fb7
Merge branch 'PHP-8.2'
2022-09-30 17:10:15 +01:00
Jakub Zelenka
d2b7d67dac
Merge branch 'PHP-8.1' into PHP-8.2
2022-09-30 17:08:55 +01:00
Jakub Zelenka
ee8f2c75e0
Merge branch 'PHP-8.0' into PHP-8.1
2022-09-30 17:08:17 +01:00
Andy Postnikov
c58241a003
Make socket path shorter for ext/sockets/tests/socket_cmsg_{rights|credentials}.phpt
...
When running in CI it fails when path/address is longer 108
2022-09-30 17:07:40 +01:00
David Carlier
615b8006c4
socket module add SO_ATTACH_REUSEPORT_CPBF for Linux.
...
to be used in conjunction with SO_REUSPORT, giving a greater control
over how we bind a socket instead of the round robin workflow, we do
instead attach to the processor id as :
- we assign the processor_id to A in the BPF filter.
- then returns A.
in other words, a more modern version of SO_INCOMING_CPU (ie can have a per
worker notion we do not use here).
Closes #8062
2022-09-29 23:32:39 +01:00
David Carlier
067a3022f8
Sockets disable zerocopy test on ppc based arch.
...
Failure reported by alpine maintainers.
Closes #9081 .
2022-07-21 13:36:49 +01:00
David Carlier
dedad408fe
sockets introduces socket_set_option SO_ZEROCOPY and MSG_ZEROCOPY for the socket_send* functions. it avoids copy b/w userland and kernel for both TCP and UDP protocols.
2022-07-10 20:06:52 +01:00
David Carlier
a193427333
Adds TCP_CONGESTION socket option for Linux/FreeBSD.
...
Closes #8824 .
2022-06-30 19:43:09 +01:00
David Carlier
d677cc13ce
Add SO_BPF_EXTENSIONS flag to socket.
...
Returns the supported bpf extensions from the kernel. Linux only.
Closes GH-8713.
2022-06-08 05:14:57 +01:00
David CARLIER
f813520b50
Implements socket ancillary data on FreeBSD. ( #7708 )
...
using LOCAL_CREDS_PERSISTENT/SCM_CREDS2 instead so we also get the send process id.
2022-06-02 14:08:03 +01:00
Christoph M. Becker
57add48777
Revert "Make socket path shorter for ext/sockets/tests/socket_cmsg_{rights|credentials}.phpt"
...
This reverts commit b0c1773686 , since
this causes CI failures, apparently related to ZTS builds.
2022-05-31 11:22:04 +02:00
Andy Postnikov
b0c1773686
Make socket path shorter for ext/sockets/tests/socket_cmsg_{rights|credentials}.phpt
...
When running in CI it fails when path/address is longer 108
Closes GH-8617.
2022-05-31 10:37:35 +02:00
David Carlier
2410e378c1
Add SO_MEMINFO socket option for gathering socket related info
2022-05-20 22:06:53 +01:00
Joe Watkins
0b5d371a9c
Merge branch 'PHP-8.1'
...
* PHP-8.1:
socket cmsg credential test fixes, "backporting" from the FreeBSD PR.
2021-12-21 07:28:19 +01:00
Joe Watkins
938a81cf01
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
socket cmsg credential test fixes, "backporting" from the FreeBSD PR.
2021-12-21 07:28:09 +01:00
David Carlier
80b02275bb
socket cmsg credential test fixes, "backporting" from the FreeBSD PR.
2021-12-21 07:27:59 +01:00
Nikita Popov
d032b85762
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Use ephemeral port in test
2021-10-05 16:01:00 +02:00
Nikita Popov
e91a751e3d
Use ephemeral port in test
2021-10-05 16:00:50 +02:00
Kamil Tekiela
c3dda473cc
Fix 'can not' in test data and in code comments
2021-10-05 09:51:58 +01:00
Nikita Popov
bc19186c7f
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Use ephemeral ports in socket test
2021-09-20 10:20:10 +02:00
Nikita Popov
624848f118
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Use ephemeral ports in socket test
2021-09-20 10:20:03 +02:00
Nikita Popov
07f6c61c8e
Use ephemeral ports in socket test
2021-09-20 10:19:48 +02:00
Nikita Popov
768265cd22
Fix some more CLEAN sections
2021-09-06 17:03:35 +02:00
Nikita Popov
2ab4482d34
Fix some broken or unnecessary CLEAN sections
2021-09-03 10:52:30 +02:00