Commit Graph
20967 Commits
Author SHA1 Message Date
jacob6769 e56245a42c Merge remote-tracking branch 'origin/main' into fix/libressl-digest-version-paths
# Conflicts:
#	core/libs/prx/libSceLibreSsl3/src/Digest.cpp
#	core/libs/tests/GuestLibreSslDigest.cpp
#	docs/dev/debt/libSceLibreSsl.md
2026-10-25 15:13:36 +09:00
Dean caffb7d8b5 Merge pull request #10474 from hyvvs/fix/check-skips-reasons
fix(ci): reject skips with mixed expected and unexpected reasons
2026-10-25 19:13:27 +13:00
atharvjairath e5a5b9382e feat(vdecsw): implement generic single-picture metadata queries 2026-10-25 11:41:09 +05:30
Dean 9a42111eab Merge pull request #9767 from DavidSamir/test/libc-standard-strings
test(libc): cover the standard string exports
2026-10-25 19:07:20 +13:00
hakarrr 51ac6f679b test(relinker): compile the executable-exports probe on glibc before 2.36 2026-10-25 11:37:16 +05:30
Dean ec1fdd4e6d Merge pull request #9766 from DavidSamir/test/libc-vector-algorithms-sizes
test(libc): cover the sized find, count, min and max vector helpers
2026-10-25 19:06:50 +13:00
Dean e599efd64d Merge pull request #10572 from ZSWolt/fix/libscenet-usleep-negative-log
fix(libSceNet): print the console's line for a negative sceNetUsleep
2026-10-25 19:06:10 +13:00
Dean e1ad116e72 Merge pull request #10670 from Bram910/fix/patch-advisor-utf8-io
fix(tools): use UTF-8 for patch advisor I/O
2026-10-25 19:05:39 +13:00
Dean fa33658dcd Merge pull request #10762 from AlexFigas/feat/np-close-event-flag
feat(libSceNpCommon): forward sceNpCloseEventFlag to sceKernelCloseEventFlag
2026-10-25 19:05:08 +13:00
Dean b5f669fd0d Merge pull request #10777 from harisibrar1/fix/select-clear-bits-past-nfds
fix(libkernel): clear select bits from nfds to the end of their word
2026-10-25 19:04:39 +13:00
Dean 61c55ed466 Merge pull request #10748 from Bram910/fix/workflow-script-boundaries
fix(tools): match workflow test scripts only as whole paths
2026-10-25 19:04:09 +13:00
Dean 82c5f05a7c Merge pull request #10603 from JaceTheBlu/main
fix(web): show batch file and module counts as numbers
2026-10-25 19:03:38 +13:00
Dean 8523ec776f Merge pull request #10673 from MarcZX10/marc/signatures-libscebgft
feat(libSceBgft): declare GetPatchProgress and GetTaskInfo with known signatures
2026-10-25 19:03:03 +13:00
harisibrar1andClaude Opus 5.5 c580a29fe6 test(relinker): apply the relinker test environment after every relinker test is registered
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 02:02:59 -04:00
Dean 4b31738b2b Merge pull request #10624 from Bram910/fix/library-zip-original-paths
fix(tools): reject rewritten library ZIP paths
2026-10-25 19:02:31 +13:00
Dean 01c8fe6d1e Merge pull request #10586 from hakarrr/patch-1
fix(tools): open the unwrap_self temporary file through io.open
2026-10-25 19:01:55 +13:00
Dean effe283dca Merge pull request #10747 from roboterspinne/fix/tools-check-main-sync-missing-head
fix(tools): name a missing head instead of reporting no common ancestor in check_main_sync
2026-10-25 19:01:23 +13:00
Dean 2400596055 Merge pull request #10642 from maximilianfv/fix/tests-rtc-unique-title-directory
fix(tests): give each RTC test run its own title directory
2026-10-25 19:00:52 +13:00
Yunus Shaikh bad1a7994d docs(libSceNpManager): note the NpManagerInt account-id getters waiting on the offline model 2026-10-25 05:42:38 +00:00
Yunus Shaikh 3fbd8a1453 feat(libSceNpManager): report the NpManagerInt authorization calls as signed out
sceNpManagerIntAuthGetAuthorizationCode, AuthGetIdToken,
GetAuthorizationCode and GetAuthorizationCodeWithPsnoUri return
SCE_NP_ERROR_SIGNED_OUT. That is the answer libSceNpAuth's
authorization-code and ID-token calls give for a live request while NP
is signed out. Their signatures are unknown, so they read no argument.
2026-10-25 05:42:22 +00:00
Yunus Shaikh fe2f380636 feat(libSceNpManager): report the NpManagerInt user lookups as signed out
sceNpManagerIntGetUserIdByOnlineId and GetUserIdByNpId return
SCE_NP_ERROR_SIGNED_OUT, as sceNpGetUserIdByOnlineId does while NP is
signed out. An NpId carries the online ID, so the NpId form is the same
lookup. Neither reads an argument.
2026-10-25 05:41:50 +00:00
Yunus Shaikh c4363b0415 feat(libSceNpManager): report the NpManagerInt profile getters as signed out
sceNpManagerIntGetAccountAge, GetAccountCountryA, GetAccountLanguageA,
GetNpId and GetOnlineId return SCE_NP_ERROR_SIGNED_OUT, as their public
twins do while NP is signed out. Their signatures are unknown, so they
read no argument and write nothing.
2026-10-25 05:41:13 +00:00
Leonardo ba3f730421 fix(libSceNetCtl): use cryptographic entropy for STUN transaction IDs 2026-10-25 06:34:41 +01:00
MarcZX10 4c3aed7b32 test(libc): cover asctime_s with extreme tm_year values
A valid broken-down time with tm_year INT_MAX, INT_MAX - 1899 and INT_MIN must fail with EINVAL and an empty buffer through both asctime_s exports. Run under UndefinedBehaviorSanitizer, the case reports signed integer overflow without the fix.
2026-10-25 05:25:22 +00:00
MarcZX10 455f7b093c fix(libc): add the year in asctime_s without signed overflow
asctime_s and sceAmprAsctimeS added 1900 to tm_year in int before the range check, so a tm_year near INT_MAX overflowed: UndefinedBehaviorSanitizer reports signed integer overflow at SonyCrt.hpp:91. The year is now computed in 64 bits; the result stays EINVAL with an empty buffer for any year outside 0 to 9999.
2026-10-25 05:25:22 +00:00
harisibrar1 b8b42143b1 Merge main e7e3e9c198 into fix/pselect-pending-signal-eintr 2026-10-25 01:24:28 -04:00
Felipebmaitan f68eb887c9 docs(libkernel): record wait allocation failure ownership gap 2026-10-25 02:17:27 -03:00
Felipebmaitan 84340f6d63 fix(libkernel): avoid cancellation wakeups during thread exit 2026-10-25 02:13:36 -03:00
Felipebmaitan 64ad39e457 test(libkernel): reproduce cancellation waiting on thread exit 2026-10-25 02:12:00 -03:00
Felipebmaitan e50cbf349d test(ngs2): distinguish custom safety refusals 2026-10-25 02:06:55 -03:00
Felipebmaitan 4c3ac82dea test(libkernel): observe processing waiters before releasing AIO 2026-10-25 02:03:36 -03:00
Matheus Herberts 03f382934e fix(relinker): align ELF64 section header tables 2026-10-25 01:57:10 -03:00
Felipebmaitan bc8562f746 fix(libkernel): preserve AIO request ownership and identities 2026-10-25 01:56:43 -03:00
Felipebmaitan a43a610bbf fix(ngs2): reject routes changed during recursive rendering 2026-10-25 01:52:16 -03:00
Felipebmaitan 2da1332bff test(ngs2): expose callback route mutation 2026-10-25 01:50:47 -03:00
Felipebmaitan 19f088c8ff test(ngs2): cover custom processing reentry boundaries 2026-10-25 01:46:22 -03:00
Felipebmaitan 93b887e514 feat(ngs2): route custom submixer buffers through Gain 2026-10-25 01:34:10 -03:00
xXPBSXxandClaude Sonnet 5.5 e03c57cad5 docs(debt): note how a title and its plugin call sceSaveDataInitialize3 and Terminate
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 05:31:06 +01:00
Braxton Atkinson 4dcfc0b3db feat(libSceAppContent): implement sceAppContentGetEntitlementKey
Resolve the rebase conflicts with upstream's public API header migration. Put the typed entitlement-key layout and signature in Api.hpp, remove duplicate test/source declarations, and retain upstream's typed add-content checks and initialization behavior.

