Commit Graph
157 Commits
Author SHA1 Message Date
Adrià b76f08cf33 Merge pull request #9727 from KernelPanicNT/fix/net-reject-unsupported-flags
fix(libSceNet): reject the flags and names the module rejects
2026-10-26 00:07:35 +01:00
Adrià 086ec0a79d Merge pull request #9523 from Queuse/codex/net-keepalive
feat(libSceNet): support SO_KEEPALIVE
2026-10-25 22:20:54 +01:00
Adrià 74ac0e7912 Merge pull request #9506 from Noxy-HNR/claude/project-thread-420hnm
feat(net): store DNS servers set through sceNetSetDnsInfo and sceNetSetDns6Info
2026-10-25 21:13:38 +01:00
KernelPanicNT 6e8ec6d213 fix(libSceNet): reject the flags and names the module rejects
sceNetEpollCreate fails with EINVAL for a null name or non-zero flags,
sceNetResolverCreate and sceNetGetMacAddress for non-zero flags, and
sceNetResolverStartNtoa, before any other check, for a negative timeout
or retry count or a flag bit outside 0x10001, as prosper reads the
libSceNet module. The two accepted resolver flag bits are still ignored,
which the debt file now records.
2026-10-25 19:52:23 +01:00
Adrià efe89d49c9 Merge pull request #9651 from xXPBSXx/docs/sce-net-connect-unspec-windows-bound-address
docs(debt): record what a Windows datagram socket keeps after sceNetConnect to AF_UNSPEC
2026-10-25 19:31:54 +01:00
Braxton Atkinson 67c149465e feat(net): store DNS overrides and match firmware argument checks
Apply the firmware 13.42 module-probe report in PR #9506: all four DNS calls check initialization first; getters return EINVAL for null outputs or nonzero flags; setters reject flags before reading guest memory. Keep the checked input copy and document EFAULT as host safety, not firmware behavior. Use the current public Net.hpp declarations in the regression.

Rebased onto upstream e7e3e9c198. Ubuntu 24.04, GCC 13.3, Release: actual libc/libkernel/libSceNet libraries and both focused test executables built. guest_sce_net passes. A separate harness linked against those unmodified libraries passes initialization, errno, invalid flags, unreadable-input flag precedence, null clearing and unchanged-output checks. The full guest_net_dns_info test is blocked here: process_vm_readv is denied with EPERM by the execution environment. No full DNS regression pass is claimed. Public-header audit, conventions, test registration and whitespace checks pass.

The resolver still uses host DNS; IPv6 host-server discovery and firmware server-count behavior remain debt. Firmware evidence: https://github.com/boykopovar/AnyPS5/pull/9506#issuecomment-6390574180

