Commit Graph
56 Commits
Author SHA1 Message Date
Alex WhitehouseandClaude Opus 5.5 5c465d68d5 docs(libSceLibreSsl3): count the NID-hash names the RSA getters remove
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 18:25:14 +00:00
Alex WhitehouseandClaude Opus 5.5 0f9328ad9b feat(libSceLibreSsl3): implement RSA_get0_factors and RSA_get0_crt_params
Port both getters from LibreSSL 4.0.0 rsa_lib.c: each output pointer is
optional, outputs are written in upstream's order, and the key is read
through the existing LibreSsl3Rsa layout, whose p, q, dmp1, dmq1 and iqmp
offsets are now pinned to rsa_local.h. A null key with a requested output,
which upstream dereferences, throws.

The additional export inventory now counts the names #13831 added: 174
callable exports, 164 named and 10 known only by NID.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-05 18:25:14 +00:00
Dean Galvin eefb61a7dc Merge branch 'main'
Close the pkey_getters Windows environment block in libSceLibreSsl3/CMakeLists.txt: the branch lost its closing path line and endif(), so CMake did not parse the file.
2026-11-05 23:35:16 +13:00
B-Howell b81773f76d Merge remote-tracking branch 'origin/main' into pr-10960
# Conflicts:
#	core/libs/prx/libSceLibreSsl3/CMakeLists.txt
#	docs/dev/debt/libSceLibreSsl3.md
2026-11-04 13:04:58 -05:00
Dean 748c6da62f Merge pull request #10395 from MatteoSid/feat/libressl-ec-groups-keys
feat(libSceLibreSsl): implement EC groups and keys for named curves
2026-11-05 06:35:13 +13:00
MarcZX10 6592b88240 docs(libSceLibreSsl3): correct OBJ_cmp source and gap 2026-11-04 08:43:05 +00:00
MarcZX10 704a03d7b0 docs(libSceLibreSsl3): record OBJ_cmp 2026-11-04 08:43:05 +00:00
Dean 8900375144 Merge pull request #10557 from MarcZX10/marc/libressl3-x509-pubkey-get0
feat(libSceLibreSsl3): implement X509 public key parameters
2026-11-04 17:48:41 +13:00
9327713d3a fix(libSceLibreSsl): give EC keys libSceLibreSsl3's reference layout
libSceLibreSsl3 forwards EC_KEY_new, EC_KEY_new_by_curve_name and
EC_KEY_free here, while its EC_KEY_up_ref increments the counter at
offset 48 of LibreSSL 4.0.0's 64-byte EC_KEY. On the 8-byte keys of the
previous commit, that write lands past the end of the key.

Keys now have that layout and LibreSSL 2.5.4 EC_KEY_new's defaults:
version 1, uncompressed conversion form, the group in its group slot
and the reference count, starting at one, at offset 48. EC_KEY_free
decrements it atomically and frees the key at zero or below, as
LibreSSL does.
libSceLibreSsl3's interface and code are unchanged.

Co-authored-by: Ahmad Mujahid <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 09:14:47 +01:00
AZLisme 4a33c0bf29 chore(libSceLibreSsl3): merge main for EVP integration 2026-11-03 16:04:27 +08:00
Dean 3d5a2a5cdd Merge pull request #14464 from Ninot1Quyi/feat/libressl3-asn1-time-diff
feat(libressl3): implement ASN1_TIME_diff
2026-11-03 11:37:06 +13:00
Dean Galvin b99199fbcd Merge commit 'refs/fu/main' into HEAD
# Conflicts:
#	core/libs/prx/libSceLibreSsl3/CMakeLists.txt
#	docs/dev/debt/libSceLibreSsl3.md
2026-11-03 05:21:21 +13:00
FroRaut e414c4b8cd feat(libressl3): report OpenSSL version strings 2026-11-02 15:02:24 +03:00
Dean Galvin 2e5e777bdf Merge commit '88e804b0a7df1f1ac373a9e2f72fb378d925fdd4' into HEAD
# Conflicts:
#	docs/dev/debt/libSceLibreSsl3.md
2026-11-02 21:07:00 +13:00
Felipebmaitan b8dc89c0f8 fix(libSceLibreSsl): refresh ERR integration and pending export count 2026-11-01 20:27:06 -03:00
Qu Yi ec7aca3145 feat(libressl3): implement ASN1 time differences
Implement strict UTC and GeneralizedTime parsing and signed day/second differences independently using C++20 calendar types. Preserve outputs on malformed input and support host wall-clock endpoints.

