Dean
761cb46f84
Merge pull request #10350 from orezraey/fix/libkernel-socket-receive-flags-measured-ps5
...
fix(libkernel): keep the TCP flag and IP receive options a PS5 accepts
2026-10-25 12:44:40 +13:00
boykopovar
f38d29fd08
refactor(sdk): add canonical headers for remaining libraries
2026-10-24 23:17:42 +03:00
orezraey and Claude Opus 5.5
7c04bd3a43
Merge fix/libkernel-multicast-membership-measured-ps5 into fix/libkernel-socket-receive-flags-measured-ps5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 14:20:50 -03:00
orezraey and Claude Opus 5.5
a328020e95
Merge main into fix/libkernel-socket-receive-flags-measured-ps5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 12:24:32 -03:00
orezraey and Claude Opus 5.5
d9d84b5912
fix(libkernel): drop a multicast group through INADDR_ANY on any interface
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 10:01:20 -03:00
orezraey and Claude Opus 5.5
8d28c15ea4
Merge fix/libkernel-socket-flags-measured-ps5 into fix/libkernel-multicast-membership-measured-ps5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 09:57:22 -03:00
orezraey and Claude Opus 5.5
2f443f3b88
Merge fix/libkernel-tcp-options-measured-ps5 into fix/libkernel-socket-flags-measured-ps5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 09:56:35 -03:00
orezraey and Claude Opus 5.5
55473fb673
fix(libkernel): keep the low byte of an int IP_MULTICAST_LOOP
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-24 09:55:58 -03:00
orezraey and Claude Opus 5.5
9402457fb7
Merge fix/libkernel-multicast-membership-measured-ps5 into fix/libkernel-socket-receive-flags-measured-ps5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 20:50:51 -03:00
orezraey and Claude Opus 5.5
f6d9973b5a
test(libkernel): stop pinning the unmeasured ip_mreqn address forms
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 18:42:34 -03:00
orezraey and Claude Opus 5.5
4dc6530ee0
fix(libkernel): refuse an ip_mreqn with a non-zero address and require the multicast host checks
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 17:45:18 -03:00
orezraey and Claude Opus 5.5
dd27146c27
fix(libkernel): keep the TCP flag and IP receive options a PS5 accepts
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 15:45:11 -03:00
orezraey and Claude Opus 5.5
062dc00385
fix(libkernel): join and leave multicast groups as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 15:38:52 -03:00
orezraey and Claude Opus 5.5
802bcc8d61
fix(libkernel): share a port between SO_REUSEPORT sockets on the host
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 15:38:45 -03:00
orezraey and Claude Opus 5.5
122541c7a8
fix(libkernel): keep the SOL_SOCKET flags a PS5 accepts
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 15:20:17 -03:00
orezraey and Claude Opus 5.5
b776394b4f
fix(libkernel): keep IP_TTL, IP_TOS and the multicast options as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 15:20:03 -03:00
orezraey and Claude Opus 5.5
d8d03c2839
fix(libkernel): give the host the requested socket buffer and test the inherited sizes
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 15:16:09 -03:00
orezraey and Claude Opus 5.5
f334c156e1
fix(libkernel): keep socket buffer sizes and SO_NBIO as measured on a PS5
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-23 13:49:03 -03:00
Evgeniy Kazarin and Claude Opus 5.5
7e79f36ed8
feat(libkernel): answer TCP_NODELAY, SO_NOSIGPIPE and SO_NBIO on a guest socket
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-14 22:17:26 +03:00
xXPBSXx and Claude Sonnet 5.5
79e162110a
fix(libkernel): report SO_ERROR and the other SOL_SOCKET options like FreeBSD
...
getsockopt and setsockopt on a libkernel socket knew four SOL_SOCKET options
(SO_REUSEADDR, SO_BROADCAST, SO_SNDBUF, SO_RCVBUF) and failed every other
one with ENOPROTOOPT. The Mound's EOS SDK reads SO_ERROR on two of its
sockets after a connect, which therefore always failed.
The SOL_SOCKET options now follow FreeBSD 11.4 sosetopt and sogetopt:
- SO_ERROR returns the pending error of the socket as a FreeBSD errno and
reports it once (Winsock does not clear it on read, so the library does).
- SO_TYPE, SO_ACCEPTCONN, SO_KEEPALIVE, SO_DONTROUTE, SO_OOBINLINE and
SO_LINGER are read from and set on the host socket; the boolean options
read back as their own bit, as FreeBSD returns so_options & option.
- SO_DEBUG, SO_USELOOPBACK, SO_REUSEPORT, SO_TIMESTAMP and SO_NOSIGPIPE stay
ENOPROTOOPT until a title needs one.
- A value is read from its first int and fails with EINVAL when shorter, a
getsockopt buffer is filled up to its length (sooptcopyin, sooptcopyout),
SO_SNDBUF and SO_RCVBUF below 1 fail with EINVAL, and SO_LINGER outside
0..65535 seconds fails with EDOM.
A connect on a non-blocking socket now fails with EINPROGRESS on Windows too
(it was EWOULDBLOCK, which a title waiting for the connection does not
expect).
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-13 15:18:29 +02:00