Commit Graph
181 Commits
Author SHA1 Message Date
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
MarcZX10 548aecf030 test(net): make resolver failures deterministic 2026-10-22 05:36:57 +00: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
orezraeyandClaude Opus 5.5 da0ed3b5c3 Merge main into fix/net-utilities-measured-ps5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 21:25:51 -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 c90fa12732 fix(net): restore diagnostic buffers and route pointer returns 2026-10-21 21:50:41 +03:00
boykopovar b24f69664c fix(net): recover resolver connection and interface query signatures 2026-10-21 21:50:41 +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 89da7e6c0a fix(net): follow measured PS5 Ethernet pair decoding 2026-10-21 23:26:44 +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 <noreply@anthropic.com>
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 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 278721a708 chore: merge current main into epoll lifetime fix 2026-10-20 22:24:13 +02: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
xXPBSXxandClaude Sonnet 5.5 3fb021f9bb fix(libSceNet): map every host socket error through the guest errno table
sceNet translated only 21 host socket errors and reported every other one
as EIO. libkernel already owns the complete FreeBSD table in
GuestSockets::GuestErrorFromHost, so use it for net_error. The new check
makes a stream socket with the UDP protocol fail with EPROTONOSUPPORT (43)
instead of EIO (5).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:24:33 +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 <noreply@anthropic.com>
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
Dean 138351d714 Merge pull request #8056 from ntamas94/fix/sce-net-inet-pton-ex-aton
fix(libSceNet): parse sceNetInetPtonEx IPv4 text as the PS4 does
2026-10-20 19:31:57 +13:00
Lindamea1andClaude Opus 5.5 a05db60c87 fix(libSceNet): fill the address and port fields in sceNetGetSockInfo
sceNetGetSockInfo returned 0 for a known socket and wrote nothing, so
callers read uninitialised bytes as the socket's endpoints. Monster
Hunter Wilds (PPSA24191) calls it after bind, connect and accept and
stores the local and remote address and port it reads back.

It now writes one 0xA0-byte record in the layout SharpProspero and
shadPS4 give: the socket id, the socket type, the local and remote
IPv4 address and port of the host socket in network byte order, the
SELF and NONBLOCK status flags, and the receive and send buffer sizes
sceNetGetsockopt reports for the socket. The other fields are 0. It
returns 1, the number of records written, and EINVAL for a null record
or an n below 1, as shadPS4 does.

An s below 0 lists the sockets as shadPS4 does: with a null record it
returns their number, otherwise it writes up to n records in socket
order and returns how many it wrote. Unlike shadPS4, which lists IPv6
sockets with zero addresses and ignores flags, an IPv6 socket fails
with EAFNOSUPPORT and is left out of the count and the list, and a
flags bit other than 0x40 fails with EINVAL. SharpProspero names 0x40
SockInfoTimeWait; closed sockets leave the table at once, so it lists
the same sockets. docs/dev/debt/libSceNet.md lists the fields left 0
and these differences.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 07:23:51 +01:00
Dean df56570fe2 Merge pull request #8054 from HQasper/feat/net-interface-names
feat(libSceNet): implement interface names, random values and net memory
2026-10-20 18:31:02 +13:00
Dean Galvin eeff77c380 Merge main into pr-8106
# Conflicts:
#	docs/dev/debt/libSceAcm.md
#	docs/dev/debt/libScePlayGo.md
#	docs/dev/debt/libSceSystemGesture.md
#	docs/dev/debt/libSceWebBrowserDialog.md
2026-10-20 17:58:28 +13:00
Dean 9d6470ea21 Merge pull request #7991 from MarrasFederico/feat/sce-net-resolver-aton6
feat(libSceNet): reverse-resolve IPv6 addresses in sceNetResolverStartAton6
2026-10-20 17:50:03 +13:00
Dean ca5cd3128b Merge pull request #8013 from MarrasFederico/feat/sce-net-clear-dns-cache
feat(libSceNet): accept sceNetClearDnsCache with no library DNS cache to drop
2026-10-20 17:46:56 +13:00