Validation: focused production-source regression; ASan/UBSan with leak detection disabled; 88,902 differential cases against LibreSSL 4.0.0; main stub negative control fails as expected; conventions, public headers and script registration pass. Full product Release build is still in progress; this is a recoverable candidate, not yet a ready PR.

All 1,667 open PRs were scanned. All 22 shared-file branches were manually compared, including 11 that cannot merge into main. No same-function implementation found. Remaining textual overlap concerns common declarations/registrations and debt counts.
2026-11-01 21:08:47 +08:00
Dean Galvin e65e0fab20 Merge commit 'a644edf30c501a612d06f17d05ef1b7051350cef' into HEAD
# Conflicts:
#	docs/dev/debt/libSceLibreSsl3.md
2026-11-01 23:29:08 +13:00
Dean Galvin a5240ab203 Merge main into feat/batch3-libressl3-digest-helpers
# Conflicts:
#	docs/dev/debt/libSceLibreSsl3.md
2026-11-01 21:10:54 +13:00
Adrià a043b048db Merge pull request #13897 from gazaret/feat/libressl3-pkey-get0
feat(libSceLibreSsl3): implement EVP_PKEY_get0_RSA, EVP_PKEY_get0_DSA and EVP_PKEY_get0_DH
2026-11-01 08:24:25 +01:00
Dean 7400f9873c Merge pull request #14171 from danielhorngt/fix/libressl3-d2i-asn1-integer-errors
fix(libSceLibreSsl3): return d2i_ASN1_INTEGER errors instead of throwing
2026-11-01 19:24:07 +13:00
Dean Galvin 2e64caa0d9 Merge main into marc/libressl3-x509-pubkey-get0 2026-11-01 18:45:39 +13:00
Adrià 30989cb45b Merge pull request #13831 from CodingBreadd/feat/libressl3-additional-export-names
feat(libSceLibreSsl3): name 116 unknown additional exports from their NIDs
2026-11-01 04:28:03 +01:00
Daniel HornandClaude Opus 5.5 63a2430e37 fix(libSceLibreSsl3): refuse oversized integers before freeing the output
asn1_c2i in LibreSSL 4.0.0 rejects content over INT_MAX bytes before
c2i_ASN1_INTEGER_cbs runs, so the old output stays and nothing is allocated.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 22:31:06 +00:00
Daniel HornandClaude Opus 5.5 302eb1fb4c fix(libSceLibreSsl3): return d2i_ASN1_INTEGER errors instead of throwing
Rejected encodings and allocation failures now return NULL with the error
queue, the old output and the input pointer that firmware 13.42's module and
LibreSSL 4.0.0 leave.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 21:52:23 +00:00
Alvaro 0736525cac docs(libSceLibreSsl3): record X509_VERIFY_PARAM_set_flags 2026-10-31 17:27:33 +01:00
DariusandClaude Opus 5.5 457dc15093 feat(libSceLibreSsl3): leave the three exports #14008 implements unnamed
BN_is_negative, EVP_CIPHER_nid and RSA_bits keep their NID aliases.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 18:05:56 +02:00
Alvaro 11b63c9e81 docs(libSceLibreSsl3): record EVP_CIPHER_iv_length 2026-10-31 13:31:08 +01:00
Alvaro 1f2c38f457 docs(libSceLibreSsl3): record EVP_CIPHER_key_length 2026-10-31 13:30:37 +01:00
gazaret 9a3778c35f feat(libSceLibreSsl3): implement EVP_PKEY_get0_RSA, EVP_PKEY_get0_DSA and EVP_PKEY_get0_DH
Return the inner key of a matching EVP_PKEY as LibreSSL 4.0.0's p_lib.c
does, accepting RSA-PSS keys in EVP_PKEY_get0_RSA. A key of another type
throws, since the LibreSSL3 error queue that would receive the expecting-key
error is not modelled, and so does a null key.
2026-10-31 16:44:25 +05:00
DariusandClaude Opus 5.5 b5448bdca1 feat(libSceLibreSsl3): name 119 unknown additional exports from their NIDs
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 10:40:43 +02:00
Alvaro 339332c7ea docs(libSceLibreSsl3): record EVP_MD_CTX_md 2026-10-30 23:12:40 +01:00
Adrià f5a0356d5a Merge pull request #13267 from msbutt1/feat/libressl3-rsa-up-ref
feat(libSceLibreSsl3): implement RSA_up_ref
2026-10-30 18:50:23 +01:00
msbutt1 f1f3ba8ed4 feat(libSceLibreSsl3): implement RSA_up_ref 2026-10-30 04:38:39 -06:00
SwagandClaude Opus 5.5 f79734a34c feat(libSceLibreSsl3): implement sk_new, sk_push and sk_free
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 20:55:08 -04:00
AZLisme 6a2165be3f docs(libSceLibreSsl3): record measured native EVP layout differences 2026-10-30 08:15:29 +08:00
AZLisme 9f63b1d34b fix(libSceLibreSsl3): share EVP representation with legacy providers 2026-10-30 08:12:19 +08:00
AZLisme 54f2ba6345 feat(libSceLibreSsl3): implement EVP digest contexts and SHA methods 2026-10-30 08:12:01 +08:00
Felipebmaitan 387c182600 fix(libSceLibreSsl): retain merged key APIs alongside numeric ERR 2026-10-28 00:23:08 -03:00
Kyon f3c9617021 chore(libressl3): separate inventory registration from pending edits 2026-10-27 19:14:05 +00:00
Kyon 5e7743cee0 feat(libSceLibreSsl3): complete callable export declarations and forwarding 2026-10-27 19:11:47 +00:00
Kyon 2b2c4c8ceb feat(libSceLibreSsl3): declare 10 additional exports 2026-10-27 17:06:09 +00:00
MarcZX10 cd38473a66 feat(libSceLibreSsl3): implement X509 public key parameters 2026-10-27 08:38:00 +00:00
atharvjairath 5255577954 feat(libressl3): retain EVP and EC key references 2026-10-27 03:31:01 +05:30
Dean 7e3e883584 Merge pull request #10948 from AZLisme/feat/libressl3-asn1-accessors
feat(libSceLibreSsl3): implement ASN.1 integer decoding
2026-10-27 10:57:14 +13:00
Felipebmaitan 1704d4c00a fix(libSceLibreSsl): reconcile ERR with firmware and current main 2026-10-26 09:13:37 -03:00
AZLisme 81013f41bf docs(libressl3): clarify confirmed ASN.1 error and ownership gaps 2026-10-26 18:15:08 +08:00
AZLisme 816ca46c66 docs(libressl3): qualify ASN.1 native decoding evidence 2026-10-26 09:51:16 +08:00
AZLisme 77ba69041c docs(libSceLibreSsl3): correct ASN.1 debt grammar 2026-10-25 21:20:00 +08:00
AZLisme 489b27e780 refactor(libSceLibreSsl3): publish standalone ASN.1 integer decoder 2026-10-25 21:19:50 +08:00
AZLisme 318b1fad9e feat(libSceLibreSsl3): implement ASN.1 integer decoding 2026-10-25 21:19:50 +08:00