mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-08 13:50:20 +00:00
Apply review request from 2026-11-05: a path that contains mode=memory no longer counts as an in-memory database, so such a URI cannot create a file on the host.
5.4 KiB
5.4 KiB
libSceNKWebKitRequirements technical debt
Known export names; ABI prototypes unverified
- 83 pending exports in Export.cpp are present in the PS5-3.20_Libs inventory. Their prototypes and behavior are unverified. They use the no-parameter import-resolution convention and throw through
NotImplemented_nid_no_patch; these declarations make no ABI or behavior claim. - The 72 of them declared in Identified.hpp carry the zlib, libjpeg, libpsl, libxml2 and UndefinedBehaviorSanitizer names whose
tools/nid_names.pyhash equals the inventory NID; the names were taken from the identifiers of the zlib 1.3.1, libjpeg-turbo 3.0.4, libpsl 0.21.5 and libxml2 2.13.4 sources and from the two__ubsan_handle_cfi_check_failhandlers libkernel_sys exports. A name match does not show that the console function has that library's prototype or behavior. The other 11 hash to no identifier of those sources or of SQLite 3.46.1, ICU 76.1, HarfBuzz 10.0.1, cairo 1.18.2, pixman 0.42.2, FreeType 2.13.3, libpng 1.6.44, Expat 2.6.3, libxslt 1.1.42, libwebp 1.4.0, Brotli 1.1.0, WOFF2 1.0.2, curl 8.10.1, Little CMS 2.16, OpenJPEG 2.5.2 and Fontconfig 2.15.0.
SQLite adapters
- The 50
sqlite3_*exports in Sqlite.cpp assume the public SQLite C prototypes because their names hash to the inventory NIDs; the console prototypes are not confirmed. They call SQLite 3.54.1 built from3rdparty/sqlitewithSQLITE_THREADSAFE=1andSQLITE_OMIT_LOAD_EXTENSION. The console library's version and compile options are unknown. sqlite3_open_v2ignores the guest VFS name and uses the host default VFS. It maps file names through the guest path resolver, but passes:memory:, empty names andSQLITE_OPEN_MEMORYon a name that is not afile:URI unchanged. Afile:URI opened withSQLITE_OPEN_URIpasses unchanged only when its path is exactly:memory:ormode=memoryis the lastmodequery parameter and the URI has no%; every other such URI throws throughNotImplemented_nid_no_patch. A database that exists only insideapp0.zaris refused. SQLite writes the database and its-wal,-shmand-journalfiles on the host directly; a read-write open records those paths sosceKernelSyncflushes them, but SQLite's own sync calls are not routed through the guest file layer.sqlite3_open_v2installs a host authorizer on every connection it opens that deniesATTACH DATABASEof any non-empty name, so a guestATTACHorVACUUM INTOfails withSQLITE_AUTHinstead of writing a host path that skips the guest path resolver;ATTACH ''and a plainVACUUMstill work. The guest's ownsqlite3_set_authorizercallback runs after it and cannot lift it. Resolving the guest path for those statements is not implemented.sqlite3_bind_blobandsqlite3_bind_text16copy data given with a guest destructor and call that destructor before returning, instead of when SQLite releases the value.sqlite3_wal_hookreturns the host's previous argument, such as the default autocheckpoint frame count, until a guest hook is installed.
Additional callable exports
- Additional callable exports - 32 entries present in both version-labelled images are import-resolution declarations only. Neither label independently authenticates retail firmware provenance. These NIDs are absent from the pinned public 3.20 catalogue. Parameter lists, return types and behavior are unverified; parameterless
intdeclarations are placeholders, not verified ABI contracts. Every entry throws throughNotImplemented_nid_no_patch. Unidentified names use literal NID aliases. No runtime functionality is implemented. Data exports require separate layout and ownership analysis. Identified candidate names match their NIDs in the public symbol database or supplemental catalog.
| Name | NID |
|---|---|
Unknown |
++QInfMOBN0 |
Unknown |
+oA7tlz2Aiw |
Unknown |
1MRhOnElUw4 |
Unknown |
1T7K-PY5paE |
Unknown |
3yG30EKj-64 |
Unknown |
4dTqu8uWd6Q |
Unknown |
6-rd4IXD0mM |
Unknown |
68aoiQnJutE |
Unknown |
8u1QXzSpyno |
Unknown |
JwB900c8Nyo |
Unknown |
KCP1Db-mniM |
Unknown |
NCGIxzXT-KA |
Unknown |
TAGTeghnmJs |
Unknown |
TNO-EUJZf3c |
Unknown |
Wz6vEl9ATDQ |
Unknown |
YpZ1fAOlVoo |
Unknown |
ZSkWe-fNsuY |
Unknown |
cgNin5rMqA8 |
Unknown |
cq16C8ickjY |
Unknown |
hjlKZNuv+v8 |
Unknown |
o6hmqtmcw10 |
Unknown |
o7ktMsqiCBU |
Unknown |
rW6yS0aJbjQ |
Unknown |
rgWcud6b43M |
Unknown |
soW4BQ5l3Os |
Unknown |
tc5h+wVQWZI |
Unknown |
tu7+XEdsUA8 |
Unknown |
u4SbDPju5eo |
Unknown |
uXf4oddEz5E |
Unknown |
uiTgPO1VRaA |
Unknown |
x2xMh95HEb4 |
Unknown |
z5L7zirdMWM |