Keep ignoring the service label in the no-entitlement model. Cover labels 0, 7, 8 and UINT32_MAX without touching the output key. Update debt to distinguish firmware 13.42 module-side validation from the still-unverified system-service result. Evidence: https://github.com/boykopovar/AnyPS5/pull/9638#issuecomment-6390573735

Ubuntu 24.04, GCC 13.3, Release, upstream e7e3e9c198: actual libraries and guest_appcontent_tests built; guest_appcontent passes 1/1. Public-header audit, syntax checks of implementation and test, conventions, test registration and whitespace checks pass. No title or PS5 hardware tested; Windows was not rerun for this update.

AI-assisted: yes
2026-10-24 23:29:15 -05:00
Braxton Atkinson 2f975066cd fix(tools): parse flow-style pull-request filter keys safely 2026-10-24 23:26:59 -05:00
wail-arch e87d6b2227 refactor(libSceNotification): declare sceNotificationSend with the SDK's parameters
Homebrew built with the ps5-payload-dev SDK declares
sceNotificationSend(int userId, bool isLogged, const char* payload) and
its notify sample passes the system user, true and a JSON toast. Use
those parameters, which take the same registers as before, keep the
export throwing and record the call in the technical debt.
2026-10-25 04:17:49 +00:00
Yunus Shaikh a666c83d20 fix(libkernel): accept every AMM id the queue has handed out in the completion wait
AmmSubmit_nid_no_patch stored the id _submit returned into lastSubmit
after _submit had released the queue's submit lock. Two submitters could
store out of order: the later id was stored first, then the earlier one
overwrote it, and a wait for the later, already submitted id failed with
ESRCH until the next submission.

