Repository navigation
Conversation
…mentKey A label missing from the entitlements file answers NOT_FOUND, as sceNpEntitlementAccessGetAddcontEntitlementInfo does. A listed label throws, since no add-on key is available. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The progress report counts 🤖 Generated with Claude Code |
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
|
Correction: #1436 (opened earlier today) already adds One difference for whoever reviews #1436: it answers an unlisted label with 🤖 Generated with Claude Code |
|
Closing in favour of #1436. |
What
Adds
sceNpEntitlementAccessGetEntitlementKey(NID5LiMEPuW0DQ) to libSceNpEntitlementAccess. It is the only import of God of War Sons of Sparta (PPSA28997) that no AnyPS5 library exports: Unity'sMedia/Plugins/PSN.prximports it, so the relinked title stops at load withunresolved ELF import 5LiMEPuW0DQ from libSceNpEntitlementAccess.prx.Signature, from the call site in
PSN.prx(0x4400):int sceNpEntitlementAccessGetEntitlementKey(SceNpServiceLabel, const SceNpUnifiedEntitlementLabel*, SceNpEntitlementAccessEntitlementKey*). The caller copies the label into a 17-byte buffer, zeroes a 16-byte key and treats a negative result as failure. The name was matched by hashing it to the NID.Behaviour:
SCE_NP_ENTITLEMENT_ACCESS_ERROR_PARAMETER;anyps5-entitlements.ini/ANYPS5_ENTITLEMENTS):SCE_NP_ENTITLEMENT_ACCESS_ERROR_NOT_FOUND, the answersceNpEntitlementAccessGetAddcontEntitlementInfogives for the same label. The console's error for an unowned label is unverified and recorded in TechnicalDebt;NotImplemented, as AnyPS5 has no key for an add-on.NpEntitlementAccessEntitlementKey(16 bytes) is added toSceTypes.hpp. The library gets its ownCMakeLists.txt(same shape as libSceGameUpdate) so the test can linklibcand catch the throw.Tested
Windows 11 Pro 26200, WinLibs GCC 15.2.0, Release.
guest_np_entitlement_access: null arguments, an unlisted label (NOT_FOUND, key left untouched) and a listed label (throws, key left untouched), using a temporary entitlements file.undefined reference to sceNpEntitlementAccessGetEntitlementKey). With an unlisted label returning 0 it fails at line 59; with a listed label returning 0 instead of throwing it fails at line 68. Restored: passes.ctest -j8 -E "agc_driver|graphics": 262/262 passed.--module-dir Media/Plugins --module-dir Media/Modules) and feat(libkernel): implement _umtx_op wait and wake operations #1482 (_umtx_op): all imports now resolve; the title starts, renders, mounts and writes its save data, and keeps running.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code