Skip to content

feat(libSceHttp): accept the SSL version, SSL error and redirect and cookie callback calls - #1206

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
CnRJay:feat/http-ssl-and-callbacks
Oct 8, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
CnRJay:feat/http-ssl-and-callbacks

Conversation

@CnRJay

@CnRJay CnRJay commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

What

Implements sceHttpsSetSslVersion, sceHttpsGetSslError, sceHttpSetRedirectCallback and sceHttpSetCookieRecvCallback. Before this change they were declared without parameters and threw (PPSA23566 imports).

No request reaches the network, so:

  • the SSL version has no TLS connection to configure;
  • the redirect and cookie-receive callbacks are accepted and never called;
  • sceHttpsGetSslError reports error 0 with detail 0.

A null errNum or detail returns SCE_HTTP_ERROR_INVALID_VALUE, as sceHttpGetLastErrno does. Signatures follow shadPS4. Adds the HttpRedirectCallback and HttpCookieRecvCallback types to SceTypes.hpp. TechnicalDebt changes:

  • removes the four functions from the PPSA23566 unknown-signature entry;
  • adds them to the libSceHttp silent-stub entry;
  • adds a signature-source entry for them.

Tested

Ubuntu 24.04, GCC 13.3, Release build. guest_http passes with new checks: each setter returns 0, sceHttpsGetSslError writes 0/0, and a null errNum or detail returns INVALID_VALUE. The full ctest run also passes, except agc_driver_flip, which failed only under -j8 and passes when run alone.
Also checked on Windows 11 (MinGW GCC Release build): guest_http passes.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • AI-assisted: yes

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Progress report (ac951f8 → 3ed954f)

📈 System libraries: 85.37% (+0.14%, +4 implemented functions)

✅ 4 implemented
Library Name
libSceHttp sceHttpSetCookieRecvCallback
libSceHttp sceHttpSetRedirectCallback
libSceHttp sceHttpsGetSslError
libSceHttp sceHttpsSetSslVersion

…cookie callback calls

No request reaches the network, so sceHttpsSetSslVersion has no TLS
connection to configure, sceHttpSetRedirectCallback and
sceHttpSetCookieRecvCallback register callbacks that are never called,
and sceHttpsGetSslError reports error 0 with detail 0. A null errNum or
detail returns SCE_HTTP_ERROR_INVALID_VALUE like sceHttpGetLastErrno.
Signatures follow shadPS4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the signatures against shadPS4 and SharpProspero (they agree), the callback typedefs against shadPS4, and the TechnicalDebt entries (silent stub, signature source, PPSA23566 line removed). guest_http fails to build without the change and passes with it; full ctest passes on the rebased head, CI is green.
Only a mechanical conflict in docs/dev/TechnicalDebt.md; rebased onto current main. Merging once CI is green on the rebased head.

@adriadam10
adriadam10 force-pushed the feat/http-ssl-and-callbacks branch from 5ddaf24 to 3ed954f Compare October 8, 2026 09:09
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

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.

Pull request Conflicting files (lines on main) Same exports Same new files
#1481 core/libs/SceTypes.hpp L1221
core/libs/tests/GuestHttp.cpp L25
docs/dev/TechnicalDebt.md L35, L176

@adriadam10
adriadam10 merged commit b367182 into boykopovar:main Oct 8, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants