Commit Graph
96 Commits
Author SHA1 Message Date
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
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
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 f555d351c8 Merge remote-tracking branch 'origin/main' into codex/net-buffer-validation 2026-10-22 12:23:03 -03:00
Dean 942dec44b4 Merge pull request #8598 from Ondra97/codex/fix-net-epoll-lifetime
fix(libSceNet): retire invalidated epoll registrations
2026-10-22 17:22:18 +13:00
ShinMalphur 24b7977241 Merge branch 'main' into feat/net-ether-address-parser 2026-10-22 09:44:29 +06:30
Queuze 4e7559ae9a fix(libSceNet): reject nonpositive socket buffers 2026-10-21 22:06:30 -03:00
orezraeyandClaude Opus 5.5 da0ed3b5c3 Merge main into fix/net-utilities-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 21:25:51 -03:00
boykopovar 597d17ecb2 docs(net): record verified thread exit contract 2026-10-21 21:53:00 +03:00
boykopovar 979aa24f40 fix(net): restore server startup and routing parameter layouts 2026-10-21 21:51:28 +03:00
boykopovar e7a9514f8e fix(net): restore address callbacks and diagnostic start parameters 2026-10-21 21:50:52 +03:00
boykopovar 08904c9c47 fix(net): restore address route and internal statistics signatures 2026-10-21 21:50:51 +03:00
boykopovar 04f2d9a60f fix(net): reject unsupported diagnostic output after initialization 2026-10-21 21:50:44 +03:00
boykopovar 60ca71bd1f fix(net): restore wlan scan buffers and result outputs 2026-10-21 21:50:43 +03:00
boykopovar 77f3c97478 fix(net): restore wlan and dhcp query signatures 2026-10-21 21:50:42 +03:00
boykopovar 1a214787ce fix(net): correct allocation size and flag handling 2026-10-21 21:47:59 +03:00
boykopovar 0f6161f885 fix(net): enforce initialization for sleep and random calls 2026-10-21 21:47:58 +03:00
boykopovar 85b192580a fix(net): recover thread join and interface list signatures 2026-10-21 21:47:47 +03:00
boykopovar 60e09c873d fix(net): recover scoped address and interface control signatures 2026-10-21 21:47:47 +03:00
boykopovar 0e9839e53c fix(net): recover packet dump and control signatures 2026-10-21 21:47:34 +03:00
boykopovar 1ef8e7beab fix(net): recover ipv4 and ipv6 dns parameter layouts 2026-10-21 21:47:33 +03:00
boykopovar 9a09fc0a78 fix(net): restore dns cache argument validation 2026-10-21 21:47:32 +03:00
boykopovar 1d9ba432df fix(net): recover diagnostic buffer and pool signatures 2026-10-21 21:47:31 +03:00
boykopovar 5c9322b1e0 fix(net): recover synchronization and event callback contracts 2026-10-21 21:47:07 +03:00
boykopovar 2b94ddfa7e fix(net): recover ipv6 interface configuration signatures 2026-10-21 21:45:11 +03:00
boykopovar 45997cbfe9 fix(net): recover address and route configuration signatures 2026-10-21 21:45:08 +03:00
boykopovar 9ccfc42192 fix(net): recover socket and interface control signatures 2026-10-21 21:45:07 +03:00
ShinMalphur f923ebb200 docs(net): state measured parser compatibility gaps 2026-10-21 23:29:59 +06:30
ShinMalphur b1ccca5cf7 Merge branch 'main' into feat/net-ether-address-parser 2026-10-21 23:24:11 +06:30
Retr0 3509bb528a fix(libSceNet): report EAGAIN when a stream receive times out on Windows
FreeBSD 11.4's soreceive_generic waits in sbwait (sys/kern/uipc_socket.c,
uipc_sockbuf.c), whose msleep_sbt on so_rcv.sb_timeo returns EWOULDBLOCK
(35) for every socket type when SO_RCVTIMEO expires. On Windows the host
socket is non-blocking and native_transfer enforces the timeout itself,
but it reported WSAETIMEDOUT, which only datagram receives turned into
EAGAIN; a stream receive failed with ETIMEDOUT (60). A receive that
reaches the stored timeout now reports WSAEWOULDBLOCK, so every
receive returns EAGAIN, and a host WSAETIMEDOUT still maps to ETIMEDOUT.
2026-10-21 15:26:46 +03:00
orezraeyandClaude Opus 5.5 c5df2f4ce0 fix(libSceNet): accept every sceNetMemoryAllocate flag as measured on a PS5
A PS5 (firmware 13.60) allocates with any flag value, zero-fills only for
flag 2 and returns 64-byte aligned blocks. Record the measured behaviour of
sceNetGetIfName, sceNetGetRandom, sceNetGetSystemTime, sceNetMemoryFree and
sceNetUsleep, which already match the console, and keep only their open gaps.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:48:19 -03:00
jagrat Singh 54d1a8d6d6 feat(libSceNet): implement sceNetShowRoute6 2026-10-21 12:44:40 +02:00
Dean 7ef094f7d4 Merge pull request #8222 from jagrat04/feat/libSceNet-show-route
feat(libSceNet): implement sceNetShowRoute
2026-10-21 20:19:56 +13:00
Ondra97 ed471c62e3 chore: merge main into epoll lifetime fix 2026-10-21 06:31:02 +02:00
Ondra97 401dee24b6 docs(net): keep transfer polling debt concise 2026-10-21 02:01:58 +02:00
Ondra97 c415375041 fix(net): finish blocking stream sends after short writes 2026-10-21 01:53:43 +02:00
Ondra97 6ac1e70057 fix(libSceNet): link epoll lifetime tests with net control 2026-10-21 01:19:49 +02:00
Dean 7e6830ec55 Merge pull request #8268 from Athen2045/feat/net-dns-info
feat(libSceNet): implement sceNetGetDnsInfo
2026-10-21 11:50:31 +13:00
Ondra97 e6ec827647 fix(libSceNet): reject invalid descriptors for epoll DEL 2026-10-20 22:24:10 +02:00
Ondra97 1b182e7fb2 fix(net): keep MSG_DONTWAIT transfers nonblocking on Windows 2026-10-20 21:47:08 +02:00
Ondra97 c7032e6acf fix(libSceNet): retire invalidated epoll registrations 2026-10-20 19:42:54 +02:00
Dean 587bb343e8 Merge pull request #8106 from juanpimg/feat/prx-declare-ps5-3.20-exports
feat(prx): declare the missing PS5 3.20 system exports
2026-10-20 21:13:30 +13:00
Allan JohnandClaude Opus 5.5 8ab6ecb17a feat(libSceNet): implement sceNetGetDnsInfo
Report the host IPv4 DNS servers of the interface sceNetCtlGetInfo
uses, through a helper libSceNetCtl exports, and return their count.
The signature and layout follow the OpenOrbis musl resolver and Net.h.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 13:19:12 +05:30
Dean 26f157ba15 Merge pull request #7959 from Lindamea1/fix/libscenet-getsockinfo-fill
fix(libSceNet): fill the address and port fields in sceNetGetSockInfo
2026-10-20 20:07:23 +13:00