Commit Graph
10 Commits
Author SHA1 Message Date
XairRrR b491b21388 fix(libSceNpAuth): reject a null result pointer in sceNpAuthPollAsync
sceNpAuthPollAsync did not check its result pointer. With a null pointer
it looked up the request, returned 1 on the first poll of a processed
async request and 0 (finished) on later polls without delivering the
result, so a caller saw a finished request with no result instead of an
error.

It now returns ORBIS_NP_AUTH_ERROR_INVALID_ARGUMENT (0x80550301) for a
null result pointer before the request lookup, as sceNpAuthWaitAsync
already does and as shadPS4 does for both calls. The title call sites
recorded in the libSceNpAuth debt also treat 0x80550301 from Poll as an
invalid result pointer.

AI-assisted: yes
2026-10-29 07:24:20 +01:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
Ondra97 2236680340 fix(libSceNpAuth): reject completion queries before request start 2026-10-22 01:41:08 +02:00
boykopovar 17d93d1ff2 fix(npauth): restore authorized app code parameters and validation 2026-10-21 21:51:22 +03:00
boykopovar 582362546c fix(npauth): validate and retain request timeout settings 2026-10-21 21:51:07 +03:00
NoOverflow 982db91217 feat(libSceNpAuth): implement sceNpAuthGetAuthorizationCodeA and sceNpAuthGetIdTokenA
Both forward to their V3 counterparts, which share one implementation in
shadPS4, and complete libSceNpAuth (14/14).
2026-10-21 13:28:13 +02:00
Nithishvelan M 6c2ff1df85 feat(libSceNpAuth): export sceNpAuthGetAuthorizationCode and sceNpAuthGetIdToken
Export sceNpAuthGetAuthorizationCode (NID KxGkOrQJTqY) and
sceNpAuthGetIdToken (NID uaB-LoJqHis) in libSceNpAuth, delegating to the
corresponding V3 implementations.

Add test coverage in GuestNpAuth for both calls covering invalid
arguments, signed-out responses on sync requests, deferred async handling,
and unknown request IDs, as well as sceNpAuthGetAuthorizedAppCode. Update
technical debt documentation.
2026-10-19 19:06:14 +05:30
Sasha PapoandClaude Opus 5.5 cb8b0caf7d fix(libSceNpAuth): report an async request as running on its first poll
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 13:07:19 -04:00
8a7e1195d4 feat(exports): export the calls PPSA01317 imports
Gran Turismo 7 (PPSA01317) fails to load on unresolved imports and on
two needed libraries that AnyPS5 does not build (#4782).

- sceAppContentDownloadDataFormat empties /download0, as
  sceAppContentTemporaryDataFormat does for /temp0.
- sceNpAuthSetTimeout returns REQUEST_NOT_FOUND for an unknown request
  like the other request calls, and OK otherwise; no request reaches the
  network the timeouts would bound.
- sceNpWebApi2PushEventSetHandleTimeout throws for an unknown library
  context, like sceNpWebApi2GetMemoryPoolStats, and returns OK
  otherwise; push event handles are not tracked and nothing waits on
  one offline.
- sceSslDisableVerifyOption, sceSslGetAlpnSelected, sceSslSetAlpn,
  sceSslSetMinSslVersion, sceAudioOutDeviceIdOpen and the unnamed
  libScePsml NIDs xNZM9Y5lf-M and lcZD9tJraAw are declared without
  parameters and throw; their signatures are unknown.
- libSceUsbStorage and libSceUsbStorageDialog exist with no exports,
  like libSceXml: the title lists both as needed but imports nothing
  from them.

Each assumption is recorded in the library's technical debt file.

Co-authored-by: dawid-swiecicki <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 01:11:29 +02:00
virp-mta 62d12756b7 feat(libSceNpAuth): complete offline request lifecycle following shadPS4 2026-10-12 22:34:51 +02:00