Commit Graph
62 Commits
Author SHA1 Message Date
Dean Galvin a614d407e2 Merge branch 'main' into feat/http2-http1-transport 2026-11-04 17:01:05 +13:00
JJenkx 3f9c054d18 feat(http2): support synchronous HTTP/1.0 and HTTP/1.1 requests 2026-11-03 16:45:25 -05:00
hugodearaujo 6dd4bcd43a Merge remote-tracking branch 'origin/main' into http2/merge-main-2
# Conflicts:
#	core/libs/prx/libSceHttp2/Transport.cpp
#	docs/dev/debt/libSceHttp2.md
2026-11-03 18:32:20 -03:00
JJenkx e5408c7638 docs(http2): separate SSL callback debt sections 2026-11-02 18:16:21 -05:00
JJenkx 64b8e667ee chore: refresh HTTP2 callback review branch on main 2026-11-02 11:57:34 -05:00
Dean Galvin 7b95725572 Merge commit 'refs/fu/main' into HEAD
# Conflicts:
#	core/libs/tests/GuestHttp2Transport.cpp
#	docs/dev/debt/libSceHttp2.md
2026-11-03 05:44:48 +13:00
Dean cbfc0f02ca Merge pull request #11627 from edubox/feat/http2-host-authority
fix(http2): translate the Host request header to :authority
2026-11-03 01:26:10 +13:00
JJenkxandClaude Opus 5.5 394efb4c75 docs(debt): shorten the libSceHttp2 TLS settings entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 06:34:34 -05:00
JJenkxandClaude Opus 5.5 4dc29810e2 docs(debt): keep the libSceHttp2 TLS settings entry within the length limit
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 06:34:20 -05:00
Dean 792caaf6dd Merge pull request #11575 from JJenkx/feat/http2-redirect-callbacks
feat(http2): deliver redirect callbacks and follow HTTPS redirects
2026-11-02 23:29:05 +13:00
JJenkx 2de2bfe764 feat(http2): deliver TLS certificate verification callbacks 2026-11-01 20:17:24 -05:00
JJenkx 59bc5a8f19 feat(http2): deliver redirect callbacks and follow HTTPS redirects 2026-11-01 20:17:24 -05:00
xXPBSXxandClaude Opus 5.5 5281b2c01c docs(debt): name the HTTP/2 init arguments that titles pass
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-01 01:35:55 +01:00
hugodearaujo 6e29a45057 Merge main f776fddcff into fix/http2-tls-handshake-codes 2026-10-31 19:15:54 -03:00
SnekPolylepisandClaude Opus 5.5 754aad4e9c fix(libSceHttp2): accept SSL options on a context
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 22:01:22 +01:00
JJenkx 6ae1f9381b fix(http2): compose gzip with callback and HTTP1 transport 2026-10-30 19:01:44 -04:00
hugodearaujo 0d054bf053 Merge main into fix/http2-tls-handshake-codes
# Conflicts:
#	core/libs/prx/libSceHttp2/Transport.cpp
#	core/libs/tests/GuestHttp2Transport.cpp
#	docs/dev/debt/libSceHttp2.md
2026-10-30 12:34:47 -03:00
AdriàandClaude Sonnet 5.5 ea63edc9ce docs(http2): restore main's debt entries and record gzip inflation
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-30 13:31:16 +01:00
Eduardo Ruiz 72c2df44a4 test(http2): cover gzip checksum and concatenated members 2026-10-30 13:31:03 +01:00
Eduardo Ruiz 58f325624e fix(http2): consume flow control while buffering gzip bodies
Reads already wait for END_STREAM when inflation applies, so keep the receive window open while the encoded body is buffered. This lets a gzip response larger than 65,535 bytes inflate instead of failing, and the split test now reads before the content length so it exercises the read path.
2026-10-30 13:31:03 +01:00
Eduardo Ruiz bd68b64dd1 fix(http2): inflate gzip responses after END_STREAM 2026-10-30 13:31:03 +01:00
edubox 9624b77bc6 feat(http2): inflate gzip response bodies 2026-10-30 13:31:03 +01:00
JJenkx 5f18e5abe7 fix(http2): retain callback chain with current main import inventory 2026-10-30 08:22:57 -04:00
Dean e49f8c380c Merge pull request #11769 from oneandonlydean/salvage/web-misc-9485
feat(prx): declare 46 PS5 3.20 exports in four libraries
2026-10-31 01:16:48 +13:00
JJenkx e069fd2308 fix(http2): integrate current main and preserve callback parent order 2026-10-30 07:37:48 -04:00
hugodearaujo 83c9231966 Merge main into fix/http2-tls-handshake-codes
# Conflicts:
#	docs/dev/debt/libSceHttp2.md
2026-10-30 06:35:47 -03:00
milescovielloandClaude Opus 5.5 4e921aa0e3 docs(libSceHttp2): say how resolve retries count and that the console's semantics are unverified
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 00:33:44 +01:00
milescovielloandClaude Opus 5.5 d986a418ad fix(libSceHttp2): retry a failed lookup the number of times sceHttp2SetResolveRetry sets
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 00:33:35 +01:00
hugodearaujo af99299f6f Merge main into fix/http2-tls-handshake-codes
# Conflicts:
#	docs/dev/debt/libSceHttp2.md
2026-10-29 19:34:48 -03:00
hugodearaujo c3cc464ce1 docs(libSceHttp2): shorten the error paths debt entry 2026-10-29 10:30:47 -03:00
hugodearaujo 35f95a1d4b Merge main into fix/http2-tls-handshake-codes
# Conflicts:
#	docs/dev/debt/libSceHttp2.md
2026-10-29 09:38:23 -03:00
Lindamea1andClaude Opus 5.5 677da22471 feat(libSceHttp2): implement sceHttp2SetMinSslVersion for versions 2 to 5
sceHttp2SetMinSslVersion returns 0 for versions 2 (SSL 3.0) to 5 (TLS 1.2)
on a template or an unsent request: the range libSceSsl's
sceSslSetMinSslVersion takes on a 13.40 console (docs/dev/debt/libSceSsl.md).
The floor is not kept, as libSceSsl negotiates TLS 1.2 only, which meets
every accepted floor. Versions 0, 1 and above 5 still throw, as do context
and cookie-box ids and sent requests; unknown and deleted ids still return
0x817B1100.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 23:16:31 +00:00
Adrià 3b362ba2e0 Merge pull request #11730 from ionut27001/fix/http2-init-zero-concurrency
fix(libSceHttp2): return invalid value from sceHttp2Init for a maximum of 0 requests as measured in a PS5 payload
2026-10-28 17:45:01 +01:00
Adrià 4aec576ede Merge pull request #11616 from milescoviello/fix/http2-memory-pool-stats
fix(libSceHttp2): report a live context's pool size from sceHttp2GetMemoryPoolStats
2026-10-28 15:17:09 +01:00
Adrià 7215512e1b docs(libSceHttp2): state which measured handshake codes the host reaches 2026-10-28 10:52:37 +01:00
hugodearaujo 486a71ef91 fix(libSceHttp2): return the console codes for failed TLS handshakes
sceHttp2SendRequest threw when sceSslConnect failed. A PS5 payload measured the result against loopback TLS servers: the console returns the handshake failure unchanged for an untrusted or mismatched certificate, an expired one once 0x8 is enabled, a fatal alert, a peer that closes or resets during the handshake and a reply that is not TLS. After a failed send the status call returns 0, the content length and read calls 0x817B1065, and another send the same error.
2026-10-28 10:52:32 +01:00
Dean fe84a7bd37 Merge pull request #11919 from kyon-eth/feat/http2-1360-inventory
feat(libSceHttp2): declare eight additional exports
2026-10-28 22:30:44 +13:00
ionut27001 7db98b9058 fix(libSceHttp2): return invalid value from sceHttp2Init for a maximum of 0 requests as measured in a PS5 payload 2026-10-28 10:02:57 +01:00
p3nicillinandClaude Opus 5.5 f685ee8720 fix(http2): trust the system CA list for HTTPS requests
Every libSceSsl context started without trust anchors, so a libSceHttp2
request without a verify callback failed the known-CA check. RetroArch's
updater, PS5LM and Porpoise all use version-3 templates over https://
without one. libSceSsl now parses /<sandbox word>/common/cert/CA_LIST.cer,
served by libkernel from the host trust store, once per process into its
own pool, and SslTrustSystemRoots_nid_no_patch links those roots after
the context's own authorities for one connection. The HTTP/2 transport
calls it after creating each connection.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 23:02:48 +00:00
milescoviello a45f140d85 Merge remote-tracking branch 'upstream/main' into fix/http2-memory-pool-stats
# Conflicts:
#	docs/dev/debt/libSceHttp2.md
2026-10-27 13:06:25 +00:00
Kyon 60941da8ca feat(libSceHttp2): declare eight additional exports 2026-10-27 12:31:36 +00:00
Dean Galvin 4681c1c10f docs(prx): keep main's debt entries unchanged beside the imports
The merge with main reworded existing debt entries; restore them and append
the imports' section after them. No export is dropped.
2026-10-27 19:39:18 +13:00
Dean Galvin 9b1ef9e496 merge: main into salvage/web-misc-9485
# Conflicts:
#	docs/dev/debt/libSceHttp2.md
2026-10-27 19:32:30 +13:00
Eduardo Ruiz eb9aa573a8 fix(http2): translate the Host request header to :authority 2026-10-27 00:40:54 +01:00
milescovielloandClaude Opus 5.5 04db088075 fix(libSceHttp2): report a live context's pool size from sceHttp2GetMemoryPoolStats
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 22:43:01 +00:00
JJenkx d847910c69 feat(http2): deliver redirect callbacks and follow HTTPS redirects 2026-10-26 17:01:43 -04:00
noamrogerandClaude Opus 5.5 bffc7eda85 feat(libSceHttp2): implement request option getters, header removal and callbacks
Keep the auth and auto-redirect flags, headers and the auth-info and
pre-send callbacks in Http2::Settings, so requests copy them from their
template and they freeze once transport exists. Accepted kinds, error
codes and their order follow the firmware 13.42 module as reported in
the review: option, header and callback calls reject contexts and
cookie boxes, sceHttp2AuthCacheFlush validates the context,
sceHttp2RedirectCacheFlush ignores its argument and the auto-redirect
flag keeps the stored int.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01QdXm6rjuENJGYLZh5hc8cQ
2026-10-26 20:53:23 +00:00
noamrogerandClaude Opus 5.5 98be52cd38 feat(libSceHttp2): store cookies in cookie boxes
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01VcCKPwMu3oNWaS8AUph6MW
2026-10-26 20:10:35 +01:00
Felipebmaitan d07024f3cf fix(http2): accept early responses and initialize Windows DNS 2026-10-26 13:10:57 -03:00
Felipebmaitan 6821d6cd01 docs(http2): record the conflicting public method declarations 2026-10-26 13:10:56 -03:00