Commit Graph
99 Commits
Author SHA1 Message Date
JaceTheBluandClaude Opus 5.5 50527ff1d6 feat(libSceLibreSsl): implement OBJ_create and free added objects in OBJ_cleanup
Port OBJ_create and a2d_ASN1_OBJECT from LibreSSL 2.5.4, keep the added
objects by encoding and NID, and look them up in OBJ_obj2txt before the
built-in table. OBJ_cleanup now drops them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 18:21:25 +00:00
Maxime DEFRANCESandClaude Fable 5.1 3951444bb7 fix(libSceLibreSsl): select protocols from unvalidated lists like the module
SSL_select_next_proto validated both lists and threw for an empty list,
a zero-length entry or a truncated entry. The firmware 13.42 report on
PR #9785 shows the module runs LibreSSL 3.4.1's loop with no validation:
a zero-length entry is negotiated, no overlap returns the first supported
entry with its unchecked length byte, even for an empty supported list,
and an empty peer list has no overlap. Follow that loop, and throw only
for the null pointers the module would read. The test places each
reported list before a guard page and checks the six reported cases.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-30 12:45:46 +01:00
Adrià 6e91fa7eef Merge pull request #12601 from EagleBearerYS/feat/libressl-sourced-b250-2
feat(libSceLibreSsl): implement six sourced LibreSSL 2.5.4 exports
2026-10-30 06:31:01 +01:00
Adrià 4c8cff1916 Merge pull request #12572 from JulesB40/feat/libressl-oracle
test(libSceLibreSsl): compare exports with LibreSSL 2.5.4 behind ANYPS5_LIBRESSL_ORACLE
2026-10-29 23:08:21 +01:00
Yunus Shaikh a312114ea3 docs(debt): count the libSceLibreSsl exports still pending after the B250-2 calls
The six exports this branch implements left the pending-export count
line at the number before them. Set it to the NotImplemented_nid_no_patch
count in Export.cpp after the merge of main, 293.
2026-10-29 07:52:04 -07:00
Yunus Shaikh 888a3da862 Merge main into feat/libressl-sourced-b250-2 2026-10-29 07:51:56 -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
JulesB40andClaude Opus 5.5 9bfcec2bbf test(libSceLibreSsl): compare exports with LibreSSL 2.5.4 behind ANYPS5_LIBRESSL_ORACLE
The opt-in guest_libressl_oracle test downloads the LibreSSL 2.5.4
tarball at build time, checks its SHA-256, builds libcrypto and libssl
and compares the AES, digest, DES parity and error-string exports of
libSceLibreSsl and libSceLibreSsl3 with them, printing the cases and
differences per function. The option is off by default and adds no
download then. See #12537.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 21:49:28 +01:00
JaceTheBlu 22be7de12c Merge feat/libressl-x509-lookup into feat/libressl-verify-param-host
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-28 08:51:22 +00:00
JaceTheBlu 918b7792b9 Merge feat/libressl-verify-param-ip into feat/libressl-x509-lookup
# Conflicts:
#	core/libs/prx/libSceLibreSsl/include/Api.hpp
#	docs/dev/debt/libSceLibreSsl.md
2026-10-28 08:51:21 +00:00
JaceTheBlu 6886f61ade Merge feat/libressl-x509-store into feat/libressl-verify-param-ip
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-28 08:32:48 +00:00
JaceTheBlu 3b43b785e4 Merge upstream/main into feat/libressl-x509-store
# Conflicts:
#	core/libs/prx/libSceLibreSsl/CMakeLists.txt
#	core/libs/prx/libSceLibreSsl/include/Api.hpp
#	docs/dev/debt/libSceLibreSsl.md
2026-10-28 08:32:47 +00:00
JaceTheBluandClaude Opus 5.5 983eea3d71 test(libSceLibreSsl): stop asserting that guest lookup callbacks throw
Drop the duplicated older X509_STORE debt entry left by a merge.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:32:23 +00:00
Dean 7d2136c9c6 Merge pull request #10447 from alvaroelpob/feat/libscelibressl-x509-store-ctx-error
feat(libSceLibreSsl): implement the X509_STORE_CTX error, depth, current certificate and chain accessors
2026-10-28 12:03:34 +13:00
Adrià 771d8b5bf7 Merge pull request #11340 from harisibrar1/feat/libressl-ex-data-indices
feat(libSceLibreSsl): implement the SSL and SSL_CTX ex_data index registry as LibreSSL 2.5.4 does
2026-10-27 21:34:00 +01:00
Adrià 9de9c6efd0 Merge pull request #11261 from JaceTheBlu/feat/libressl-object-text
feat(libSceLibreSsl): add the LibreSSL object table and implement i2t_ASN1_OBJECT
2026-10-27 14:07:27 +01:00
JaceTheBlu b88c32faa0 Merge feat/libressl-x509-store into feat/libressl-verify-param-host
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-27 08:48:04 +00:00
JaceTheBlu 07de66a1a3 Merge feat/libressl-x509-store into feat/libressl-x509-lookup
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-27 08:48:03 +00:00
JaceTheBlu 884dbd5f45 Merge feat/libressl-x509-store into feat/libressl-verify-param-ip
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-27 08:48:02 +00:00
JaceTheBlu b9ec709d47 Merge upstream/main into feat/libressl-x509-store
# Conflicts:
#	core/libs/prx/libSceLibreSsl/CMakeLists.txt
#	docs/dev/debt/libSceLibreSsl.md
2026-10-27 08:48:01 +00:00
Dean f95b794ff1 Merge pull request #9785 from santhoshkumar-dev/codex/libressl-protocol-selection
feat(libSceLibreSsl): select advertised application protocols
2026-10-27 21:06:22 +13:00
Dean Galvin 70b3dc8467 merge: main into feat/libscelibressl-x509-store-ctx-error 2026-10-27 20:55:58 +13:00
Dean cf652ca76e Merge pull request #10398 from alvaroelpob/feat/libscelibressl-evp-pkey-type
feat(libSceLibreSsl): implement EVP_PKEY_type
2026-10-27 20:52:31 +13:00
Adrià dd6d71ba13 Merge pull request #11050 from harisibrar1/feat/libressl-asn1-string-to-utf8
feat(libSceLibreSsl): report ASN1_STRING_to_UTF8 errors through the ASN.1 error queue
2026-10-27 08:38:38 +01:00
JaceTheBluandClaude Opus 5.5 c6522d4bce feat(libSceLibreSsl): add the LibreSSL object table and implement i2t_ASN1_OBJECT
i2t_ASN1_OBJECT threw and was declared without parameters. It now
prints an object's long name, or its short name, or its dotted OID, as
OBJ_obj2txt does in LibreSSL 2.5.4, the version string the module
holds: the NID is the object's own or found by the same binary search
over the same order, an unassigned NID reports OBJ_R_UNKNOWN_NID for
each name lookup, a truncated subidentifier returns 0 after the parts
already written, and arcs past 64 bits are printed exactly.

