14 Commits
Author SHA1 Message Date
TehshortbusandClaude Opus 5.5 8b030c1948 test(libSceNpEntitlementAccess): check the add-on log before the individual queries report other labels
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 08:04:16 -08:00
Tehshortbus d84ef9b612 Merge remote-tracking branch 'origin/main' into feat/entitlement-unlisted-label-log 2026-11-02 08:04:16 -08:00
KernelPanicNT b08d773dd0 feat(libSceNpEntitlementAccess): implement sceNpEntitlementAccessGetAddcontEntitlementInfoIndividual
Take the user ID, service label, entitlement label and info of the
runtime declaration in dlc_emu. A user ID of -1 returns the parameter
error before any other check; any other ID returns what
sceNpEntitlementAccessGetAddcontEntitlementInfo returns for the label,
including the not-found error for a label the entitlements file does
not list. Record the unverified prototype, the error order and the
label checks dlc_emu makes that this export does not in the debt.
2026-10-30 15:35:01 +00:00
Tehshortbus 759433c0b5 Merge remote-tracking branch 'origin/main' into feat/entitlement-unlisted-label-log
# Conflicts:
#	core/libs/tests/GuestEntitlements.cpp
2026-10-29 18:08:56 -07:00
akkadbakkad89 2456beff27 fix(libSceNpEntitlementAccess): make abort and delete request idempotent
No request can be created while signed out, so the library keeps no
request table. Sharpemu asserts abort/delete return OK for Gen4 and
Gen5 regardless of the request ID; titles treat a negative result as a
log-only cleanup error. Return 0 unconditionally instead of throwing.
2026-10-29 14:52:59 +01:00
Tehshortbus 651dc0c69a Merge remote-tracking branch 'origin/main' into feat/entitlement-unlisted-label-log
# Conflicts:
#	core/libs/tests/GuestEntitlements.cpp
2026-10-29 06:46:21 -07:00
TehshortbusandClaude Opus 5.5 b98d3e1f8b fix(libSceNpEntitlementAccess): name the entitlements file only, escape the label and cap the reports
The line printed the absolute path of anyps5-entitlements.ini, which holds the
user's home directory. It now names the file, or the path ANYPS5_ENTITLEMENTS
gives when it is set. Label bytes outside printable ASCII, and the backslash,
are written as \xNN, so a label cannot forge or hide log lines. After 64
reported labels one more line says further ones are not reported. USAGE names
the title by its ID and uses a neutral example label.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:25:13 -07:00
TehshortbusandClaude Opus 5.5 d70122af99 feat(libSceNpEntitlementAccess): name each add-on a title asks for that the entitlements file does not list
An add-on label that anyps5-entitlements.ini does not list is reported as not
installed, with nothing in the log. Some titles then wait at start-up for it
behind their loading screen. The first query for each unlisted label now prints
one line naming the label and the file, and USAGE documents the file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:39:18 -07:00
PrivacyOnion 6e775896ba test(libSceNpEntitlementAccess): cover request bounds and parameter checks in GuestEntitlements 2026-10-28 10:44:01 +01:00
PrivacyOnion a9eca70261 test(libSceNpEntitlementAccess): cover request bounds and parameter checks in GuestEntitlements
Signed-off-by: PrivacyOnion <[email protected]>
2026-10-27 13:41:11 +01:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
al3w0f205 9d15da71a6 test(libSceNpEntitlementAccess): cover flag queries and transaction parameter validation 2026-10-23 11:31:43 -05:00
orezraeyandClaude Opus 5.5 be53b82585 fix(libSceNpEntitlementAccess): check a configured entitlements file through the wide environment
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 09:19:37 -03:00
orezraeyandClaude Opus 5.5 ae2233ed0b fix(libSceNpEntitlementAccess): read ANYPS5_ENTITLEMENTS through the wide environment on Windows
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 09:18:22 -03:00