]> git.ipfire.org Git - thirdparty/openssl.git/log
thirdparty/openssl.git
10 days agoTLS1.3: Disable tickets when SSL_OP_NO_TICKET and SSL_SESS_CACHE_OFF are set.
Daniel Kubec [Mon, 30 Mar 2026 11:43:41 +0000 (13:43 +0200)] 
TLS1.3: Disable tickets when SSL_OP_NO_TICKET and SSL_SESS_CACHE_OFF are set.

Do not issue TLS 1.3 session tickets if the server has explicitly disabled
them via SSL_OP_NO_TICKET and also disabled the session cache with
SSL_SESS_CACHE_OFF. Together, these settings clearly indicate an intent to
suppress session resumption; sending NewSessionTicket messages in this case
would be wasteful and misleading.

From the server’s perspective, a client that does not advertise
psk_key_exchange_modes in TLS 1.3, or that sends it with RFC 9149 parameters
such as new_session_count = 0 or resumption_count = 0, is effectively
signaling no interest in session tickets or resumption.

RFC 8446 section 4.2.9: Servers MUST NOT select a key exchange mode that is
not listed by the client. This extension also restricts the modes for use
with PSK resumption. Servers SHOULD NOT send NewSessionTicket with tickets
that are not compatible with the advertised modes; however, if a server does
so, the impact will just be that the client's attempts at resumption fail.

Fixes #8077

