]> git.ipfire.org Git - thirdparty/openssl.git/log
thirdparty/openssl.git
5 weeks agowindows-makefile: make clean target less noisy
Milan Broz [Sun, 1 Mar 2026 20:14:30 +0000 (21:14 +0100)] 
windows-makefile: make clean target less noisy

Using del on files that are not present creates many warning
messages. Let's wrap them in "if exists" check to make
them silent if not present.

Signed-off-by: Milan Broz <gmazyland@gmail.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Thu Mar  5 17:37:20 2026
(Merged from https://github.com/openssl/openssl/pull/30222)

5 weeks agoSSL_CONF_cmd.pod: Fix TSL typo
Norbert Pocs [Wed, 4 Mar 2026 13:38:50 +0000 (14:38 +0100)] 
SSL_CONF_cmd.pod: Fix TSL typo

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Thu Mar  5 17:19:00 2026
(Merged from https://github.com/openssl/openssl/pull/30264)

5 weeks agofix project spelling and capitalization
Jon Ericson [Wed, 4 Mar 2026 01:58:18 +0000 (17:58 -0800)] 
fix project spelling and capitalization

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Thu Mar  5 16:35:20 2026
(Merged from https://github.com/openssl/openssl/pull/30259)

5 weeks agox509: remove erroneous critical extension enforcement
Daniel Kubec [Tue, 3 Mar 2026 10:26:10 +0000 (11:26 +0100)] 
x509: remove erroneous critical extension enforcement

Critical extension enforcement (introduced in #8a639b9) is incorrect. These
checks were intended as CA requirements to prevent misinterpretation by
verifiers that don't support certain extensions. However, since we do support
these extensions, we have no requirement for them to be marked critical,
enforcing that is a mistake.

As noted in: #30233 (comment)

Co-authored-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Thu Mar  5 14:22:07 2026
(Merged from https://github.com/openssl/openssl/pull/30249)

5 weeks agoProxy.pm: Redirect s_server’s output to stderr
Igor Ustinov [Wed, 4 Mar 2026 09:24:47 +0000 (10:24 +0100)] 
Proxy.pm: Redirect s_server’s output to stderr

Under some circumstances, the test script's output was mixed with
s_server's, resulting in a false negative. To avoid this,
redirect s_server’s output to stderr.

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Thu Mar  5 14:03:32 2026
(Merged from https://github.com/openssl/openssl/pull/30230)

5 weeks agoSSL_get_error(): Check the error stack only in MSG_FLOW_ERROR state
Igor Ustinov [Wed, 4 Mar 2026 09:23:44 +0000 (10:23 +0100)] 
SSL_get_error(): Check the error stack only in MSG_FLOW_ERROR state

We need to avoid looking at the error stack unless we are in
error state.

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Thu Mar  5 14:03:30 2026
(Merged from https://github.com/openssl/openssl/pull/30230)

5 weeks agoEnsure fatal errors from the record layer put the state machine into err
Igor Ustinov [Fri, 27 Feb 2026 10:41:49 +0000 (11:41 +0100)] 
Ensure fatal errors from the record layer put the state machine into err

We fix a problem with the record layer handling code where a fatal error
in the record layer that does not have an alert code associated with it
caused us to not transition the state machine into the error state. If we
have a fatal error we should always do that.

This patch was developed by Matt Caswell <matt@openssl.org>

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Thu Mar  5 14:03:27 2026
(Merged from https://github.com/openssl/openssl/pull/30230)

5 weeks agodane_match_cert() should X509_free() on ->mcert instead
Alexandr Nedvedicky [Tue, 3 Mar 2026 12:23:46 +0000 (13:23 +0100)] 
dane_match_cert() should X509_free() on ->mcert instead
of OPENSSL_free()

Fixes: 170b735820ac "DANE support for X509_verify_cert()"
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu Mar  5 12:37:17 2026
(Merged from https://github.com/openssl/openssl/pull/30250)

5 weeks agoDeuglify ML-KEM code after reformat
Viktor Dukhovni [Tue, 3 Mar 2026 08:24:23 +0000 (19:24 +1100)] 
Deuglify ML-KEM code after reformat

Fix up format of NTT tables, which format nicely when the values
are converted to 12-bit hex.

Also slightly clean up the code for better readability.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
MergeDate: Wed Mar  4 17:46:54 2026
(Merged from https://github.com/openssl/openssl/pull/30245)

5 weeks agofips: Align PKCS5_PBKDF2_HMAC defaults with EVP_KDF-PBKDF2
Dimitri John Ledkov [Fri, 18 Apr 2025 02:24:42 +0000 (03:24 +0100)] 
fips: Align PKCS5_PBKDF2_HMAC defaults with EVP_KDF-PBKDF2

EVP_KDF-PBKDF2 has provider-dependent runtime behaviour w.r.t. lower
bounds checks. The default provider does not enforce them, but can opt
into them. The fips provider does enforce them, but can opt out.

The same is not true for the PKCS5_PBKDF2_HMAC, which always opts out
of the lower bound checks.

This leads to unexpected behaviour without user consent, they may
expect in error that when using FIPS provider the lower bound checks
will be enforced by default.

There are two popular tools for ACVP testing:
- https://github.com/cisco/libacvp/blob/9ee15db6e6c6f123f5fdd72e453eca261482ea94/app/app_kdf.c#L411
- https://github.com/smuellerDD/acvpparser/blob/e1c094ae3a708a9c45cb8b270e96c252365a5376/backends/backend_openssl_common.c#L1836

One of them creates params and then calls the one-shot EVP_KDF_derive
api, whilst the other calls the PKCS5_PBKDF2_HMAC convenience
wrapper. For the same ACVP test vectors the two produce different
results: with and without lower bounds checks.

But it seems like PKCS5_PBKDF2_HMAC is popular, as it outnumbers
EVP_KDF_derive 8x when doing a global code search on github
(anecdotal, as results are skewed by the number of forks). This thus
comes down to the expectations end users have. And it feels like, at
least for this API, the FIPS 140-3 users expectation would be for the
lower bound checks to be enforced.

Modify the PKCS5_PBKDF2_HMAC wrapper around EVP_KDF_derive to not set
PKCS5 parameter, such that the provider implicit default is used
instead. Thus no change for default provider users, and FIPS
enforcement by default in the FIPS case like it always has done when
calling via EVP_KDF_derive.

Test fixes:

Tests with too short salt would fail with fips provider.

Add test that FIPS provider rejects invalid salt length.

test/certs: Re-encrypt leaf-encrypted.key with a longer salt.

This way test cases can work with a FIPS provider

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Mar  4 17:25:55 2026
(Merged from https://github.com/openssl/openssl/pull/27431)

5 weeks agofips: Skip testing RFC 9579 good files as they use short salt & password
Dimitri John Ledkov [Fri, 25 Apr 2025 22:56:48 +0000 (23:56 +0100)] 
fips: Skip testing RFC 9579 good files as they use short salt & password

The RFC 9579 good files are always tested with the default provider.

The RFC 9579 good files use too short salt, and too short password
that a sticrly compliant FIPS provider with lower bounds enforcement
should no longer able to open.

If checking positive files is desired, these could be regenerated with
longer salt and password, but not too sure if it is worth it.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Mar  4 17:25:53 2026
(Merged from https://github.com/openssl/openssl/pull/27431)

5 weeks agoCHANGES.md: Fix 'extention' and 'insenstive' typos
Frederik Wedel-Heinen [Mon, 2 Mar 2026 08:42:37 +0000 (09:42 +0100)] 
CHANGES.md: Fix 'extention' and 'insenstive' typos

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Mar  4 17:18:51 2026
(Merged from https://github.com/openssl/openssl/pull/30227)

5 weeks agoAdds missing definitions to deprecation.pod
Frederik Wedel-Heinen [Sat, 28 Feb 2026 10:22:53 +0000 (11:22 +0100)] 
Adds missing definitions to deprecation.pod

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Mar  4 17:12:51 2026
(Merged from https://github.com/openssl/openssl/pull/30216)

5 weeks agoECH: Add back code needed for correct ECH backend confirmation
sftcd [Fri, 27 Feb 2026 23:27:21 +0000 (23:27 +0000)] 
ECH: Add back code needed for correct ECH backend confirmation

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Mar  4 17:11:17 2026
(Merged from https://github.com/openssl/openssl/pull/30214)

5 weeks agoFIPS: Disable time/request based reseeding for ECDSA KAT DRBG
Samuel Sapalski [Wed, 14 Jan 2026 07:55:47 +0000 (08:55 +0100)] 
FIPS: Disable time/request based reseeding for ECDSA KAT DRBG

The ECDSA KAT_Signature selftest can fail if the system time changes
after KAT DRBG initialization, this may trigger a time-based reseed
and break KAT determinism.

Disable time-based reseeding for the KAT DRBG to avoid spurious
selftest failures during e.g. fipsinstall.

In order to make this fix future proof we disable request based
reseeding as well to guarantee determinism during the selftest.

Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Mar  4 16:55:09 2026
(Merged from https://github.com/openssl/openssl/pull/29633)

5 weeks agoMake X509_up_ref and X509_free take const X509 *
Bob Beck [Mon, 2 Mar 2026 18:46:39 +0000 (11:46 -0700)] 
Make X509_up_ref and X509_free take const X509 *

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Mar  4 16:43:39 2026
(Merged from https://github.com/openssl/openssl/pull/30235)

5 weeks agoremove OPENSSL_BUILDING_OPENSSL from the config
Beat Bolli [Thu, 26 Feb 2026 21:20:32 +0000 (22:20 +0100)] 
remove OPENSSL_BUILDING_OPENSSL from the config

Commit 262cda1cda ("Remove some safestack things that are no longer
needed", 2020-09-03) removed the last usage on this macro.  Remove it in
the configuration as well.

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Mar  4 10:21:38 2026
(Merged from https://github.com/openssl/openssl/pull/30199)

5 weeks agoremove OPENSSL_USE_NODELETE from the config
Beat Bolli [Thu, 26 Feb 2026 21:20:16 +0000 (22:20 +0100)] 
remove OPENSSL_USE_NODELETE from the config

Commits 31659fe326 (Introduce OPENSSL_ATEXIT_CLEANUP env. variable.,
2025-11-24) and 994413f995 (Update NEWS.md, 2025-12-15) removed the last
uses of this macro. Remove it in the configuration as well.

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Mar  4 10:21:36 2026
(Merged from https://github.com/openssl/openssl/pull/30199)

5 weeks agoCode Comment Correction
zhoulu [Thu, 26 Feb 2026 11:58:41 +0000 (19:58 +0800)] 
Code Comment Correction

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Mar  4 09:59:09 2026
(Merged from https://github.com/openssl/openssl/pull/30194)

5 weeks agoech test retry-configs unavailable if server finished corrupted
sftcd [Tue, 3 Mar 2026 00:59:40 +0000 (00:59 +0000)] 
ech test retry-configs unavailable if server finished corrupted

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Wed Mar  4 09:34:09 2026
(Merged from https://github.com/openssl/openssl/pull/30242)

5 weeks agoSSL_get_shared_ciphers(): Return NUL-terminated buffer for no shared ciphers
Frederik Wedel-Heinen [Sat, 11 Oct 2025 05:23:50 +0000 (07:23 +0200)] 
SSL_get_shared_ciphers(): Return NUL-terminated buffer for no shared ciphers

Also validate the input buffer and length properly.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Mar  4 09:30:18 2026
(Merged from https://github.com/openssl/openssl/pull/28859)

5 weeks agoFix bad length computation in HT_COPY_RAW_KEY_CASE
Neil Horman [Tue, 3 Mar 2026 19:47:00 +0000 (14:47 -0500)] 
Fix bad length computation in HT_COPY_RAW_KEY_CASE

The new HT_KEY_COPY_RAW fails to account for copy lengths that exceed
the size of the configured buffer in a key, leading to stack overruns on
read.

Rectify that by claming the COPY macro to limit copies to the size of
the buffer

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Wed Mar  4 07:04:07 2026
(Merged from https://github.com/openssl/openssl/pull/30257)

5 weeks agoX509 returned by X509_REQ_to_X509() should not be (const ...)
Alexandr Nedvedicky [Mon, 2 Mar 2026 13:50:10 +0000 (14:50 +0100)] 
X509 returned by X509_REQ_to_X509() should not be (const ...)

Fixes: 37436ba6977e "Constify X509_to_X509_REQ and X509_REQ_to_X509"
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Tue Mar  3 18:26:24 2026
(Merged from https://github.com/openssl/openssl/pull/30229)

5 weeks agoopenssl-verify.pod.in: Add clarification about the parameters order
Igor Ustinov [Wed, 25 Feb 2026 09:27:52 +0000 (10:27 +0100)] 
openssl-verify.pod.in: Add clarification about the parameters order

Fixes #16732

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Tue Mar  3 15:15:33 2026
(Merged from https://github.com/openssl/openssl/pull/30172)

5 weeks agodoc/man7/ossl-removed-api.pod: mention OPENSSL_atexit in the NAME section
Eugene Syromiatnikov [Wed, 25 Feb 2026 16:53:53 +0000 (17:53 +0100)] 
doc/man7/ossl-removed-api.pod: mention OPENSSL_atexit in the NAME section

Complements: ca52fe62e7f3 "Remove OPENSSL_atexit();"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Tue Mar  3 14:57:53 2026
(Merged from https://github.com/openssl/openssl/pull/30218)

5 weeks agoAdds fixed version tls methods to ossl-removed-api.pod
Frederik Wedel-Heinen [Wed, 25 Feb 2026 19:22:12 +0000 (20:22 +0100)] 
Adds fixed version tls methods to ossl-removed-api.pod

Fixes #30161

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Tue Mar  3 14:57:52 2026
(Merged from https://github.com/openssl/openssl/pull/30218)

5 weeks agoAllow core_namemap to limit hashtable key sizes
Neil Horman [Fri, 27 Feb 2026 19:20:37 +0000 (14:20 -0500)] 
Allow core_namemap to limit hashtable key sizes

Now that we can dynamically size keys for our hashtable, take advantage
of that in core_namemap.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Tue Mar  3 13:23:03 2026
(Merged from https://github.com/openssl/openssl/pull/30211)

5 weeks agoAdd support for dynamic key sizing in hashtable
Neil Horman [Fri, 27 Feb 2026 16:56:42 +0000 (11:56 -0500)] 
Add support for dynamic key sizing in hashtable

Currently our internal hashtable suffers from a performance issue, as
discussed here:
https://github.com/openssl/openssl/pull/30188

The hashtable requires that keys be defined at build time, and moreover,
be defined to support the maximum possible key length you might try to
insert to a given hash table, even if they actual key you are using is
shorter.

As a result, that hashtable hash function (typically ossl_fnv1a_hash,
but any hash function really) receives a buffer that is specified as the
maximal length of the build-time defined key, which often means hashing
of many 0 bytes for byte elements in the key that may never have been
used.  This causes performance problems as we are always hashing the
maximum number of elements, even if they key is truly only a few bytes
long.

Lets give users an opportunity to improve on that.

Keys are defined to be a struct, so that users can access individual
field names within the key, but under the covers its all just one
contiguous uint8_t buf.  We can implement macros that allow users to,
instead of setting individual field names, just copy needed data into
the raw buffer, keeping track of how many bytes have been used as we go.

The result of using these macros is that the hash function, while it
will receive a buffer that is still maximally sized for that particular
key, gets a length value that only represents the number of bytes used
while writing the key value.

This results in the hash function having to do much less work, giving us
a significant opportunistic speedup.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Tue Mar  3 13:23:00 2026
(Merged from https://github.com/openssl/openssl/pull/30211)

5 weeks agofix implementation json naming in quic interop tests
Neil Horman [Tue, 3 Mar 2026 09:53:56 +0000 (04:53 -0500)] 
fix implementation json naming in quic interop tests

upstream test harness project renamed its implementations.json file to
implementations_quic.json.  We need to do the same in our CI file

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Tue Mar  3 11:37:49 2026
(Merged from https://github.com/openssl/openssl/pull/30248)

5 weeks agoIndicate EOF on fatal error in file or winstore
Tomas Mraz [Wed, 25 Feb 2026 08:08:38 +0000 (09:08 +0100)] 
Indicate EOF on fatal error in file or winstore

If decoders setup fails, this is a fatal error.
We indicate EOF from the store as otherwise the store
users will loop indefinitely.

Fixes #28667

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon Mar  2 19:38:43 2026
(Merged from https://github.com/openssl/openssl/pull/30170)

5 weeks agoFIPS: Change EC_GROUP_check() so that it fails for explicit curves.
slontis [Mon, 23 Feb 2026 05:00:32 +0000 (16:00 +1100)] 
FIPS: Change EC_GROUP_check() so that it fails for explicit curves.

Reported by Luigino Camastra (Aisle Research).

Explicit curves returned a NID of NID_undef (which has a value of 0)
which resulted in the check >= 0 passing.
Changing the result to > addresses the issue.
Note that this is a NON issue in master since explicit curves are
now disabled by default. Note also that for any EC operation that
tries to use a loaded EC key, checks that the curve and security
strength are valid.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Mon Mar  2 19:37:04 2026
(Merged from https://github.com/openssl/openssl/pull/30138)

5 weeks agoossl_lms_key_to_text(): Fix NULL pointer dereference of `key` argument
Alexandr Nedvedicky [Sat, 28 Feb 2026 07:56:52 +0000 (08:56 +0100)] 
ossl_lms_key_to_text(): Fix NULL pointer dereference of `key` argument

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1682024
Complements: 3d82b990d1f Added LMS support for OpenSSL commandline signature verification using pkeyutl.

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
MergeDate: Mon Mar  2 19:33:33 2026
(Merged from https://github.com/openssl/openssl/pull/30215)

5 weeks agoPolish AKID/SKID handling and related docs
Viktor Dukhovni [Sat, 28 Feb 2026 15:40:52 +0000 (02:40 +1100)] 
Polish AKID/SKID handling and related docs

- Drop empty requestExtensions CSR attributes

  While `attributes` is a required CSR field, its `requestExtensions`
  attribute is optional, and should be avoided if empty.

- Detail documentation of req extension section selection

- Fixed req CI test case naming nits

- Refer to config(5) for meaning of "variable"

- In code comments, note possibility of fewer extensions after adding
  an ignored empty extension while deleting a previous value.

- Mention new "nonss" AKID qualifier in CHANGES

- I x509_config(5) Clarify AKID issuer as fallback (unless ":always")

- In stock config file, comment proxy cert issuer SKID expectation.

- Clarify comment on empty SKID/AKID vs. prior value

- Use B<default> not C<default> for unnamed section

- Polish (mostly CSR) extension handling

  * In update_req_extensions() drop extraneous duplicate
    X509at_delete_attr() call.
  * Consolidate empty SKID/AKID detection in new
    ossl_ignored_x509_extension().
  * Handle empty SKID/AKID also in X509V3_add1_i2d().
  * In test_drop_empty_csr_keyids() exercise the full NCONF extension
    management stack, using X509_REQ_get_attr_count() to check that
    after "subjectKeyIdentifier = none" not an even an empty extension
    set remains as a CSR attribute (X509_REQ_get_extensions() always
    returns at least an empty stack because NULL signals an error).

Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Mon Mar  2 17:04:22 2026
(Merged from https://github.com/openssl/openssl/pull/30217)

5 weeks agoMake the openssl-ciphers(1) manual page up to date
Igor Ustinov [Mon, 23 Feb 2026 10:37:40 +0000 (11:37 +0100)] 
Make the openssl-ciphers(1) manual page up to date

There are multiple changes - updated ciphers to more current ones,
also better documentation for COMPLEMENTOFDEFAULT.

Fixes #6653

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Mon Mar  2 15:56:39 2026
(Merged from https://github.com/openssl/openssl/pull/30153)

5 weeks agoCoverity complains X509_REQ_set_subject_name() return value
Alexandr Nedvedicky [Thu, 26 Feb 2026 10:21:14 +0000 (11:21 +0100)] 
Coverity complains X509_REQ_set_subject_name() return value
is ignored.

Resolves: https://scan5.scan.coverity.com/#/project-view/62622/10222?selectedIssue=1201538

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Mon Mar  2 13:03:03 2026
(Merged from https://github.com/openssl/openssl/pull/30193)

5 weeks agocopy_email() may leak memory when asked to move data
Alexandr Nedvedicky [Thu, 26 Feb 2026 09:59:37 +0000 (10:59 +0100)] 
copy_email() may leak memory when asked to move data
instead of copy

Resolves: https://scan5.scan.coverity.com/#/project-view/62622/10222?selectedIssue=1681722

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Mon Mar  2 12:51:48 2026
(Merged from https://github.com/openssl/openssl/pull/30192)

5 weeks agoSHAKE - Fix 390x CI problems for SLH-DSA
slontis [Thu, 19 Feb 2026 04:38:42 +0000 (15:38 +1100)] 
SHAKE - Fix 390x CI problems for SLH-DSA

Fixes #30039

In order to fix this, the ossl_sha3_ related functions have been
renamed so that ossl_sha3_XXX() functions are the high level
functions that contain calls to platform specific methods.
ossl_sha3_XXX_default() etc are the 'general' platform methods.

All of the state checking has been moved out of the platform specific
methods. The sha3 provider dispatch functions now share the
ossl_sha3_XXX() calls.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Mon Mar  2 11:58:44 2026
(Merged from https://github.com/openssl/openssl/pull/30104)

5 weeks agoadds test of ECH fail then using retry configs
sftcd [Tue, 24 Feb 2026 13:12:40 +0000 (13:12 +0000)] 
adds test of ECH fail then using retry configs

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Mon Mar  2 09:58:58 2026
(Merged from https://github.com/openssl/openssl/pull/30155)

5 weeks agoadd check before releaseing retry-configs
sftcd [Wed, 25 Feb 2026 14:24:00 +0000 (14:24 +0000)] 
add check before releaseing retry-configs

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Mon Mar  2 09:55:44 2026
(Merged from https://github.com/openssl/openssl/pull/30175)

5 weeks agodoc: document provider/library context cleanup order requirement
kovan [Tue, 27 Jan 2026 10:05:00 +0000 (11:05 +0100)] 
doc: document provider/library context cleanup order requirement

Document that providers must be unloaded with OSSL_PROVIDER_unload()
before their associated library context is freed with OSSL_LIB_CTX_free().
Calling OSSL_PROVIDER_unload() after the library context has been freed
results in undefined behavior (heap-use-after-free).

The warning is added to both OSSL_PROVIDER(3) and OSSL_LIB_CTX(3) man pages
to ensure users encounter it regardless of which documentation they consult.

Fixes #27522

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
MergeDate: Sun Mar  1 19:03:43 2026
(Merged from https://github.com/openssl/openssl/pull/29785)

5 weeks agoDocument PKCS7_dataVerify
Neil Horman [Tue, 24 Feb 2026 14:29:47 +0000 (09:29 -0500)] 
Document PKCS7_dataVerify

Its older, and generally replaced by PKCS7_verify, but its not
deprecated, so we should document it.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Sun Mar  1 14:18:17 2026
(Merged from https://github.com/openssl/openssl/pull/30158)

5 weeks agoFix return values on PKCS7_dataVerfiy
Neil Horman [Tue, 24 Feb 2026 13:36:08 +0000 (08:36 -0500)] 
Fix return values on PKCS7_dataVerfiy

PKCS7_dataVerify returns 1 on success or 0 on failure, just like
PKCS7_verify.

except, if everything else goes right, it returns the value of
PKCS7_signatureVerify, which may be -1, which seems wrong.

Instead, check the retun of PKCS7_signatureVerify within this function
for an error, and make PKCS7_dataVerify return 0 in the event
signatureVerify fails.

This brings us into line with PKCS7_verify behavior

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Sun Mar  1 14:18:14 2026
(Merged from https://github.com/openssl/openssl/pull/30158)

5 weeks agoFix doc name of ML-DSA-MU
Viktor Dukhovni [Tue, 24 Feb 2026 14:27:38 +0000 (01:27 +1100)] 
Fix doc name of ML-DSA-MU

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Sun Mar  1 02:42:17 2026
(Merged from https://github.com/openssl/openssl/pull/30157)

5 weeks agoReplace built-in AKID/SKID with configs
Viktor Dukhovni [Wed, 25 Feb 2026 07:14:28 +0000 (18:14 +1100)] 
Replace built-in AKID/SKID with configs

Add tests for suppression of skid/akid via explicit "none"
values and per-keyword "nonss" qualifiers and update docs.

Signing of X509 certs and X509_REQ CSRs rejects empty AKID/SKID
extensions, document and test this behaviour.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Sat Feb 28 15:22:53 2026
(Merged from https://github.com/openssl/openssl/pull/29057)

5 weeks agoImproved handling of AKID/SKID extensions in CSRs and certs
Viktor Dukhovni [Tue, 4 Nov 2025 06:40:53 +0000 (17:40 +1100)] 
Improved handling of AKID/SKID extensions in CSRs and certs

With the advent of the new AKID and SKID value syntax:

    - subjectKeyIdentifier = none
    - authorityKeyIdentifier = none

the resulting extensions are not directly suppressed, instead they
are parsed respectively as an empty OCTET STRING or an empty SEQUENCE.

There was new code in "apps/" to then drop the extension when signing
certificates, but this did not address applications that sign
certificates via the API, nor did it avoid adding these in CSRs.

We now drop these specific empty extensions from both certificates and
CSRs as part of X509v3_add_ext(), with the parsed extension never added
to the extension stack.

This means that in the "apps" the default "hash" or "keyid, issuer"
values must now be created first, with config settings and command-line
options applied after replacing the default as requested (including
"none" to suppress the extensions if desired).

If somehow an application manages to construct a TBS cert or CSR with a
pending empty SKID or AKID extension, an error is raised and the TBS is
not signed.

When no SKID is present in a self-signed cert, attempts to
force an AKID keyid need to fail, rather than produce an AKID
that will never match.

Similarly, when issuer cert == subject cert (same object in memory), but
the issuer key is not the subject key (forced signing key), there is no
way to infer the unknown issuer's name or serial number, so, with
"issuer:always" we must fail, rather than record the subject's own
issuer name and serial.

New "keyid:nonss" and "issuer:nonss" syntax is now supported, which
allows either part of the AKID to be conditional on the certificate not
being self-signed.  In the case if "issuer:nonss" this is also
conditional on there being no non-empty issuer keyid.  To force
inclusion of issuer+serial in the AKID use "issuer:always".

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Sat Feb 28 15:22:47 2026
(Merged from https://github.com/openssl/openssl/pull/29057)

5 weeks agoFallback implementation of tsan_add now returns value before addition to be consisten...
Frederik Wedel-Heinen [Wed, 25 Feb 2026 19:06:07 +0000 (20:06 +0100)] 
Fallback implementation of tsan_add now returns value before addition to be consistent with other definitions

Fixes #28410

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Sat Feb 28 14:10:25 2026
(Merged from https://github.com/openssl/openssl/pull/30180)

5 weeks agoAdd a note about commit message titles being 50-70 character in length
Pauli [Tue, 24 Feb 2026 00:13:00 +0000 (11:13 +1100)] 
Add a note about commit message titles being 50-70 character in length

Requested by @levitte in #30075

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Sat Feb 28 14:04:35 2026
(Merged from https://github.com/openssl/openssl/pull/30148)

5 weeks agoFixes Coverity issue CID 1681693
Igor Ustinov [Thu, 26 Feb 2026 06:12:41 +0000 (07:12 +0100)] 
Fixes Coverity issue CID 1681693

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Sat Feb 28 13:23:47 2026
(Merged from https://github.com/openssl/openssl/pull/30189)

5 weeks agoAdd CHANGES entry noting the removal of the SSL_TXT_FIPS option
Pauli [Fri, 27 Feb 2026 02:24:07 +0000 (13:24 +1100)] 
Add CHANGES entry noting the removal of the SSL_TXT_FIPS option

The option was a remnant of the FIPS canister and wasn't used anywhere.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/30200)

5 weeks agoRemove SSL_TXT_FIPS
Pauli [Fri, 27 Feb 2026 02:27:21 +0000 (13:27 +1100)] 
Remove SSL_TXT_FIPS

This refers to an option that is no longer supported or available.
The option is a remnant of the old FIPS canister from OpenSSL 1.0.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/30200)

5 weeks agoRemove remnant SSL_FIPS flag
Pauli [Thu, 26 Feb 2026 22:33:48 +0000 (09:33 +1100)] 
Remove remnant SSL_FIPS flag

This flag was used to support the old FIPS canister and isn't used or
needed anymore.  It's only set in the data structures and never queried
so it's removal is low impact.

Fixes #30156

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/30200)

5 weeks agoAdded -expected-rpks s_client/server option
Viktor Dukhovni [Wed, 18 Feb 2026 10:59:04 +0000 (21:59 +1100)] 
Added -expected-rpks s_client/server option

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Sat Feb 28 09:17:23 2026
(Merged from https://github.com/openssl/openssl/pull/30089)

5 weeks agoEnsure TLS 1.3 ciphersuites are actually for TLS 1.3
Viktor Dukhovni [Mon, 23 Feb 2026 05:55:28 +0000 (16:55 +1100)] 
Ensure TLS 1.3 ciphersuites are actually for TLS 1.3

- Also suppress duplicate ciphersuites
- Also ignore case in both TLS 1.3 and TLS 1.2 ciphers

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Sat Feb 28 09:11:33 2026
(Merged from https://github.com/openssl/openssl/pull/30140)

6 weeks agoCRL: Reject CRLs with malformed Issuing Distribution Point
Daniel Kubec [Wed, 25 Feb 2026 09:51:08 +0000 (10:51 +0100)] 
CRL: Reject CRLs with malformed Issuing Distribution Point

CRLs with a malformed Issuing Distribution Point are now rejected.
ASN.1 parsing errors from the IDP extension are propagated instead
of being suppressed.

Fixes #27251

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Fri Feb 27 20:06:59 2026
(Merged from https://github.com/openssl/openssl/pull/30171)

6 weeks agoAdd alternate ordering for ossl-guide-migration
Bob Beck [Tue, 24 Feb 2026 20:08:39 +0000 (13:08 -0700)] 
Add alternate ordering for ossl-guide-migration

Add alternate wordings for ossl-guide-migration so that its a bit easier
to find.

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Fri Feb 27 18:45:50 2026
(Merged from https://github.com/openssl/openssl/pull/30165)

6 weeks agoDescribe X509 constification and ASN1_STRING changes
Bob Beck [Tue, 24 Feb 2026 18:49:26 +0000 (11:49 -0700)] 
Describe X509 constification and ASN1_STRING changes

In a CHANGES.md entry and in ossl-guide-migration, to
cover the constification of the X509 related functions and
the change to ASN1_STRING to be opaque.

Fixes: #30060
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Fri Feb 27 18:45:47 2026
(Merged from https://github.com/openssl/openssl/pull/30165)

6 weeks agoAdded HSS/LMS OID id-alg-hss-lms-hashsig
slontis [Fri, 12 Dec 2025 03:02:42 +0000 (14:02 +1100)] 
Added HSS/LMS OID id-alg-hss-lms-hashsig

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Fri Feb 27 14:40:27 2026
(Merged from https://github.com/openssl/openssl/pull/29381)

6 weeks agoAdded additional TRACE information to Decoders.
slontis [Fri, 12 Dec 2025 02:58:32 +0000 (13:58 +1100)] 
Added additional TRACE information to Decoders.

This outputs the description field which is easier to understand than a
pointer.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Fri Feb 27 14:40:27 2026
(Merged from https://github.com/openssl/openssl/pull/29381)

6 weeks agoAdded LMS SubjectPublicInfo related encoders and decoders.
slontis [Fri, 12 Dec 2025 02:56:38 +0000 (13:56 +1100)] 
Added LMS SubjectPublicInfo related encoders and decoders.
Added a description to all encoder and decoder fields.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Fri Feb 27 14:40:27 2026
(Merged from https://github.com/openssl/openssl/pull/29381)

6 weeks agoAdded LMS support for OpenSSL commandline signature verification using pkeyutl.
slontis [Fri, 12 Dec 2025 02:52:25 +0000 (13:52 +1100)] 
Added LMS support for OpenSSL commandline signature verification using pkeyutl.

Added LMS 'SubjectPublicKeyInfo' encoder/decoder support.
Modified LMS keymanager and signature code to work with pkey and
pkeyutl.

Test data for public keys and signatures were generated by modifying
BouncyCastle code tests.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Fri Feb 27 14:40:27 2026
(Merged from https://github.com/openssl/openssl/pull/29381)

6 weeks agoossl_x509v3_cache_extensions(): Fix regression of no-rfc3779 build
Tomas Mraz [Fri, 27 Feb 2026 10:18:52 +0000 (11:18 +0100)] 
ossl_x509v3_cache_extensions(): Fix regression of no-rfc3779 build

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Fri Feb 27 10:43:43 2026
(Merged from https://github.com/openssl/openssl/pull/30202)

6 weeks agocrypto/bio/bio_print.c: maintain consistent MSVC feature macro guards
Richard Levitte [Wed, 25 Feb 2026 14:38:17 +0000 (15:38 +0100)] 
crypto/bio/bio_print.c: maintain consistent MSVC feature macro guards

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Thu Feb 26 17:12:02 2026
(Merged from https://github.com/openssl/openssl/pull/30177)

6 weeks agoFix potential use after free in buffer_from_bytes()
Alexandr Nedvedicky [Wed, 25 Feb 2026 07:43:29 +0000 (08:43 +0100)] 
Fix potential use after free in buffer_from_bytes()

Fix coverity issue 1681707

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Thu Feb 26 15:05:37 2026
(Merged from https://github.com/openssl/openssl/pull/30169)

6 weeks agoConstify X509_check_issued and friends
Neil Horman [Wed, 18 Feb 2026 15:31:50 +0000 (10:31 -0500)] 
Constify X509_check_issued and friends

Constify this funcitons X509 parameter, as it generally doesn't modify
the structure, save for the caching information that it computes.

Note: As the caching opertions in ossl_x509v3_cache_extensions modify
X509 data all over the place, this change centralizes those updates,
which is something of an increase in complexity, but it does allow us to
reduce the critical section of the write lock there which (hopefully)
will make other accesses that take that lock a bit faster.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Thu Feb 26 14:58:30 2026
(Merged from https://github.com/openssl/openssl/pull/30067)

6 weeks agoFix clean target to remove test-runs directory
William Faber [Thu, 19 Feb 2026 21:50:46 +0000 (16:50 -0500)] 
Fix clean target to remove test-runs directory

Fixes: #29931
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
MergeDate: Thu Feb 26 14:26:16 2026
(Merged from https://github.com/openssl/openssl/pull/30100)

6 weeks agoRemove dead code in ossl_ech_copy_inner2outer
Neil Horman [Mon, 23 Feb 2026 20:08:22 +0000 (15:08 -0500)] 
Remove dead code in ossl_ech_copy_inner2outer

Theres an additional NULL check in this function that can never be NULL
at the point at which it is checked.  Remove it

Fixes https://scan5.scan.coverity.com/#/project-view/60762/10222?selectedIssue=1681461

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
MergeDate: Wed Feb 25 15:32:54 2026
(Merged from https://github.com/openssl/openssl/pull/30147)

6 weeks agoconstify X509_find_by_issuer_and_serial
Neil Horman [Thu, 19 Feb 2026 17:07:21 +0000 (12:07 -0500)] 
constify X509_find_by_issuer_and_serial

Constify the return value of X509_find_by_issuer_and_serial, and fix up
the callers to handle it properly (affects two pkcs7 functions)

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Wed Feb 25 15:05:11 2026
(Merged from https://github.com/openssl/openssl/pull/30092)

6 weeks agotest_sigalgs_available(): Add missing FALLTHROUGH annotation
Tomas Mraz [Wed, 25 Feb 2026 13:54:03 +0000 (14:54 +0100)] 
test_sigalgs_available(): Add missing FALLTHROUGH annotation

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Wed Feb 25 14:23:45 2026
(Merged from https://github.com/openssl/openssl/pull/30174)

6 weeks agoImproved reporting of shared and peer sigalgs
Daniel Kubec [Tue, 10 Feb 2026 16:18:07 +0000 (17:18 +0100)] 
Improved reporting of shared and peer sigalgs

The existing SSL_get_sigalgs() and SSL_get_shared_sigalgs() are not a
good fit for TLS 1.3, because signature schemes are no longer generally
combinations of separate digest and signing algorithms encoded in the
two byte codepoint.

The new SSL_get0_sigalg() and SSL_get0_shared_sigalg() functions just
report the signature scheme name and codepoint.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:30:16 2026
(Merged from https://github.com/openssl/openssl/pull/29982)

6 weeks agossl/ech/ech_store.c: use OPENSSL_malloc_array() in ech_decode_one_entry()
Eugene Syromiatnikov [Mon, 23 Feb 2026 14:52:01 +0000 (15:52 +0100)] 
ssl/ech/ech_store.c: use OPENSSL_malloc_array() in ech_decode_one_entry()

Use OPENSSL_malloc_array() for ee->suites array allocation, as it is more
semantically sound and performs a size overflow check.

Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:20:15 2026
(Merged from https://github.com/openssl/openssl/pull/30146)

6 weeks agossl/ech/ech_store.c: do not raise errors on allocation failures
Eugene Syromiatnikov [Mon, 23 Feb 2026 14:48:23 +0000 (15:48 +0100)] 
ssl/ech/ech_store.c: do not raise errors on allocation failures

The default CRYPTO_malloc() implementation (with OPENSSL_malloc()
and OPENSSL_zalloc() being wrappers for it) raises an error
on allocation, and both OPENSSL_strdup() and OPENSSL_memdup() use
CRYPTO_malloc() internally for memory allocation, so there is no need
to explicitly raise an error on an allocation failure;  remove these.

Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:20:14 2026
(Merged from https://github.com/openssl/openssl/pull/30146)

6 weeks agoevp_kem_init(): Fix copy paste bug when checking decapsulate_init
Weixie Cui [Mon, 23 Feb 2026 14:26:17 +0000 (22:26 +0800)] 
evp_kem_init(): Fix copy paste bug when checking decapsulate_init

CLA: trivial

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:13:36 2026
(Merged from https://github.com/openssl/openssl/pull/30144)

6 weeks agotest/ech_test.c: avoid memory leaks in ech_api_basic_calls()
Eugene Syromiatnikov [Mon, 23 Feb 2026 05:42:00 +0000 (06:42 +0100)] 
test/ech_test.c: avoid memory leaks in ech_api_basic_calls()

rinner and router should be freed after successful SSL_ech_get1_status()
calls.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681465
Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681466
Fixes: 5e5a76fc2c08 "Add tests and documentation and fix a couple of issues identified by added tests"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:58 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agotest/ech_corrupt_test.c: avoid memory leak in tls_corrupt_write()
Eugene Syromiatnikov [Mon, 23 Feb 2026 05:39:29 +0000 (06:39 +0100)] 
test/ech_corrupt_test.c: avoid memory leak in tls_corrupt_write()

corrupt_or_copy() may return 0 while still setting returning the allocated
memory in copy, avoid leaking it by always calling OPENSSL_free() on it.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681460
Fixes: 5e5a76fc2c08 "Add tests and documentation and fix a couple of issues identified by added tests"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:57 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/statem/statem_srvr.c: avoid WPACKET momory leak in tls_process_client_hello
Eugene Syromiatnikov [Mon, 23 Feb 2026 05:28:12 +0000 (06:28 +0100)] 
ssl/statem/statem_srvr.c: avoid WPACKET momory leak in tls_process_client_hello

Call WPACKET_cleanup() in case of a WPACKET_* call error after
successfull WPACKET_init_static_len() before return.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681448
Fixes: 6c3edd4f3a8a "Add server-side handling of Encrypted Client Hello"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:56 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/statem/extensions_srvr.c: free empty rcfgs in tls_construct_stoc_ech()
Eugene Syromiatnikov [Mon, 23 Feb 2026 05:15:02 +0000 (06:15 +0100)] 
ssl/statem/extensions_srvr.c: free empty rcfgs in tls_construct_stoc_ech()

Free rcfgs before return when rcfgslen is 0, mostly to placate
Coverity, as it is expected to be NULL with the majority of realloc()
implementations.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681463
Complements: 6c3edd4f3a8a "Add server-side handling of Encrypted Client Hello"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:55 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/statem/extensions_clnt.c: superfluous NULL check in tls_construct_ctos_psk()
Eugene Syromiatnikov [Mon, 23 Feb 2026 05:04:31 +0000 (06:04 +0100)] 
ssl/statem/extensions_clnt.c: superfluous NULL check in tls_construct_ctos_psk()

Remove superfluous NULL check of s->session in tls_construct_ctos_psk(),
as it is assumed to be non-NULL elsewhere.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681450
Fixes: ade10c5dbf20 "ECH client side"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:54 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_store.c: avoid NULL dereference in ech_decode_one_entry()
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:52:44 +0000 (05:52 +0100)] 
ssl/ech/ech_store.c: avoid NULL dereference in ech_decode_one_entry()

Do not jump to the err label on rent NULL check failure (where
it is dereferenced) and rather return immediately.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681462
Fixes: 4af71a77387c "ECH CLI implementation"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:52 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_store.c: avoid uninitialised WPACKET use in OSSL_ECHSTORE_new_config
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:47:39 +0000 (05:47 +0100)] 
ssl/ech/ech_store.c: avoid uninitialised WPACKET use in OSSL_ECHSTORE_new_config

Do not call WPACKET_cleanup() in case of WPACKET_init() failure
and earlier errors.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681459
Fixes: 4af71a77387c "ECH CLI implementation"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:51 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_store.c: avoid memory leak on error path in OSSL_ECHSTORE_new
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:38:19 +0000 (05:38 +0100)] 
ssl/ech/ech_store.c: avoid memory leak on error path in OSSL_ECHSTORE_new

Free the newly allocated OSSL_ECHSTORE in case of propq duplication
failure before return.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681457
Fixes: 7debe0ddeff7 "ECH external APIs"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:50 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_internal.c: avoid memory leak on ech_decode_inbound_ech() error path
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:33:55 +0000 (05:33 +0100)] 
ssl/ech/ech_internal.c: avoid memory leak on ech_decode_inbound_ech() error path

Free allocated tmpenc in case of subsequent PACKET_copy_bytes() failure.

Reolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681456
Fixes: 6c3edd4f3a8a "Add server-side handling of Encrypted Client Hello"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:49 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_internal.c: avoid NULL dereference in ossl_ech_get_ch_offsets
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:29:37 +0000 (05:29 +0100)] 
ssl/ech/ech_internal.c: avoid NULL dereference in ossl_ech_get_ch_offsets

Do not call SSLfatal with s that can potentially be NULL.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681455
Fixes: 6c3edd4f3a8a "Add server-side handling of Encrypted Client Hello"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:47 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_internal.c: avoid truncating time_t value in ossl_ech_status_print
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:22:03 +0000 (05:22 +0100)] 
ssl/ech/ech_internal.c: avoid truncating time_t value in ossl_ech_status_print

Avoid casting time_t (that is almost universally 64-bit nowadays)
to (32-bit) int and cast it to long long instead.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681453
Fixes: ade10c5dbf20 "ECH client side"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:46 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_store.c: check WPACKET_get_total_written return value
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:16:24 +0000 (05:16 +0100)] 
ssl/ech/ech_store.c: check WPACKET_get_total_written return value

Check the return value of check WPACKET_get_total_written() call
in OSSL_ECHSTORE_new_config() and OSSL_ECHSTORE_write_pem(),
and error out on failure.

References: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681451
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:45 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_internal.c: avoid memory leak in ossl_ech_get_retry_configs()
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:09:06 +0000 (05:09 +0100)] 
ssl/ech/ech_internal.c: avoid memory leak in ossl_ech_get_retry_configs()

Free the temporarily allocated memory before returning on failed size
overflow check.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681458
Fixes: 0bdae603e82f "ossl_ech_get_retry_configs(): Check for integer overflow"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:43 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_internal.c: check WPACKET_get_total_written in ossl_ech_send_grease
Eugene Syromiatnikov [Mon, 23 Feb 2026 04:06:18 +0000 (05:06 +0100)] 
ssl/ech/ech_internal.c: check WPACKET_get_total_written in ossl_ech_send_grease

Check the result of WPACKET_get_total_written() calls
in ossl_ech_send_grease(), as is done elsewhere.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681451
Fixes: ade10c5dbf20 "ECH client side"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:42 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agossl/ech/ech_internal.c: avoid superfluous extval check in ossl_ech_early_decrypt
Eugene Syromiatnikov [Mon, 23 Feb 2026 03:33:07 +0000 (04:33 +0100)] 
ssl/ech/ech_internal.c: avoid superfluous extval check in ossl_ech_early_decrypt

Remove superfluous extval NULL check on success path, as it cannot
be NULL, and is already dereferenced earlier.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681447
Fixes: 6c3edd4f3a8a "Add server-side handling of Encrypted Client Hello"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:41 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agoapps/s_server.c: call OPENSSL_DIR_end after directory traversal in ech_load_dir
Eugene Syromiatnikov [Mon, 23 Feb 2026 03:22:24 +0000 (04:22 +0100)] 
apps/s_server.c: call OPENSSL_DIR_end after directory traversal in ech_load_dir

While it is not documented, OPENSSL_DIR_end() is to be called at the end
of directory traversal to free the context and avoid leaking memory.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681464
Fixes: a2e5848d9d11 "s_client and s_server options for ECH"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:39 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agoapps/s_server.c: free ECH storage in ech_load_dir() on return
Eugene Syromiatnikov [Mon, 23 Feb 2026 03:18:17 +0000 (04:18 +0100)] 
apps/s_server.c: free ECH storage in ech_load_dir() on return

The ECH storage is to be freed on both error and success paths,
as it is copied by SSL_CTX_set1_echstore().

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681454
Fixes: a2e5848d9d11 "s_client and s_server options for ECH"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:38 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agoapps/ech.c: free the resources on option help printing
Eugene Syromiatnikov [Mon, 23 Feb 2026 02:55:36 +0000 (03:55 +0100)] 
apps/ech.c: free the resources on option help printing

Avoid leaking resources when jumping to opthelp by executing the same
freeing routines.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1681452
Fixes: 4af71a77387c "ECH CLI implementation"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:10:37 2026
(Merged from https://github.com/openssl/openssl/pull/30139)

6 weeks agoSimplify and expand default group list
Viktor Dukhovni [Mon, 23 Feb 2026 04:49:06 +0000 (15:49 +1100)] 
Simplify and expand default group list

With keyshare floating, we no longer need CPP conditions to get the
right keyshare prediction defaults.

Also add "curveSM2" near the end of the list, after the stronger ECX and
EC groups, but before FFDHE.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:08:17 2026
(Merged from https://github.com/openssl/openssl/pull/30113)

6 weeks agoAdd keyshare floating
Viktor Dukhovni [Mon, 16 Feb 2026 01:38:51 +0000 (12:38 +1100)] 
Add keyshare floating

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:08:10 2026
(Merged from https://github.com/openssl/openssl/pull/30113)

6 weeks agoFix group tuple handling in DEFAULT expansion
Viktor Dukhovni [Sun, 15 Feb 2026 11:50:09 +0000 (22:50 +1100)] 
Fix group tuple handling in DEFAULT expansion

Also fine-tune docs and add tests.

Fixes: #30109
Fixes: CVE-2026-2673
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
MergeDate: Wed Feb 25 11:08:03 2026
(Merged from https://github.com/openssl/openssl/pull/30113)

6 weeks agoFix const qualifiers from strchr where discarded
Rudi Heitbaum [Mon, 23 Feb 2026 02:40:54 +0000 (02:40 +0000)] 
Fix const qualifiers from strchr where discarded

This patch fixes several const qualifiers byu adding where required.

    warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]

Since glibc-2.43 and ISO C23, the functions bsearch, memchr, strchr,
strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr
that return pointers into their input arrays now have definitions as
macros that return a pointer to a const-qualified type when the input
argument is a pointer to a const-qualified type.

Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Wed Feb 25 11:04:09 2026
(Merged from https://github.com/openssl/openssl/pull/30136)

6 weeks agoFIPS self tests: fix config options when -no-bulk is used
slontis [Wed, 18 Feb 2026 05:48:04 +0000 (16:48 +1100)] 
FIPS self tests: fix config options when -no-bulk is used

Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Feb 25 11:02:07 2026
(Merged from https://github.com/openssl/openssl/pull/30103)

6 weeks agodoc: enumerate and describe known reserved property names
Richard Levitte [Thu, 19 Feb 2026 12:30:13 +0000 (13:30 +0100)] 
doc: enumerate and describe known reserved property names

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Feb 25 11:00:15 2026
(Merged from https://github.com/openssl/openssl/pull/30083)

6 weeks agoDeprecate ASN1_OBJECT_new().
Frederik Wedel-Heinen [Sat, 14 Feb 2026 06:29:59 +0000 (07:29 +0100)] 
Deprecate ASN1_OBJECT_new().

Fixes #16862

Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Feb 25 10:37:27 2026
(Merged from https://github.com/openssl/openssl/pull/30011)

6 weeks agodoc: fix algorithm and key type names in EVP_PKEY-SLH-DSA
kovan [Tue, 27 Jan 2026 10:18:08 +0000 (11:18 +0100)] 
doc: fix algorithm and key type names in EVP_PKEY-SLH-DSA

The DESCRIPTION section had inconsistent naming - some algorithm names
incorrectly had the "EVP_PKEY-" prefix while others did not.

Rewrote the section to clearly separate:
- Algorithm names (e.g., SLH-DSA-SHA2-128s) using hyphens
- Key type identifiers (e.g., EVP_PKEY_SLH_DSA_SHA2_128S) using underscores

This matches the format used in EVP_PKEY-ML-DSA(7) and allows the names
to be used correctly in code.

Fixes #29329

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
MergeDate: Wed Feb 25 10:26:59 2026
(Merged from https://github.com/openssl/openssl/pull/29788)

6 weeks agoPatch the krb5 build for X509_STORE_CTX constification
Bob Beck [Thu, 19 Feb 2026 22:42:33 +0000 (15:42 -0700)] 
Patch the krb5 build for X509_STORE_CTX constification

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Feb 25 10:24:17 2026
(Merged from https://github.com/openssl/openssl/pull/30076)

6 weeks agoConstify X509_STORE_CTX functions invoving X509 *
Bob Beck [Thu, 19 Feb 2026 00:34:12 +0000 (17:34 -0700)] 
Constify X509_STORE_CTX functions invoving X509 *

X509_STORE_CTX *ctx, const X509 *x);
X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, const X509 *x);
int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *trust_store, const X509 *target, STACK_OF(X509) *untrusted);
const X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx);
const X509 *X509_STORE_CTX_get_current_cert(const X509_STORE_CTX *ctx);
const X509 *X509_STORE_CTX_get0_current_issuer(const X509_STORE_CTX *ctx);
void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, const X509 *target);

For #30052

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Wed Feb 25 10:24:15 2026
(Merged from https://github.com/openssl/openssl/pull/30076)