Repository navigation
feat(http): implement sceHttpParseStatusLine - #642
Merged
oneandonlydean merged 1 commit intoOct 5, 2026
Merged
Conversation
This was referenced Oct 5, 2026
|
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.
|
8 tasks done
8 tasks done
Titles import sceHttpParseStatusLine from libSceHttp to read the status line of a response; without the export they fail at startup. Parse the HTTP/x.y version, the three-digit code and the reason phrase up to the line feed, and return the library's PARSE_HTTP error codes. The seven-argument signature is the one SharpProspero declares; the behaviour follows the shadPS4 reimplementation of the PS4 library, except that no byte past lineLen is read. A consumed count above INT32_MAX cannot be returned and throws. guest_http covers valid lines and each error path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Celegans12
force-pushed
the
feat/http-parse-status-line
branch
from
October 5, 2026 15:51
1bbebc3 to
d926e78
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
libSceHttp does not export
sceHttpParseStatusLine, so PPSA26344's import of it does not resolve.sceHttpParseStatusLine(statusLine, lineLen, httpMajorVer, httpMinorVer, responseCode, reasonPhrase, phraseLen)(Qq8SfuJJJqE, newsrc/Parse.cpp) parsesHTTP/<major>.<minor> <code>and returns the number of bytes up to and including the first line feed. The phrase starts right after the code and ends before the line feed and one optional CR.PARSE_HTTP_INVALID_RESPONSE(0x80432060) for a nullstatusLine, a malformed line or no line feed insidelineLen;PARSE_HTTP_INVALID_VALUE(0x804321FE) for a null output. A count aboveINT32_MAXthrows.Interop/Net/Http.cs; KytyPS5 lacks the function). Behaviour and error codes follow shadPS4's reverse-engineered PS4 libSceHttp (network/http.cpp, PS4 reference), except that no read goes pastlineLen. Recorded under "Unknown function info" in TechnicalDebt.Qq8SfuJJJqEas a throwingsceHttpParseStatusLine(void)stub; that stub should be dropped from them when they are rebased.Tested
main53dc19c: configure-DBUILD_TESTING=ON, full build,--target libs,ctest:ctest --output-on-failure)guest_httpgains rows for CRLF and LF-only lines, no phrase, multi-digit versions and each error path, including a line feed just pastlineLen; they do not link onmain(undefinedsceHttpParseStatusLine).sceHttpGetAllResponseHeaderssucceeds, which it does not without network.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)