Signed-off-by: Daniel Kubec <kubec@openssl.foundation>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Wed May 20 15:42:00 2026
(Merged from https://github.com/openssl/openssl/pull/30639)

10 days agoAdd test for SSL_SESSION leak on ticket abort in tls_parse_ctos_psk()
Weidong Wang [Wed, 18 Mar 2026 11:00:06 +0000 (06:00 -0500)] 
Add test for SSL_SESSION leak on ticket abort in tls_parse_ctos_psk()

Add test_ticket_abort_session_leak() to verify that returning
SSL_TICKET_RETURN_ABORT from the decrypt ticket callback during TLS 1.3
resumption does not leak the SSL_SESSION allocated by tls_decrypt_ticket().
This exercises the error path fixed in commit 96f424c439.

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May 20 14:38:04 2026
(Merged from https://github.com/openssl/openssl/pull/30464)

10 days agoFix SSL_SESSION leak in tls_parse_ctos_psk() on ticket error paths
Weidong Wang [Tue, 17 Mar 2026 17:23:58 +0000 (12:23 -0500)] 
Fix SSL_SESSION leak in tls_parse_ctos_psk() on ticket error paths

Two early 'return 0' statements bypass the err: label cleanup that
calls SSL_SESSION_free(sess). When tls_decrypt_ticket() allocates an
SSL_SESSION but the decrypt_ticket_cb returns ABORT, the session is
leaked. Replace 'return 0' with 'goto err' so the existing cleanup
handles it.

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May 20 14:38:01 2026
(Merged from https://github.com/openssl/openssl/pull/30464)

11 days agofix UB in priority_queue
Nikola Pajkovsky [Mon, 18 May 2026 07:48:59 +0000 (09:48 +0200)] 
fix UB in priority_queue

clang-22 reports UB during test make test V=0 TESTS=test_priority_queue

ssl/priority_queue.c:159:13: runtime error: call to function size_t_compare through pointer to incorrect function type 'int (*)(const void *, const void *)'
/home/npajkovsky/openssl/openssl/test/priority_queue_test.c:28: note: size_t_compare defined here
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ssl/priority_queue.c:159:13

Fixes: https://github.com/openssl/project/issues/1953
Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Tue May 19 10:43:59 2026
(Merged from https://github.com/openssl/openssl/pull/31209)

11 days agoConfigure: update $apitable with the recent versions
Eugene Syromiatnikov [Sat, 16 May 2026 00:35:02 +0000 (02:35 +0200)] 
Configure: update $apitable with the recent versions

Fill $apitable with all the major.minor.0 versions up to the current one
in development.  Note that while 3.5 hasn't had any APIs deprecated,
it still makes sense to support passing it as an "API level".

Resolves: https://github.com/openssl/openssl/issues/31196
Reported-by: Oliver Roberts <oliver@futaura.co.uk>
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
MergeDate: Tue May 19 09:33:49 2026
(Merged from https://github.com/openssl/openssl/pull/31198)

12 days agoFix app param memory cleaning
Moryakhin Stas [Wed, 13 May 2026 13:06:34 +0000 (16:06 +0300)] 
Fix app param memory cleaning

Fixes #31149

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 18 11:12:39 2026
(Merged from https://github.com/openssl/openssl/pull/31170)

12 days agossl/d1_lib.c: remove g_probable_mtu array
Eugene Syromiatnikov [Thu, 14 May 2026 02:07:30 +0000 (04:07 +0200)] 
ssl/d1_lib.c: remove g_probable_mtu array

Its last actual user was removed in 1620a2e49c77 "Fix dtls_query_mtu
so that it will always either complete with an mtu that is at least
the minimum or it will fail.", and the only remaining user,
dtls1_link_min_mtu(), just returns its last element unconditionally.
Remove g_probable_mtu and convert dtls1_link_min_mtu into a static const
containing the value.

Complements: 1620a2e49c77 "Fix dtls_query_mtu so that it will always either complete with an mtu that is at least the minimum or it will fail."
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Mon May 18 11:09:52 2026
(Merged from https://github.com/openssl/openssl/pull/31175)

12 days agoOBJ_bsearch_ex_(): Fix const qualifier warning with CHARSET_EBCDIC
Abel Tom [Wed, 13 May 2026 16:18:45 +0000 (18:18 +0200)] 
OBJ_bsearch_ex_(): Fix const qualifier warning with CHARSET_EBCDIC

Fixes #31161

When building with CHARSET_EBCDIC defined,the compiler warns about
discarding the 'const' qualifier when assigning from base_[i * size]
to the non-const pointer p1:

`warning: assignment discards 'const' qualifier from pointer target type`

Change p1 from 'char *' to 'const char *' to maintain const-correctness
since the data being pointed to should not be modified through this
pointer.

Additionally, remove the unused variables l and h that were left over
from a previous implementation of the fallback linear search. These
variables served no purpose and only generated unused variable warnings.

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 18 11:07:53 2026
(Merged from https://github.com/openssl/openssl/pull/31173)

12 days agoDeprecate UTF8_putc/getc() and use uint32_t for unicode
Bob Beck [Fri, 24 Apr 2026 23:22:32 +0000 (17:22 -0600)] 
Deprecate UTF8_putc/getc() and use uint32_t for unicode

Unicode codepoints fit in 32 bits so we can use uint32_t
instead of unsigned long.

Also use OPENSSL_load_XX_be instead of manual shifting.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Mon May 18 11:02:37 2026
(Merged from https://github.com/openssl/openssl/pull/30967)

12 days agoFix UAF if QUIC channel init fails
Jakub Zelenka [Thu, 7 May 2026 17:13:30 +0000 (19:13 +0200)] 
Fix UAF if QUIC channel init fails

This happens because port does not get reset on the first freeing in
channel block so when it is being freed again in ossl_quic_new, it
tries to access item in port.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 18 10:50:23 2026
(Merged from https://github.com/openssl/openssl/pull/31109)

12 days agoUse valid DH peer pubkey in the KAT tests
Norbert Pocs [Wed, 13 May 2026 14:10:55 +0000 (16:10 +0200)] 
Use valid DH peer pubkey in the KAT tests

Co-authored-by: Viktor Dukhovni <viktor@openssl.org>
Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 18 07:34:16 2026
(Merged from https://github.com/openssl/openssl/pull/31171)

12 days agodoc: Add documentation for DTLS MTU functions
Kit Dallege [Fri, 15 May 2026 03:17:10 +0000 (05:17 +0200)] 
doc: Add documentation for DTLS MTU functions

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
MergeDate: Mon May 18 07:33:03 2026
(Merged from https://github.com/openssl/openssl/pull/29901)

12 days agotest/mem_alloc_test.c: fix my_malloc/my_realloc behaviour on size == 0
Eugene Syromiatnikov [Tue, 12 May 2026 13:07:17 +0000 (15:07 +0200)] 
test/mem_alloc_test.c: fix my_malloc/my_realloc behaviour on size == 0

That puts them more in line with CRYPTO_malloc() and CRYPTO_realloc()
behaviour, whose behaviour for the requested size of 0 is well-documented
and not "implementation-defined", as POSIX allows.

Fixes: d090695101a9 "test: add a sanity test for memory allocation functions"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon May 18 07:30:49 2026
(Merged from https://github.com/openssl/openssl/pull/31158)

12 days agotest/mem_alloc_test.c: increase alloc size for triggering OOM malloc failure
Eugene Syromiatnikov [Tue, 12 May 2026 12:41:16 +0000 (14:41 +0200)] 
test/mem_alloc_test.c: increase alloc size for triggering OOM malloc failure

While half of the address space is enough to make malloc() fail on
kernels of the same bitness, 32-bit compat can have enough to accommodate
such a request, and even three fourth of the address space.  Bump
the requested size closer to the type's upper limit.

Fixes: d090695101a9 "test: add a sanity test for memory allocation functions"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon May 18 07:30:48 2026
(Merged from https://github.com/openssl/openssl/pull/31158)

12 days agoHarden SSL_set_session_ticket_ext and add docs
Adraca [Wed, 29 Apr 2026 06:32:53 +0000 (06:32 +0000)] 
Harden SSL_set_session_ticket_ext and add docs

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 18 07:27:55 2026
(Merged from https://github.com/openssl/openssl/pull/31022)

12 days agoExtend and separate mfail test framework
Jakub Zelenka [Mon, 11 May 2026 15:57:16 +0000 (17:57 +0200)] 
Extend and separate mfail test framework

Separate the mfail framework so it can be used beyond testutil.
Specifically, this is a step toward using it in fuzzing.

This change also improves the way mfail tests are executed. It first
counts the number of allocations and then iterates through them.

This has a couple of advantages:
- It allows removal of MFAIL_SLOW_TEST by identifying slow tests based
  on the number of allocations.
- It allows non-failing tests to be ignored.

In addition, it adds a new environment variable to print a backtrace on
memory failure.

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon May 18 07:23:52 2026
(Merged from https://github.com/openssl/openssl/pull/31144)

12 days agoMove curve448 intrinsic headers to .inc
Norbert Pocs [Mon, 11 May 2026 14:27:42 +0000 (16:27 +0200)] 
Move curve448 intrinsic headers to .inc

They are included only to one header.

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon May 18 07:03:50 2026
(Merged from https://github.com/openssl/openssl/pull/31153)

12 days agoTell clang-tidy which header exports timeval struct
Norbert Pocs [Mon, 11 May 2026 13:51:10 +0000 (15:51 +0200)] 
Tell clang-tidy which header exports timeval struct

IWYU pragma: export, tells IWYU tools that the timeval struct is
imported from this header file instead of including <sys/time.h>
everywhere.

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon May 18 07:03:49 2026
(Merged from https://github.com/openssl/openssl/pull/31153)

12 days agoproviders/implementation: Generate header includes for .inc files
Norbert Pocs [Thu, 7 May 2026 14:00:10 +0000 (16:00 +0200)] 
providers/implementation: Generate header includes for .inc files

Make these headers self contained even as they are .inc files. This
approach makes it a lot easier to achieve self contained files and
protects from include reorders. (where the .inc can get above the
dependent headers)

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon May 18 07:03:48 2026
(Merged from https://github.com/openssl/openssl/pull/31153)

12 days agoa_strnid: put includes together
Norbert Pocs [Tue, 5 May 2026 10:36:23 +0000 (12:36 +0200)] 
a_strnid: put includes together

clang-tidy calculates where to place the headers to be added. The
maximum is the latest include present in the file.  Therefore the
algorithm sometimes addes the includes wrongly in the middle of the
file.

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Mon May 18 07:03:47 2026
(Merged from https://github.com/openssl/openssl/pull/31153)

2 weeks agoFix function pointer type mismatch when freeing ECX keys
007bsd [Mon, 4 May 2026 17:07:29 +0000 (20:07 +0300)] 
Fix function pointer type mismatch when freeing ECX keys

ossl_ecx_key_free is declared as void(ECX_KEY *) but registered
directly in the X25519/X448/Ed25519/Ed448 keymgmt OSSL_DISPATCH
tables for OSSL_FUNC_KEYMGMT_FREE, which is invoked through a
void(*)(void *) pointer in evp_keymgmt_freedata. Calling a function
through a pointer to an incompatible function type is undefined
behavior and is reported by UndefinedBehaviorSanitizer on every
ECX key free:

    crypto/evp/keymgmt_meth.c:392:5: runtime error: call to function
      ossl_ecx_key_free through pointer to incorrect function type
      'void (*)(void *)'
    crypto/ec/ecx_key.c:65: note: ossl_ecx_key_free defined here

All four algorithms share the same MAKE_KEYMGMT_FUNCTIONS dispatch
macro, so they hit the same UB; UBSan just deduplicates the report
on the first call.

Mirror the wrapper pattern used by ml_kem_free_key, ml_dsa_free_key,
slh_dsa_free_key, dsa_freedata, ec_freedata, and lms_free_key: add
a small static ecx_free_key with the correct OSSL_FUNC_keymgmt_free_fn
signature that forwards to ossl_ecx_key_free, and register the
wrapper in the dispatch macro. The existing direct callers of
ossl_ecx_key_free in ecx_kmgmt.c are unchanged since they pass a
typed ECX_KEY *.

CLA: trivial

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Paul Yang <paulyang.inf@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Thu May 14 09:31:58 2026
(Merged from https://github.com/openssl/openssl/pull/31078)

2 weeks agoFix function pointer type mismatch when freeing ML-KEM keys
007bsd [Mon, 4 May 2026 17:07:29 +0000 (20:07 +0300)] 
Fix function pointer type mismatch when freeing ML-KEM keys

ossl_ml_kem_key_free is declared as void(ML_KEM_KEY *) but registered
directly in the ML-KEM keymgmt OSSL_DISPATCH table for
OSSL_FUNC_KEYMGMT_FREE, which is invoked through a void(*)(void *)
pointer in evp_keymgmt_freedata. Calling a function through a pointer
to an incompatible function type is undefined behavior and is
reported by UndefinedBehaviorSanitizer on every ML-KEM key free:

    crypto/evp/keymgmt_meth.c:392:5: runtime error: call to function
      ossl_ml_kem_key_free through pointer to incorrect function type
      'void (*)(void *)'
    crypto/ml_kem/ml_kem.c:1751: note: ossl_ml_kem_key_free defined here

Mirror the wrapper pattern used by ml_dsa_free_key, slh_dsa_free_key,
dsa_freedata, ec_freedata, and lms_free_key: add a small static
ml_kem_free_key with the correct OSSL_FUNC_keymgmt_free_fn signature
that forwards to ossl_ml_kem_key_free, and register the wrapper in
the dispatch table. The existing direct callers of
ossl_ml_kem_key_free in ml_kem_kmgmt.c are unchanged since they pass
a typed ML_KEM_KEY *.

CLA: trivial

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Paul Yang <paulyang.inf@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Thu May 14 09:31:57 2026
(Merged from https://github.com/openssl/openssl/pull/31078)

2 weeks agoUse CRYPTO_memcmp() when comparing the private keys
Tomas Mraz [Tue, 12 May 2026 12:39:06 +0000 (14:39 +0200)] 
Use CRYPTO_memcmp() when comparing the private keys

ML-DSA and SLH-DSA used regular memcmp, use CRYPTO_memcmp()
just in case.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
MergeDate: Thu May 14 09:29:14 2026
(Merged from https://github.com/openssl/openssl/pull/31155)

2 weeks agoFix memleak in hashtable free if flush fails
Jakub Zelenka [Tue, 12 May 2026 17:36:34 +0000 (19:36 +0200)] 
Fix memleak in hashtable free if flush fails

This happens because free_oldmd is not run when flush fails

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May 14 09:26:11 2026
(Merged from https://github.com/openssl/openssl/pull/31163)

2 weeks agodoc/man7/EVP_CIPHER-DES.pod: remove trailing whitespace
Eugene Syromiatnikov [Mon, 11 May 2026 10:06:23 +0000 (12:06 +0200)] 
doc/man7/EVP_CIPHER-DES.pod: remove trailing whitespace

Remove trailing whitespace to address the following find-doc-nits
warnings:

    WARNING: line containing nothing but whitespace in paragraph at line 65 in file doc/man7/EVP_CIPHER-DES.pod
    WARNING: line containing nothing but whitespace in paragraph at line 69 in file doc/man7/EVP_CIPHER-DES.pod

Fixes: 5ff19a7297ea "docs: Document required output buffer length in EVP_CIPHER-DES"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Paul Yang <paulyang.inf@gmail.com>
MergeDate: Thu May 14 09:24:31 2026
(Merged from https://github.com/openssl/openssl/pull/31141)

2 weeks agoRevert "Preserve connection custom extensions in SSL_set_SSL_CTX()"
Matt Caswell [Tue, 12 May 2026 13:19:35 +0000 (14:19 +0100)] 
Revert "Preserve connection custom extensions in SSL_set_SSL_CTX()"

This reverts commit 403ba31a02e47d37070036529966d5a94d98c6fd.

PR #27706 (that this PR reverts) was intended to fix nginx/nginx#711

The problem was that when calling SSL_set_SSL_CTX() from an SNI callback
when using a QUIC object, the QUIC custom extensions were not being
handled correctly. The fix attempted to resolve this to make sure that
they were correctly being copied.

However, in reality there was a bug in the SNI callback code that meant when
we called it from a QUIC connection we were passing the *inner* TLS
object instead of the real QUIC one. The *inner* TLS object should be
entirely internal and not exposed to user callbacks. This bug was fixed in
dc84829cc5.

Once the above fix was in place `SSL_set_SSL_CTX()` immediately fails when
called with a QUIC object via the SNI callback. This was always the
intended behaviour - its use with a QUIC object was blocked since the very
beginning - but the fact that we passed the inner TLS object by mistake
circumvented the check when it was invoked from the SNI callback.

The fix in dc84829cc5 actually landed *before* the commit that this PR
reverts. So, in reality the nginx bug was already "fixed" by the time
that PR #27706 was merged (fixed in the sense that the invocation of
`SSL_set_SSL_CTX()` fails gracefully). The code that it introduced can not
be reached (and never could be) because calling `SSL_set_SSL_CTX()` is
explicitly blocked when using a QUIC object. Therefore we should remove
this dead code.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Wed May 13 16:23:24 2026
(Merged from https://github.com/openssl/openssl/pull/31159)

2 weeks agotest/ffc_internal_test.c: The ffc_params_copy_mfail test needs DSA enabled
Tomas Mraz [Wed, 13 May 2026 08:39:14 +0000 (10:39 +0200)] 
test/ffc_internal_test.c: The ffc_params_copy_mfail test needs DSA enabled

Instead of having disabled with no-dh, we need to disable it
with no-dsa.

Fixes: df53ee4fa00b "Add mfail test for ossl_ffc_params_copy"
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May 13 09:46:34 2026
(Merged from https://github.com/openssl/openssl/pull/31168)

2 weeks agoAdd a note in the docs about the new PSK alert behaviour
Matt Caswell [Wed, 29 Apr 2026 10:51:17 +0000 (11:51 +0100)] 
Add a note in the docs about the new PSK alert behaviour

We now fail with the same alert as if the binder failed to verify.

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May 13 07:38:34 2026
(Merged from https://github.com/openssl/openssl/pull/31026)

2 weeks agoAdd a test for bad PSK in a PSK only server
Matt Caswell [Tue, 21 Apr 2026 16:36:32 +0000 (17:36 +0100)] 
Add a test for bad PSK in a PSK only server

Check that we fail with a decrypt_alert in the same way as a binder
validation failure

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May 13 07:38:33 2026
(Merged from https://github.com/openssl/openssl/pull/31026)

2 weeks agoTreat an unknown PSK identity the same way as a binder validation failure
Matt Caswell [Tue, 21 Apr 2026 16:34:55 +0000 (17:34 +0100)] 
Treat an unknown PSK identity the same way as a binder validation failure

Doing things this way removes the possibility of an attacker probing for
valid PSK identities as described in Appendix E.6 of RFC8446. This only
make a difference in a PSK only server configuration. The signal will still
exist if the server can fallback to a full handshake.

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May 13 07:38:32 2026
(Merged from https://github.com/openssl/openssl/pull/31026)

2 weeks agoCRL: Refactoring and tests for extensions, entries, and serial number duplicates
Daniel Kubec [Tue, 10 Mar 2026 16:44:58 +0000 (17:44 +0100)] 
CRL: Refactoring and tests for extensions, entries, and serial number duplicates

Refactoring and added tests for extensions, entries, and serial number
duplicates. The tests intentionally reflect the current behavior and existing
error states, which are not always clearly distinguished (e.g., duplicate
extensions vs. parsing errors). This serves as a baseline; follow-up work may
improve error handling or explicitly mark some cases as wontfix.

Signed-off-by: Daniel Kubec <kubec@openssl.foundation>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
MergeDate: Wed May 13 07:36:49 2026
(Merged from https://github.com/openssl/openssl/pull/30349)

2 weeks agoFixes #30979: Added `BN_CTX_end` before free in sm2_sign and sm2_crypt.
Abel Tom [Wed, 6 May 2026 03:19:20 +0000 (05:19 +0200)] 
Fixes #30979: Added `BN_CTX_end` before free in sm2_sign and sm2_crypt.

Added `BN_CTX_end` call before `BN_CTX_free` to keep the pattern
consistent with functions like `sm2_sig_verify`, `sm2_sig_gen`,
for instance.

Added missing `BN_CTX_start()` and `BN_CTX_end()` calls in
`ossl_sm2_compute_z_digest`. Fixed formatting.

Fixes: 3d328a445c2a "Add SM2 signature and ECIES schemes"
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
MergeDate: Wed May 13 07:24:17 2026
(Merged from https://github.com/openssl/openssl/pull/31069)

2 weeks agoFix circular dependency between macros.h and opensslconf.h
Norbert Pocs [Mon, 11 May 2026 13:00:28 +0000 (15:00 +0200)] 
Fix circular dependency between macros.h and opensslconf.h

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
MergeDate: Wed May 13 07:22:27 2026
(Merged from https://github.com/openssl/openssl/pull/31142)

2 weeks agoapps/lib/tlssrp_depr.c: fix leak of vb in set_up_srp_verifier_file()
huanghuihui0904 [Mon, 16 Mar 2026 02:35:48 +0000 (10:35 +0800)] 
apps/lib/tlssrp_depr.c: fix leak of vb in set_up_srp_verifier_file()

set_up_srp_verifier_file() allocates srp_callback_parm->vb via SRP_VBASE_new().
If SRP_VBASE_init() fails, vb must be freed before returning.

Additionally, add SRP_VBASE_free() to the end: cleanup path in s_server.c so
that vb is also freed on normal program exit.

Solves https://github.com/openssl/openssl/issues/30362
Fixes #30362

Signed-off-by: huanghuihui0904 <625173@qq.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
MergeDate: Wed May 13 07:20:48 2026
(Merged from https://github.com/openssl/openssl/pull/30434)

2 weeks agoquic: fix incoming port cleanup on failure
Nikola Pajkovsky [Mon, 4 May 2026 20:47:04 +0000 (22:47 +0200)] 
quic: fix incoming port cleanup on failure

port_make_channel() builds an incoming QUIC channel in stages: allocate
the channel, create the user SSL and inner TLS objects, optionally copy
qlog state, then initialise the channel. Under the mfail allocator,
failures in the middle of that sequence could leave ownership split
between the partially-created channel and the user SSL, leaking
allocations from ossl_quic_channel_alloc().

Make port_new_handshake_layer() return the created user SSL to
port_make_channel() and detach the borrowed channel before cleaning up
its own failures. port_make_channel() now owns the error path: it
detaches any created user SSL from the channel, frees the channel exactly
once according to whether channel initialisation already ran cleanup, and
then frees the user SSL.

Also make QUIC stream map cleanup tolerate a NULL map during partial
channel cleanup, and add a focused mfail regression test for
ossl_quic_port_create_incoming().

Fixes: https://github.com/openssl/openssl/issues/31014
Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Tue May 12 12:01:04 2026
(Merged from https://github.com/openssl/openssl/pull/31038)

2 weeks agoquic: check lh_QUIC_STREAM_new() return value in stream_map_init
Nikola Pajkovsky [Mon, 4 May 2026 08:44:58 +0000 (10:44 +0200)] 
quic: check lh_QUIC_STREAM_new() return value in stream_map_init

ossl_quic_stream_map_init() did not check whether lh_QUIC_STREAM_new()
succeeded. On allocation failure qsm->map would be NULL and subsequent
operations on the stream map would dereference it.

Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Tue May 12 12:01:02 2026
(Merged from https://github.com/openssl/openssl/pull/31038)

2 weeks agotest: add test for IV reuse in AEAD providers
Milan Broz [Thu, 7 May 2026 06:34:53 +0000 (08:34 +0200)] 
test: add test for IV reuse in AEAD providers

After EVP_EncryptFinal, AEAD providers (GCM, OCB, Chacha20-Poly1305)
transition to IV_STATE_FINISHED to prevent IV reuse.

No encryption should be possible in such state.

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Tue May 12 05:14:10 2026
(Merged from https://github.com/openssl/openssl/pull/31104)

2 weeks agochacha_poly: Use IV_STATE guard to prevent IV reuse
Milan Broz [Mon, 4 May 2026 14:11:32 +0000 (16:11 +0200)] 
chacha_poly: Use IV_STATE guard to prevent IV reuse

If IV was set for Chacha20-Poly1305, code should not
allow reusing IV after calling CipherFinal.

Use iv_state (as used in GCM or OCB mode) to prevent that.

Thanks to Alex Gaynor for reporting the issue.

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Tue May 12 05:14:09 2026
(Merged from https://github.com/openssl/openssl/pull/31104)

2 weeks agoDeprecate the ASN1_BIT_STRING name related funcitons.
Bob Beck [Wed, 15 Apr 2026 19:31:42 +0000 (13:31 -0600)] 
Deprecate the ASN1_BIT_STRING name related funcitons.

These seem to have been from something long long ago
that nothing uses anymore. It seems like this is just something
we should not be doing in this way.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Mon May 11 09:23:13 2026
(Merged from https://github.com/openssl/openssl/pull/30853)

2 weeks agoFix OOB read in EC_GROUP_new_from_params() with zero-length generator
Harry Betts [Sat, 9 May 2026 06:54:52 +0000 (16:54 +1000)] 
Fix OOB read in EC_GROUP_new_from_params() with zero-length generator

When OSSL_PKEY_PARAM_EC_GENERATOR is provided as an octet string of
length 0, buf[0] is read before validating data_size, causing a
heap-buffer-overflow detectable under ASan.

Reject zero-length generator octet strings before the dereference.

CLA: trivial
Resolves: https://github.com/openssl/openssl/issues/31125
Fixes: c0f39ded68ba "Add Explicit EC parameter support to providers."
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
MergeDate: Mon May 11 08:34:15 2026
(Merged from https://github.com/openssl/openssl/pull/31128)

2 weeks agoAdd various MFAIL tests to excercise ht insert
Jakub Zelenka [Tue, 5 May 2026 17:56:34 +0000 (19:56 +0200)] 
Add various MFAIL tests to excercise ht insert

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 11 08:21:56 2026
(Merged from https://github.com/openssl/openssl/pull/31092)

2 weeks agoFix ignored call in ossl_rcu_call when cb item alloc fails
Jakub Zelenka [Tue, 5 May 2026 17:50:11 +0000 (19:50 +0200)] 
Fix ignored call in ossl_rcu_call when cb item alloc fails

Currently when allocation of cb item fails, the actual cb function is
not called. The is used just in hashtable when the cb function frees
the old item which result in memory leak.

To fix this, the allocation needs to be separated and happen before the
assign operation is done.

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 11 08:21:55 2026
(Merged from https://github.com/openssl/openssl/pull/31092)

2 weeks agoAdd mfail test for new BIO dgram mem
Jakub Zelenka [Fri, 8 May 2026 14:42:01 +0000 (16:42 +0200)] 
Add mfail test for new BIO dgram mem

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Mon May 11 08:09:16 2026
(Merged from https://github.com/openssl/openssl/pull/31121)

2 weeks agoFix BIO dgram pair memleak in dgram_mem_init
Jakub Zelenka [Fri, 8 May 2026 14:41:08 +0000 (16:41 +0200)] 
Fix BIO dgram pair memleak in dgram_mem_init

The created pair was not freed if ring buf init failed.

Fixes: 3a857b953216 "Implement BIO_s_dgram_mem() reusing the BIO_s_dgram_pair() code"
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Mon May 11 08:09:14 2026
(Merged from https://github.com/openssl/openssl/pull/31121)

2 weeks agoReject CR/LF in HTTP request components
OpenSSL Machine [Wed, 29 Apr 2026 13:53:25 +0000 (22:53 +0900)] 
Reject CR/LF in HTTP request components

Reject CR and LF characters before serializing request lines and HTTP
headers. This prevents malformed URL or caller supplied components
from altering the generated HTTP request.

Resolves: https://github.com/openssl/openssl/issues/31099

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
MergeDate: Mon May 11 07:44:19 2026
(Merged from https://github.com/openssl/openssl/pull/31100)

2 weeks agoAdd mfail test for ossl_ffc_params_copy
Jakub Zelenka [Wed, 6 May 2026 16:25:20 +0000 (18:25 +0200)] 
Add mfail test for ossl_ffc_params_copy

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Mon May 11 07:21:47 2026
(Merged from https://github.com/openssl/openssl/pull/31098)

2 weeks agoFix memleak in ossl_ffc_params_copy if alloc fails
Jakub Zelenka [Wed, 6 May 2026 16:22:47 +0000 (18:22 +0200)] 
Fix memleak in ossl_ffc_params_copy if alloc fails

If allocation fails in ossl_ffc_params_copy, then the params that were
previously allocated are not freed. This results in a memory leak.

Fixes: dc8de3e6f1ee "Modify DSA and DH keys to use a shared FFC_PARAMS struct"
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Mon May 11 07:21:45 2026
(Merged from https://github.com/openssl/openssl/pull/31098)

2 weeks agoopenssl-s_client.pod.in: remove mention of empty -alpn handling
Harry Betts [Fri, 8 May 2026 11:55:49 +0000 (21:55 +1000)] 
openssl-s_client.pod.in: remove mention of empty -alpn handling

The functionality was removed in e78253f2d0c1 "Ignore empty ALPN
elements in CLI args".

CLA: trivial
Complements: e78253f2d0c1 "Ignore empty ALPN elements in CLI args"
Resolves: https://github.com/openssl/openssl/issues/31088

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Mon May 11 07:01:42 2026
(Merged from https://github.com/openssl/openssl/pull/31119)

2 weeks agoCorrect ASN1_STRING_set() behaviour to match the documentation
Bob Beck [Thu, 7 May 2026 21:30:03 +0000 (15:30 -0600)] 
Correct ASN1_STRING_set() behaviour to match the documentation

ASN1_STRING_set() has never promised to call strlen() for other
negative values.  Other values here likely indicate an error,
such as an integer overflow.  Call strlen() only if the length
provided is -1.

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
MergeDate: Mon May 11 00:34:25 2026
(Merged from https://github.com/openssl/openssl/pull/31113)

2 weeks agocrypto/evp/evp_lib.c: call va_end() in EVP_PKEY_Q_keygen() on error
Eugene Syromiatnikov [Thu, 7 May 2026 14:13:53 +0000 (16:13 +0200)] 
crypto/evp/evp_lib.c: call va_end() in EVP_PKEY_Q_keygen() on error

Instead of returning NULL immediately, jump to the cleanup at the end
of the function.  Reported by Coverity.

Resolves: https://scan5.scan.coverity.com/#/project-view/65248/10222?selectedIssue=1593754
Fixes: 18472994f065 "The EVP_PKEY_Q_keygen function now explicitly handles NULL curve name"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Mon May 11 00:28:25 2026
(Merged from https://github.com/openssl/openssl/pull/31107)

2 weeks agoquic_channel.c: fix potential memory leak on failure in ossl_quic_channel_alloc
Alexandr Nedvedicky [Thu, 9 Apr 2026 13:50:01 +0000 (15:50 +0200)] 
quic_channel.c: fix potential memory leak on failure in ossl_quic_channel_alloc

Add missing OPENSSL_free() in error path.

Fixes: 35dc6c353bf "QUIC: Make more transport parameters configurable"
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
MergeDate: Mon May 11 00:23:13 2026
(Merged from https://github.com/openssl/openssl/pull/30754)

2 weeks agoDeprecate the X509_check_{email,host,ip,ip_asc} family of functions
Bob Beck [Thu, 29 Jan 2026 18:31:40 +0000 (11:31 -0700)] 
Deprecate the X509_check_{email,host,ip,ip_asc} family of functions

Our own documentation for quite some time has indicated
that you should call X509_verify_cert() instead of using these.
Actually deprecate them and make apps not use the now deprecated
functions.

Resolves: https://github.com/openssl/project/issues/1899
References: https://github.com/openssl/project/issues/1897

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Mon May 11 00:08:33 2026
(Merged from https://github.com/openssl/openssl/pull/30403)

2 weeks agodoc: clarify algorithm discovery in openssl-genpkey.pod.in
Zoey Chapell [Tue, 24 Mar 2026 15:30:52 +0000 (11:30 -0400)] 
doc: clarify algorithm discovery in openssl-genpkey.pod.in

Add a reference to 'openssl list -public-key-algorithms' in the
-algorithm description to improve discoverability and long term
consistency. Documentation only change.

Add clarification for how to select the naming output in the correct spot.

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
MergeDate: Sun May 10 23:59:03 2026
(Merged from https://github.com/openssl/openssl/pull/30556)

2 weeks agodoc: clarify -dateopt rfc_822 date format
kovan [Thu, 7 May 2026 16:02:51 +0000 (18:02 +0200)] 
doc: clarify -dateopt rfc_822 date format

The rfc_822 date output format uses an asctime-style month-first form.

It does not match RFC 822, RFC 2822, or RFC 5322.

Document the day/month ordering, RFC 822 year length, GMT timezone, and affected commands.

Resolves: https://github.com/openssl/openssl/issues/22223

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
MergeDate: Sun May 10 23:52:21 2026
(Merged from https://github.com/openssl/openssl/pull/29851)

2 weeks agoMove *_arch.h to include/arch
Norbert Pocs [Thu, 9 Apr 2026 11:38:07 +0000 (13:38 +0200)] 
Move *_arch.h to include/arch

Move all the architecture specific header files under a single directory
in include/

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Sun May 10 09:53:34 2026
(Merged from https://github.com/openssl/openssl/pull/30751)

3 weeks agoMake test/quic_fc_test.c clang-format friendly
Alexandr Nedvedicky [Wed, 6 May 2026 12:14:12 +0000 (14:14 +0200)] 
Make test/quic_fc_test.c clang-format friendly

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Fri May  8 16:25:01 2026
(Merged from https://github.com/openssl/openssl/pull/31095)

3 weeks agoEVP_CIPHER_CTX_get_iv_length can not return a negative value
Bob Beck [Fri, 27 Mar 2026 22:14:10 +0000 (16:14 -0600)] 
EVP_CIPHER_CTX_get_iv_length can not return a negative value

but it can return 0.  Remove dead code and handle this
correctly - memcpy of 0 bytes from NULL is UB.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Fri May  8 12:15:17 2026
(Merged from https://github.com/openssl/openssl/pull/30609)

3 weeks agoui_openssl.c: remove unreachable _WIN32
Milan Broz [Mon, 4 May 2026 14:13:27 +0000 (14:13 +0000)] 
ui_openssl.c: remove unreachable _WIN32

noecho_fgets() is enclosed by

  #if defined(OPENSSL_SYS_MSDOS) && !defined(_WIN32)

The inner #if  defined(_WIN32) is unreachable

  #if defined(_WIN32)
          i = _getch();
  #else
          i = getch();
  #endif

Remove it.

Verified by cross compilation under DJGPP which is AFAIK the only
MSDOS/non-WIN32 environment we can use.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 20:11:18 2026
(Merged from https://github.com/openssl/openssl/pull/31076)

3 weeks agobn_nist.c: remove unreachable BN_BITS2 == 64
Milan Broz [Mon, 4 May 2026 14:13:27 +0000 (14:13 +0000)] 
bn_nist.c: remove unreachable BN_BITS2 == 64

The block in BN_nist_mod_224() is gated by

  #if defined(NIST_INT64) && BN_BITS2 != 64

so the #if

  #if BN_BITS2 == 64
          rp[7] = carry;
  #endif

is unreachable. Remove it.

The code is actualy relic of an earlier design where the NIST_INT64
accumulator path was meant 64-bit too.

Disabling 64-bit path above with BN_BITS2 != 64 resulted in
#if BN_BITS2 == 64 was left unreachable

The outer condition is correct, it is meant to be 32bit only,
otherwise it would need to introduce load_u32/store_lo32 as in other
functions to avoid clang strict-aliasing optimizer issues.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 20:11:12 2026
(Merged from https://github.com/openssl/openssl/pull/31076)

3 weeks agoasync_posix.h: remove unreachable OPENSSL_SYS_TANDEM
Milan Broz [Mon, 4 May 2026 14:13:26 +0000 (14:13 +0000)] 
async_posix.h: remove unreachable OPENSSL_SYS_TANDEM

The top-level #if requires !defined(OPENSSL_SYS_TANDEM):

  #if defined(OPENSSL_SYS_UNIX)                                 \
      && defined(OPENSSL_THREADS) && !defined(OPENSSL_NO_ASYNC) \
      && !defined(__ANDROID__) && !defined(__OpenBSD__)         \
      && !defined(OPENSSL_SYS_TANDEM)

so the nested

  #if defined(OPENSSL_SYS_TANDEM)
  #include <tdmsig.h>
  #else
  #include <ucontext.h>
  #endif

can never select the OPENSSL_SYS_TANDEM condition.

According to discussion on the issue 31074, removal of the second
(unreachable) condition is the way to go.

Fixes #31074

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 20:11:08 2026
(Merged from https://github.com/openssl/openssl/pull/31076)

3 weeks agoMerge .inc files with header
Norbert Pocs [Mon, 4 May 2026 13:51:50 +0000 (15:51 +0200)] 
Merge .inc files with header

When the .inc is only used once, include the file at place.

Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Thu May  7 19:30:01 2026
(Merged from https://github.com/openssl/openssl/pull/31075)

3 weeks agoFix potential UB memcmps in obj_dat.c
Bob Beck [Thu, 30 Apr 2026 19:27:32 +0000 (13:27 -0600)] 
Fix potential UB memcmps in obj_dat.c

By calling the real OBJ_cmp

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 18:14:54 2026
(Merged from https://github.com/openssl/openssl/pull/31048)

3 weeks agoAdd a test for a bogus SMTPUTF8 name constraint in a cert.
Bob Beck [Thu, 26 Mar 2026 20:07:06 +0000 (14:07 -0600)] 
Add a test for a bogus SMTPUTF8 name constraint in a cert.

We will reject these.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 16:09:48 2026
(Merged from https://github.com/openssl/openssl/pull/30329)

3 weeks agoForbid GEN_OTHERNAME SMTP UTF8 email name constraints.
Bob Beck [Mon, 9 Mar 2026 20:30:02 +0000 (14:30 -0600)] 
Forbid GEN_OTHERNAME SMTP UTF8 email name constraints.

RFC 9598 States:

Certificate Authorities that wish to issue CA certificates with email
address name constraints MUST use rfc822Name subject alternative names
only. These MUST be IDNA2008-conformant names with no mappings and with
non-ASCII domains encoded in A-labels only.

This appears to be to get around the confusion created if someone
attempts to encode a name constraint for an email address into the
UTF-8 version of the name

Were someone to attempt to support this, not only would you now have
to check two separate sets of name constraints for the same thing, but
would now have to decide what to do if they said different things.

So we just flag any such certficiate as invalid

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 16:09:44 2026
(Merged from https://github.com/openssl/openssl/pull/30329)

3 weeks agoUpdate crypto/objects/obj_dat.pl
Bob Beck [Mon, 4 May 2026 23:59:18 +0000 (17:59 -0600)] 
Update crypto/objects/obj_dat.pl

Co-authored-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 15:41:15 2026
(Merged from https://github.com/openssl/openssl/pull/31046)

3 weeks agoDon't rely on cmp of uninitialized values in obj_dat.pl
Bob Beck [Thu, 30 Apr 2026 16:34:28 +0000 (10:34 -0600)] 
Don't rely on cmp of uninitialized values in obj_dat.pl

Since we use this for a sort, in theory this could become
inconsistent if we were to do a make update, re-generate
the output, and check it in from a different development
platform that returns different inconsistencies in how
cmp behaves on uninitialized values.

Rather than ponder this, just make this consistent
by ensuring undefined values have 0 length, and remove
the disabling of the warnings in obj_cmp

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Thu May  7 15:41:12 2026
(Merged from https://github.com/openssl/openssl/pull/31046)

3 weeks agoThe tag value must fit into int
Tomas Mraz [Tue, 5 May 2026 15:01:42 +0000 (17:01 +0200)] 
The tag value must fit into int

We cannot allow an unbounded tag value as this is an O(n^2) algorithm
and the tag cannot be larger than INT_MAX anyway.
Fixes 35852da1d9e24cb74034b2f418cef3a58203b127

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Simo Sorce <simo@redhat.com>
MergeDate: Thu May  7 12:12:25 2026
(Merged from https://github.com/openssl/openssl/pull/31091)

3 weeks agoAdd coverage files clean up make targets
Jakub Zelenka [Mon, 4 May 2026 09:50:48 +0000 (11:50 +0200)] 
Add coverage files clean up make targets

Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
MergeDate: Thu May  7 07:09:02 2026
(Merged from https://github.com/openssl/openssl/pull/31071)

3 weeks agoAdd /MTd build for debug configuration for VC-noCE-common
Moryakhin Stas [Mon, 4 May 2026 13:15:43 +0000 (16:15 +0300)] 
Add /MTd build for debug configuration for VC-noCE-common

Fixes #30936

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May  6 19:17:18 2026
(Merged from https://github.com/openssl/openssl/pull/31073)

3 weeks agoFixes #30966: return value for certain cases in EVP_cipher_get_type
Abel Tom [Sun, 26 Apr 2026 13:52:10 +0000 (15:52 +0200)] 
Fixes #30966: return value for certain cases in EVP_cipher_get_type

The function previously returned `NID_des_cfb64` even when nid of the
passed cipher was NID_des_ede3_cfb64, NID_des_ede3_cfb8,
NID_des_ede3_cfb1.

Corrected now to return `NID_des_ede3_cfb64`.

Added an extra test to verify the change.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
MergeDate: Wed May  6 18:58:09 2026
(Merged from https://github.com/openssl/openssl/pull/30977)

3 weeks agotest: reinitialize buffer length in test_EVP_SM2
GGAutomaton [Tue, 7 Apr 2026 01:31:36 +0000 (18:31 -0700)] 
test: reinitialize buffer length in test_EVP_SM2

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Wed May  6 16:51:02 2026
(Merged from https://github.com/openssl/openssl/pull/30614)

3 weeks agosm2: check buffer size before writing ciphertext
GGAutomaton [Sat, 28 Mar 2026 07:41:33 +0000 (00:41 -0700)] 
sm2: check buffer size before writing ciphertext

The SM2 encryption may write past the caller-provided output buffer
when the required ciphertext size exceeds the supplied buffer length.

Reject outputs that do not fit in the caller-provided buffer.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Wed May  6 16:51:00 2026
(Merged from https://github.com/openssl/openssl/pull/30614)

3 weeks agoMoved the EVP_EC_gen macro to evp.h
Igor Ustinov [Tue, 14 Apr 2026 14:55:02 +0000 (16:55 +0200)] 
Moved the EVP_EC_gen macro to evp.h

Also fixed the potential NULL pointer dereference in this macro.

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Wed May  6 16:47:58 2026
(Merged from https://github.com/openssl/openssl/pull/30597)

3 weeks agoAdded the EVP_EC_affine2oct() helper function
Igor Ustinov [Tue, 14 Apr 2026 14:46:51 +0000 (16:46 +0200)] 
Added the EVP_EC_affine2oct() helper function

This function converts affine coordinates of an EC point
to an octet string conforming to Sec. 2.3.4
of the SECG SEC 1 ("Elliptic Curve Cryptography") standard.

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Wed May  6 16:47:57 2026
(Merged from https://github.com/openssl/openssl/pull/30597)

3 weeks agoThe EVP_PKEY_Q_keygen function now explicitly handles NULL curve name
Igor Ustinov [Tue, 14 Apr 2026 14:39:38 +0000 (16:39 +0200)] 
The EVP_PKEY_Q_keygen function now explicitly handles NULL curve name

It errors out with ERR_R_PASSED_NULL_PARAMETER in such case.

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
MergeDate: Wed May  6 16:47:55 2026
(Merged from https://github.com/openssl/openssl/pull/30597)

3 weeks agoAllow 0 length comparisons in OBJ_CMP to return 0 without UB memcmp
Bob Beck [Wed, 22 Apr 2026 18:37:29 +0000 (12:37 -0600)] 
Allow 0 length comparisons in OBJ_CMP to return 0 without UB memcmp

X509_verify is documented to return -1 if the algorithm is invalid
or can't be compared for any reason.

Sadly this implies that it is legitimate to pass it an incorrect X509
object and it should see this. If we hand it a new X509 object with
nothing filled in, it will memcmp(NULL...) at the end of a stack of
FOO_cmp abstractions, which is UB.

Fix this by permitting the 0 length case to return equal without
a memcmp, as suggested by slontis@ and botovq@

Fixes: https://github.com/openssl/openssl/issues/30922
Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Wed May  6 14:55:20 2026
(Merged from https://github.com/openssl/openssl/pull/30943)

3 weeks agodoc: add documentation for BIO_nread0, BIO_nread, BIO_nwrite0, BIO_nwrite
kovan [Thu, 29 Jan 2026 14:28:59 +0000 (15:28 +0100)] 
doc: add documentation for BIO_nread0, BIO_nread, BIO_nwrite0, BIO_nwrite

Document the non-copying interface functions for BIO pairs that allow
direct access to the internal buffer:
- BIO_nread0/BIO_nread for zero-copy reading
- BIO_nwrite0/BIO_nwrite for zero-copy writing

Also add return value documentation for these functions and remove
the placeholder "[XXXXX: More return values need to be added here]".

Fixes #16366

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Wed May  6 14:51:27 2026
(Merged from https://github.com/openssl/openssl/pull/29849)

3 weeks agoFix missing pointers in SSL_CTX_set_session_cache_mode synopsis
Nyveruus [Fri, 24 Apr 2026 21:06:03 +0000 (23:06 +0200)] 
Fix missing pointers in SSL_CTX_set_session_cache_mode synopsis

SSL_CTX_set_session_cache_mode and SSL_CTX_get_session_cache_mode
were documented with SSL_CTX ctx instead of SSL_CTX *ctx in their
synopsis.

CLA: trivial

Reviewed-by: Matt Caswell <matt@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
MergeDate: Wed May  6 11:53:35 2026
(Merged from https://github.com/openssl/openssl/pull/30965)

3 weeks agoAdd a CHANGES.md entry
Bob Beck [Tue, 28 Apr 2026 16:08:29 +0000 (10:08 -0600)] 
Add a CHANGES.md entry

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:09 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoFix accidental double guard in openssl/types.h
Bob Beck [Tue, 28 Apr 2026 15:15:10 +0000 (09:15 -0600)] 
Fix accidental double guard in openssl/types.h

The windows goo before the guard tricked my tooling

(doing stuff like this on every include is a bit icky, we should
probably fix this somehow)

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:08 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agomake providers includes self contained
Bob Beck [Mon, 27 Apr 2026 23:54:20 +0000 (17:54 -0600)] 
make providers includes self contained

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:07 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoGuard include files in providers
Bob Beck [Mon, 27 Apr 2026 23:21:46 +0000 (17:21 -0600)] 
Guard include files in providers

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:06 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoGuard obj_mac.h from clang-format
Bob Beck [Tue, 28 Apr 2026 01:55:17 +0000 (19:55 -0600)] 
Guard obj_mac.h from clang-format

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:04 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoGuard charmap.h
Bob Beck [Tue, 28 Apr 2026 01:38:41 +0000 (19:38 -0600)] 
Guard charmap.h

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:02 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoGuard output of keysets.pl
Bob Beck [Tue, 28 Apr 2026 01:29:34 +0000 (19:29 -0600)] 
Guard output of keysets.pl

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:01 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoGenerate guarded bn_prime.h
Bob Beck [Tue, 28 Apr 2026 01:23:48 +0000 (19:23 -0600)] 
Generate guarded bn_prime.h

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:36:00 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoGuard and make self-contained obj_dat.h and obj_xref.h
Bob Beck [Mon, 27 Apr 2026 23:14:05 +0000 (17:14 -0600)] 
Guard and make self-contained obj_dat.h and obj_xref.h

Modifies the perl to generate them as such

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:59 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoMake the crypto includes self-contained
Bob Beck [Mon, 27 Apr 2026 22:50:06 +0000 (16:50 -0600)] 
Make the crypto includes self-contained

Except for obj_dat.h and obj_xref.h which need perl mungery

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:57 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agothe curve448 f_impl.h files are not self contained headers
Bob Beck [Mon, 27 Apr 2026 19:26:49 +0000 (13:26 -0600)] 
the curve448 f_impl.h files are not self contained headers

They are inline implementations. rename to .inc

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:56 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoAdd missing header guards in local crypto includes.
Bob Beck [Mon, 27 Apr 2026 18:39:18 +0000 (12:39 -0600)] 
Add missing header guards in local crypto includes.

These are guarded with "OSSL_LIBCRYPTO" to ensure the namespace
is distinct from the "OSSL_CRYPTO" guards used in include/crypto

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:55 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoMake apps self-contained
Bob Beck [Mon, 27 Apr 2026 16:44:29 +0000 (10:44 -0600)] 
Make apps self-contained

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:53 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoFix progs.pl to generate guarded header
Bob Beck [Mon, 27 Apr 2026 19:10:18 +0000 (13:10 -0600)] 
Fix progs.pl to generate guarded header

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:52 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoAdd missing header guards in apps
Bob Beck [Mon, 27 Apr 2026 18:25:45 +0000 (12:25 -0600)] 
Add missing header guards in apps

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:51 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoMake ssl includes self-contained
Bob Beck [Tue, 14 Apr 2026 18:07:20 +0000 (12:07 -0600)] 
Make ssl includes self-contained

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:50 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoAdd missing header guards in ssl
Bob Beck [Mon, 27 Apr 2026 18:53:22 +0000 (12:53 -0600)] 
Add missing header guards in ssl

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:49 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agomake includes self-contained
Bob Beck [Wed, 3 Sep 2025 00:54:49 +0000 (18:54 -0600)] 
make includes self-contained

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:48 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoAdd missing include guards in include
Bob Beck [Mon, 27 Apr 2026 18:21:40 +0000 (12:21 -0600)] 
Add missing include guards in include

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:47 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agothe async/arch/async_foo.h files are not self contained headers
Bob Beck [Wed, 3 Sep 2025 01:10:13 +0000 (19:10 -0600)] 
the async/arch/async_foo.h files are not self contained headers

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:46 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agoasn1_item_list.h is not a self contained header file
Bob Beck [Wed, 3 Sep 2025 01:03:38 +0000 (19:03 -0600)] 
asn1_item_list.h is not a self contained header file

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:45 2026
(Merged from https://github.com/openssl/openssl/pull/31001)

3 weeks agomd32_common.h is not a self contained header file
Bob Beck [Wed, 3 Sep 2025 00:52:16 +0000 (18:52 -0600)] 
md32_common.h is not a self contained header file

Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
MergeDate: Wed May  6 11:35:44 2026
(Merged from https://github.com/openssl/openssl/pull/31001)