The wait now checks the id against the AMM queue's own submitted count,
which _submit raises under the queue mutex before it returns, and
lastSubmit goes.

The test has four threads submit empty AMM buffers while another waits
on the newest id any of them has published, through
sceKernelWaitCommandBufferCompletion and
sceAmprAmmWaitCommandBufferCompletion, and requires every wait to
succeed.
2026-10-24 21:15:55 -07:00
camezaro-intc 0e04fd6357 fix(tests): support unittest discovery for NID patcher tests 2026-10-24 22:01:35 -06:00
xXPBSXxandClaude Sonnet 5.5 5c6cd07831 docs(debt): note what a title does with the sceKernelGetOperationMode values
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 04:58:21 +01:00
JJenkx 4fba4f896a fix(tools): reject audit reports that overlap the original dump 2026-10-24 23:52:03 -04:00
JJenkx 9ee6bec438 test(tools): restore stale directory permissions before teardown 2026-10-24 23:45:09 -04:00
JJenkxandClaude Opus 5.5 84038e16dd fix(tools): stop when a reused audit work directory cannot be emptied
Removing the generated source and output directories ignored errors, so an
undeletable stale registry survived and was audited with the new run's
registries. Report the failure and return 2 before conversion; remove a link
in place of a generated directory instead of following it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:45:09 -04:00
JJenkx 7ca880d2e4 fix(tools): reject audit work paths overlapping the input dump 2026-10-24 23:45:09 -04:00
JJenkxandClaude Opus 5.5 14f37caae6 fix(tools): empty a reused audit work directory and report broken module links
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:45:09 -04:00
JJenkxandClaude Opus 5.5 aeaa3b58f0 feat(tools): audit an extracted title's imports in one step
Auditing a title before its first run takes several manual steps from
GAME_TESTING: unwrap eboot.bin and every module the title ships with
unwrap_self.py, convert them with relinker --registry (with
--module-dir for Unity's Media/Modules and Media/Plugins, and for
modules beside eboot.bin), and pass every registry and module folder
to import_audit.py. Missing one module folder turns its imports into
false "absent" entries.

tools/audit_dump.py <app0> --relinker <path> --libs <dir> does those
steps into a temporary directory (or --work <dir>), reading the dump
only. A module that is already a plain ELF is copied; one that is
neither a SELF nor an ELF fails the run. It returns import_audit's exit
code, or 2 when unwrapping or conversion fails.

audit_dump covers the module folders and the module-dir list, a
refused module, the relinker command line, the arguments passed to
import_audit, a relinker failure and the argument errors.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:45:09 -04:00