The 956 objects (short and long names, NID, OID) and their search order
are generated from 2.5.4's objects.txt and obj_mac.num with its own
objects.pl and obj_dat.pl, so d2i code can later hand out the same
static objects LibreSSL does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 08:30:25 +01:00
harisibrar1 63ef393ee9 Merge remote-tracking branch 'origin/main' into feat/libressl-ex-data-indices
# Conflicts:
#	core/libs/prx/libSceLibreSsl/include/Api.hpp
2026-10-26 19:14:39 -04:00
Alvaro 0c037dd918 feat(libSceLibreSsl): implement X509_STORE_CTX_get_chain 2026-10-26 22:16:16 +01:00
Alvaro 7ac490f240 feat(libSceLibreSsl): implement X509_STORE_CTX_get_current_cert 2026-10-26 22:16:16 +01:00
Alvaro 1c7856a471 feat(libSceLibreSsl): implement X509_STORE_CTX_get_error_depth 2026-10-26 22:16:16 +01:00
Alvaro 1e88908181 fix(libSceLibreSsl): resolve the DH, DSA and GOST types in EVP_PKEY_type 2026-10-26 22:16:15 +01:00
Alvaro da1fa540c1 feat(libSceLibreSsl): implement X509_STORE_CTX_set_error 2026-10-26 22:16:15 +01:00
Alvaro 8ca226f420 feat(libSceLibreSsl): implement X509_STORE_CTX_get_error 2026-10-26 22:16:15 +01:00
Alvaro 93738dfbe9 feat(libSceLibreSsl): implement EVP_PKEY_type 2026-10-26 22:16:14 +01:00
Alvaro ddb51767c0 feat(libSceLibreSsl): implement RSA_size 2026-10-26 20:17:36 +01:00
Alvaro d7928af60f feat(libSceLibreSsl): implement RSA_flags 2026-10-26 20:17:27 +01:00
Alvaro 36a766229b feat(libSceLibreSsl): implement UI_method_get_closer 2026-10-26 19:23:44 +01:00
Alvaro 3ac4a78a0f feat(libSceLibreSsl): implement UI_method_set_closer 2026-10-26 19:23:43 +01:00
Alvaro 9802f33370 feat(libSceLibreSsl): implement UI_method_get_reader 2026-10-26 19:23:43 +01:00
Alvaro 13e48800eb feat(libSceLibreSsl): implement UI_method_set_reader 2026-10-26 19:23:42 +01:00
Alvaro aa5c431bb0 feat(libSceLibreSsl): implement UI_method_get_writer 2026-10-26 19:23:42 +01:00
Alvaro bf6c1458f3 feat(libSceLibreSsl): implement UI_method_set_writer 2026-10-26 19:23:41 +01:00
Alvaro 18a1ec5ca0 feat(libSceLibreSsl): implement UI_method_get_opener 2026-10-26 19:23:41 +01:00
Alvaro a35721aae7 feat(libSceLibreSsl): implement UI_method_set_opener 2026-10-26 19:23:40 +01:00
Alvaro 80104778fe feat(libSceLibreSsl): implement UI_destroy_method 2026-10-26 19:23:39 +01:00
Alvaro 8736ee5a82 feat(libSceLibreSsl): implement UI_create_method 2026-10-26 19:23:36 +01:00
Santhosh Kumar 809350e09c chore: sync current main for PR 9785 2026-10-26 22:34:44 +05:30
Alvaro 649c7f97fc feat(libSceLibreSsl): implement sk_pop_free 2026-10-26 18:02:19 +01:00
Alvaro 836b583e90 feat(libSceLibreSsl): implement sk_pop 2026-10-26 18:02:19 +01:00
Alvaro 5efedeeeb3 feat(libSceLibreSsl): implement sk_value 2026-10-26 18:02:18 +01:00
Alvaro 30cdaa7085 feat(libSceLibreSsl): implement sk_num 2026-10-26 18:02:17 +01:00