mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 00:05:58 +03:00
[PR #3712] [MERGED] NpAuth: Improved stubs #3675
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#3675
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/3712
Author: @StevenMiller123
Created: 10/5/2025
Status: ✅ Merged
Merged: 10/6/2025
Merged by: @squidbus
Base:
main← Head:np-auth📝 Commits (10+)
9818495Some structs and function definitions3232b56Fill in remaining function definitions and structs64b742fSome errorse9f4443Minor formatting changee659cf3Some more errors1852921GetIdToken error cases59440e6Remaining error cases2044f59Basic request handlingba6dbb6NpAuthRequest usage87e6b28Oops📊 Changes
5 files changed (+404 additions, -51 deletions)
View changed files
📝
src/core/libraries/np/np_auth.cpp(+328 -38)📝
src/core/libraries/np/np_auth.h(+42 -13)➕
src/core/libraries/np/np_auth_error.h(+13 -0)📝
src/core/libraries/np/np_error.h(+1 -0)📝
src/core/libraries/np/np_types.h(+20 -0)📄 Description
This PR adds more thorough stubs for a majority of the libSceNpAuth library, based primarily around decompilation and hardware testing.
Most of libSceNpAuth's functions behave around a similar request logic to libSceNpManager, though the internal request data and library state as a whole are completely separate, which is why I've chosen to rename the internal structs I used despite copying most of that logic from my NpManager PR.
The only actual time where libSceNpAuth calls into libSceNpManager is when sending the actual requests, where it uses internal libSceNpManager calls to create an NpManager request, get the authorization_code, issuer_id, and token as needed, then delete the NpManager request.
The
GetAuthorizationCodeandGetIdTokenhelper functions are based around similar helper functions I decompiled from the actual library, and same goes for the various parameter checks spread throughout this code.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.