AI-assisted: yes
2026-10-25 18:56:14 +01:00
Adrià f50caac5c2 Merge pull request #9494 from EagleBearerYS/fix/libscenet-inet-text-rules
fix(libSceNet): follow FreeBSD inet text rules for IPv6
2026-10-25 18:23:21 +01:00
Queuze 01b7dbaa7f fix(net): preserve short readback on main sync 2026-10-25 14:17:53 -03:00
Dean ee856eb7a0 Merge pull request #9931 from Queuse/codex/net-nodelay-short-readback
fix(net): truncate TCP_NODELAY readback
2026-10-26 04:45:18 +13:00
Yunus Shaikh fc881b9259 Merge main into fix/libscenet-inet-text-rules
Main's #10706 removes the local declarations at the top of libSceNet's
Export.cpp, where this branch had added __inet_pton and __inet_ntop.
libkernel's Api.hpp, which Export.cpp includes, now declares both, so the
merge takes main's side there.
2026-10-25 07:07:33 -07:00
Dean 746609b979 Merge pull request #9930 from Queuse/codex/net-protocol-readback
feat(net): expose stream and datagram protocol
2026-10-26 01:35:49 +13:00
Adrià a2f634b2c0 Merge pull request #9357 from thuanquang/docs/debt-sweep-net-accept
docs(libSceNet): correct when sceNetAccept reads the inherited nonblocking mode
2026-10-25 11:41:36 +01:00
Queuze 58e7bf57fb chore: sync PR 9931 with current main 2026-10-25 07:28:28 -03:00
Queuze d73fc31f7b chore: sync PR 9523 with current main 2026-10-25 07:26:18 -03:00
Queuze e0bc1f73d3 chore: sync PR 9930 with current main 2026-10-25 07:23:56 -03:00
Dean e599efd64d Merge pull request #10572 from ZSWolt/fix/libscenet-usleep-negative-log
fix(libSceNet): print the console's line for a negative sceNetUsleep
2026-10-25 19:06:10 +13:00
Queuze 7bed4c2cc5 chore(net): sync protocol with current main 2026-10-24 18:59:51 -03:00
Adrià 637220db11 Merge pull request #8686 from Ondra97/codex/fix-net-empty-stream-receive
fix(net): complete zero-length TCP receives without waiting on Windows
2026-10-24 22:07:49 +02:00
Queuze eebd13e224 chore: refresh socket option contribution #9523 2026-10-24 15:52:53 -03:00
Queuze 942934a863 chore: refresh socket option contribution #9931 2026-10-24 15:52:49 -03:00
Queuze 2103fdf846 chore: refresh socket option contribution #9930 2026-10-24 15:52:49 -03:00
Adrià d4b85d2b29 Merge pull request #8362 from MarrasFederico/feat/net-get-sock-info6
feat(libSceNet): list IPv6 sockets in sceNetGetSockInfo6
2026-10-24 18:41:46 +02:00
Adrià feb5059ac4 Merge pull request #8254 from YossiYad/feat/net-threads
feat(libSceNet): implement the net thread calls and refuse network emulation
2026-10-24 18:35:46 +02:00
Adrià 3102f39af0 Merge pull request #8235 from jagrat04/feat/libSceNet-show-route-with-memory
feat(libSceNet): implement sceNetShowRouteWithMemory
2026-10-24 17:17:45 +02:00
Ondra97 3d0c155288 fix(net): guard empty stream polling on Windows 2026-10-24 15:45:58 +02:00
ZSWoltandClaude Opus 5.5 412c3cd91f fix(libSceNet): print the console's line for a negative sceNetUsleep
After sceNetInit, the console's sceNetUsleep prints
"[LIBNET] usleep <count>" to standard output for a negative count
before failing with EINVAL, as a payload measured on firmware 13.60
(#9076). AnyPS5 failed without printing it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 13:30:52 +03:00
jagrat Singh 32455327e4 feat(libSceNet): implement sceNetShowNetstatEx 2026-10-24 12:20:53 +02:00
Adrià 2dc8e456b5 Merge pull request #8225 from jagrat04/feat/libSceNet-show-policy
feat(libSceNet): implement sceNetShowPolicy
2026-10-24 12:18:48 +02:00
Dean efe844c653 Merge pull request #10308 from orezraey/fix/libkernel-socket-receive-measured-ps5
fix(libkernel): answer zero-length datagram receives and recvmsg flags as measured on a PS5
2026-10-24 20:46:44 +13:00
orezraeyandClaude Opus 5.5 366c18439e docs(libSceNet): move the sceNetRecv truncation note to the libSceNet debt file
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:43:13 -03:00
Yunus Shaikh fca8266468 Merge main into fix/libscenet-inet-text-rules 2026-10-23 19:15:30 -07:00
Queuze 4f6358a918 chore: sync contribution #9523 with main 2026-10-23 20:02:18 -03:00
Queuze 2a7c73eb2f chore: sync contribution #9930 with main 2026-10-23 20:02:16 -03:00
Queuze 323d269fa1 chore: sync contribution #9931 with main 2026-10-23 20:02:15 -03:00
orezraeyandClaude Opus 5.5 b2dc84b68d fix(libSceNet): read sceNetInetPton text and null outputs as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:17:24 -03:00
orezraeyandClaude Opus 5.5 d4321c6569 docs(libSceNet): separate the PS4 and PS5 measurements of sceNetInetPtonEx
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:10:40 -03:00
orezraeyandClaude Opus 5.5 dd9716e1c3 fix(libSceNet): convert sceNetInetPtonEx without an output as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:10:40 -03:00
Dean 0825fee797 Merge pull request #10052 from maximilianfv/fix/libscenet-macos-udp-shutdown
fix(libSceNet): wake a receive on an unbound datagram socket at shutdown on macOS
2026-10-24 01:45:04 +13:00
Yossi Yadgar 42961e1b45 docs(debt): note where the net thread and emulation behaviour comes from 2026-10-23 11:12:45 +03:00
78983daa1c fix(libSceNet): wake a receive on an unbound datagram socket at shutdown on macOS
On macOS, shutdown(SHUT_RD) on a UDP socket that was never bound does not
wake a thread blocked in recv on it, so sceNetShutdown left the receiver
hanging. Use the receive wait that Windows already has: block on the
socket table until the socket gets a local port or is shut, then poll.
On macOS an unbound socket reports port 0 from getsockname, so the check
looks at the port instead of the Winsock error.

Ported from #8658.

Co-authored-by: Himansh Raj <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 03:39:27 -03:00
Arnab Ghosh 5dfa258d9f feat(libSceNet): implement sceNetIoctl 2026-10-23 10:07:18 +06:00
xXPBSXxandClaude Sonnet 5.5 b2a6d79a89 docs(debt): record what a Windows datagram socket keeps after sceNetConnect to AF_UNSPEC
sceNetConnect dissolves a datagram association with the same host call sequence as connect (disconnect_datagram in Export.cpp). The sceNetConnect-to-AF_UNSPEC debt entry only described Linux. On Windows a socket bound to an explicit address keeps it in the same way, and a sendto on the host socket to a non-loopback address fails with Winsock error 10051, where FreeBSD's udp_disconnect() resets the local address.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 03:03:13 +02:00
Queuze fea0994737 chore: sync socket option contribution with main 2026-10-22 19:10:47 -03:00
Queuze c079a98a41 chore: sync socket option contribution with main 2026-10-22 19:10:46 -03:00
Queuze a559f1e0be chore: sync contribution with main 2026-10-22 19:02:56 -03:00
Dean 1fd6f9bb58 Merge pull request #9544 from Queuse/codex/net-buffer-validation
fix(libSceNet): reject nonpositive socket buffers
2026-10-23 10:54:58 +13:00
Dean 1da03c6f34 Merge pull request #9076 from orezraey/fix/net-utilities-measured-ps5
fix(libSceNet): accept every sceNetMemoryAllocate flag as measured on a PS5
2026-10-23 09:22:21 +13:00
Dean 5d40eb3fdc Merge pull request #9106 from Retr0G28/fix/scenet-stream-recv-timeout-eagain
fix(libSceNet): report EAGAIN when a stream receive times out on Windows
2026-10-23 09:22:12 +13:00
Queuse f696ec8809 docs(net): keep independent option entries apart 2026-10-22 12:55:52 -03:00
Queuse 1ffb6a7163 docs(net): avoid shared debt insertion point 2026-10-22 12:47:45 -03:00