Repository navigation
feat(libSceSsl): add the connection calls - #5226
oneandonlydean merged 3 commits into
Conversation
Implements connection lifecycle and parameter exports in libSceSsl: sceSslCreateConnection, sceSslConnect, sceSslRead, sceSslWrite, sceSslDeleteConnection, and sceSslSetVerifyCallback. The repository has no TLS client, so a connection records its context, socket, host and verification callback: - sceSslCreateConnection returns a new connection id, or SSL_ERROR_INVALID_ID (0x8095F006) for an unknown context. A null host throws. - sceSslDeleteConnection drops the connection and leaves socket open. - sceSslSetVerifyCallback stores the callback and argument. - sceSslConnect, sceSslRead and sceSslWrite throw where handshake starts, naming the host and the socket peer port. Carried from @screamm with author attribution preserved. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
|
Thanks for carrying this. On top of current I added one commit on your branch removing those stubs and the old test line. The scoped build and tests (27, including |
3e134c1 to
793bd22
Compare
Brings in the connection calls of PR boykopovar#5226 (sceSslCreateConnection, sceSslDeleteConnection, sceSslSetVerifyCallback, sceSslConnect, sceSslRead and sceSslWrite), limited to core/libs and its tests. The PR targets main's context-pool model, so its connections were ported onto this branch's mbedtls-backed contexts: they live in the library runtime under its mutex, take ids from the same handle counter as contexts, and libSceSsl links libSceNet for the peer lookup in the no-transport errors.
On top of the connections of PR boykopovar#5226, sceSslEnableVerifyOption and sceSslDisableVerifyOption record the verification bits a title turns on and off, sceSslSetMinSslVersion stores a version up to TLS 1.2 and sceSslSetAlpn a well-formed wire-form protocol list, both returning INVALID_VALUE otherwise. sceSslGetAlpnSelected reports that nothing was negotiated and sceSslClose marks the connection closed. The recorded settings and the closed state appear in the errors the transport calls throw.
|
|
|
Updated as requested! Kept sceSslConnect, sceSslRead, and sceSslWrite as NotImplemented_nid_no_patch(func) stubs so they remain counted as todo/unimplemented in progress reports until TLS transport is implemented, and cleaned up the unused transport exception helpers and tests. Regarding which title calls the connection functions:
|
What
Carried from @screamm with author attribution preserved.
Implements connection lifecycle and parameter exports in libSceSsl:
Tested
GuestSsl.cpp: exercises connection creation, context validation, callback registration, deletion, and socket lifecycle checks.
Checklist