Commit Graph
15 Commits
Author SHA1 Message Date
Adrià a6ea4a8845 Merge upstream/main into feat/libressl-algorithm-cleanup 2026-11-06 09:15:34 +01:00
JaceTheBlu efe4da7dd8 Merge remote-tracking branch 'upstream/main' into feat/libressl-algorithm-cleanup 2026-11-02 10:42:51 +00:00
Yunus Shaikh 0204bff5c1 Merge main into feat/libressl-init-engine-calls
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-11-02 00:54:53 -08:00
Felipebmaitan b8dc89c0f8 fix(libSceLibreSsl): refresh ERR integration and pending export count 2026-11-01 20:27:06 -03:00
JaceTheBluandClaude Opus 5.5 c5ebd8da86 refactor(libSceLibreSsl): leave EVP_cleanup to the cipher context work
EVP_cleanup is implemented in #10834; keep its stub here so the two
changes do not define it twice.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 13:06:00 +00:00
JaceTheBluandClaude Opus 5.5 fe9ad54b31 feat(libSceLibreSsl): implement the algorithm and configuration module setup and cleanup calls
OPENSSL_add_all_algorithms_noconf, EVP_cleanup, OPENSSL_load_builtin_modules
and CONF_modules_free return without an observable effect, as LibreSSL
2.5.4 does through the exports: the name table and the configuration
module list they fill and empty are only read by calls that are not
exported or still throw. EVP_cleanup keeps objects added by OBJ_create,
because the deferred OBJ_cleanup only runs after a cipher or digest
with an added NID was registered.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 10:00:31 +00:00
Yunus Shaikh b43c407ea4 Merge main into feat/libressl-init-engine-calls
# Conflicts:
#	core/libs/tests/GuestLibreSslError.cpp
#	docs/dev/debt/libSceLibreSsl.md
2026-10-29 22:42:43 -07:00
Yunus Shaikh 9eb26edaa6 feat(libSceLibreSsl): implement six sourced LibreSSL 2.5.4 exports
X509_STORE_CTX_get_ex_data reads the context's ex_data stack, and
X509_STORE_CTX_get1_chain copies the chain stack and raises each
certificate's reference count. UI_set_result checks a prompt or verify
result against its bounds, queuing UI_R_RESULT_TOO_SMALL or _LARGE and
marking the UI redoable, copies it, or picks a boolean answer.
PKCS12_PBE_add, OBJ_cleanup and SSL_load_error_strings return without
an observable effect, as LibreSSL 2.5.4 does while no object is added
and no error string is read.
2026-10-28 20:54:42 +00:00
Yunus Shaikh d29aa3ac62 feat(libSceLibreSsl): answer the ENGINE calls with an empty engine list
LibreSSL 2.5.4's only built-in engine, padlock, is compiled out by
OPENSSL_NO_HW_PADLOCK in both of its portable builds, and the module
exports no call that adds an engine, so the list stays empty.
ENGINE_get_first returns null and ENGINE_load_builtin_engines and
ENGINE_cleanup do nothing. ENGINE_by_id pushes ENGINE_R_NO_SUCH_ENGINE
for an id and ERR_R_PASSED_NULL_PARAMETER for null. ENGINE_get_next,
ENGINE_init, ENGINE_finish, ENGINE_free, ENGINE_ctrl, ENGINE_ctrl_cmd
and ENGINE_load_private_key push ERR_R_PASSED_NULL_PARAMETER for a null
engine, or for a null command name in ENGINE_ctrl_cmd, and return null
or 0. Every error uses LibreSSL's function code 0xfff. A non-null
engine throws, since none can exist.
2026-10-25 03:09:44 +00:00
Felipebmaitan c0a96cddb2 test(libSceLibreSsl): avoid pinning unsupported thread IDs 2026-10-24 21:52:51 -03:00
Felipebmaitan d72f918949 fix(libSceLibreSsl): publish ERR signatures in public headers 2026-10-24 21:48:15 -03:00
SwagandClaude Opus 5.5 927b9f6fe6 refactor(libSceLibreSsl): declare the error queue exports in the public header
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 20:33:12 -04:00
SwagandClaude Opus 5.5 d21dd06379 test(libSceLibreSsl): drop the assertion on unsupported thread ids
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:42:31 -04:00
Felipebmaitan 562e68e6ae feat(libSceLibreSsl): implement historical error strings and newest peeking 2026-10-21 21:31:08 -03:00
SwagandClaude Opus 5.5 ca32e706e8 feat(libSceLibreSsl): implement the per-thread error queue
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 20:15:46 -04:00