]> git.ipfire.org Git - thirdparty/openssl.git/log
thirdparty/openssl.git
5 weeks agoDTLS1.3: Disable tests that currently fail feature/dtls-1.3
Tomas Mraz [Wed, 24 Sep 2025 17:57:20 +0000 (19:57 +0200)] 
DTLS1.3: Disable tests that currently fail

With added TODO(DTLSv1.3) comments

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28455)

5 weeks agoFixes of tests for DTLS-1.3
Frederik Wedel-Heinen [Wed, 10 Sep 2025 19:41:56 +0000 (21:41 +0200)] 
Fixes of tests for DTLS-1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28455)

5 weeks agoTLS-1.3 specific sigalgs should be supported in DTLS-1.3
Frederik Wedel-Heinen [Tue, 9 Sep 2025 10:28:08 +0000 (12:28 +0200)] 
TLS-1.3 specific sigalgs should be supported in DTLS-1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28455)

5 weeks agosigalg_constants_list: Add DTLS1_3_VERSION to applicable sigalgs
Tomas Mraz [Tue, 9 Sep 2025 09:58:22 +0000 (11:58 +0200)] 
sigalg_constants_list: Add DTLS1_3_VERSION to applicable sigalgs

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28455)

5 weeks agoSupport OSCP responses for DTLS 1.3
Frederik Wedel-Heinen [Mon, 8 Sep 2025 17:30:29 +0000 (19:30 +0200)] 
Support OSCP responses for DTLS 1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28455)

5 weeks agoUse non-PQC key share for DTLS-1.3 TLSProxy tests
Tomas Mraz [Fri, 5 Sep 2025 18:13:06 +0000 (20:13 +0200)] 
Use non-PQC key share for DTLS-1.3 TLSProxy tests

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28455)

5 weeks ago70-test_sslrecords.t: Fix indentation
Tomas Mraz [Fri, 5 Sep 2025 18:10:55 +0000 (20:10 +0200)] 
70-test_sslrecords.t: Fix indentation

Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28455)

5 weeks agoMinor style changes and check sequence for wraparound
Frederik Wedel-Heinen [Thu, 28 Aug 2025 07:13:54 +0000 (09:13 +0200)] 
Minor style changes and check sequence for wraparound

We check the TLS sequence number for wraparound elsewhere,
this adds the check to TLS multiblock writes as well.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25119)

5 weeks agoFixes an issue were dropped records sent from server was not retransmitted.
Frederik Wedel-Heinen [Tue, 4 Feb 2025 10:34:32 +0000 (11:34 +0100)] 
Fixes an issue were dropped records sent from server was not retransmitted.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25119)

5 weeks agoAdds DTLS 1.3 ACK message functionality
Frederik Wedel-Heinen [Thu, 22 Feb 2024 07:09:38 +0000 (08:09 +0100)] 
Adds DTLS 1.3 ACK message functionality

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25119)

5 weeks agoRevert changes to ssl_version_cmp() to avoid calling assert on non-sane inputs
Frederik Wedel-Heinen [Wed, 9 Jul 2025 05:42:43 +0000 (07:42 +0200)] 
Revert changes to ssl_version_cmp() to avoid calling assert on non-sane inputs

The function can be called with arbitrary inputs.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28000)

5 weeks agoDuplicate TLS 1.3 sslapitests for DTLS 1.3
Frederik Wedel-Heinen [Mon, 24 Feb 2025 11:42:41 +0000 (12:42 +0100)] 
Duplicate TLS 1.3 sslapitests for DTLS 1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26912)

5 weeks agotest_server_mtu_larger_than_max_fragment_length() should be run for DTLS 1.3
Frederik Wedel-Heinen [Tue, 28 Jan 2025 08:46:47 +0000 (09:46 +0100)] 
test_server_mtu_larger_than_max_fragment_length() should be run for DTLS 1.3

Previously it was forced to run on DTLS 1.2>. But the underlying issue was fixed on master and it works now that the feature branch has been rebased on top of a more recent master.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26574)

5 weeks agoSupport DTLS 1.3 Unified Headers
Frederik Wedel-Heinen [Mon, 21 Oct 2024 09:05:25 +0000 (11:05 +0200)] 
Support DTLS 1.3 Unified Headers

Also set correct AAD for DTLS 1.3 message de-/encryption.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25668)

5 weeks agoAdds a workaround for false negative test results with TLSProxy
Frederik Wedel-Heinen [Thu, 27 Feb 2025 06:11:18 +0000 (07:11 +0100)] 
Adds a workaround for false negative test results with TLSProxy

The server is not able to shut down correctly
when the client sends an alert in epoch 0 and the
server has sent its Finished message.
As a workaround we accept a bad exit code for a failing
DTLS test run.

Fixes #26915

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26922)

5 weeks agoTLSProxy: Handle partial messages with DTLS
Frederik Wedel-Heinen [Wed, 22 Jan 2025 15:48:06 +0000 (16:48 +0100)] 
TLSProxy: Handle partial messages with DTLS

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26532)

5 weeks agoReduce the number of mallocs in dtls1_new() by allocating message queues together...
Frederik Wedel-Heinen [Wed, 11 Dec 2024 12:13:28 +0000 (13:13 +0100)] 
Reduce the number of mallocs in dtls1_new() by allocating message queues together with the d1 struct.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26150)

5 weeks agoThis change fixes an issue where a DTLS 1.3 would calculate a wrong transcript hash.
Frederik Wedel-Heinen [Fri, 17 Jan 2025 08:05:59 +0000 (09:05 +0100)] 
This change fixes an issue where a DTLS 1.3 would calculate a wrong transcript hash.

A wrong transcript hash was calculated when the client received a HRR which caused interop failures with WolfSSL. This change also refactors the internal calls to ssl3_finish_mac() that no longer requires the "incl_hdr" argument.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26465)

5 weeks agoSequence number cipher context is NULL for TLS connections
Frederik Wedel-Heinen [Mon, 13 Jan 2025 08:53:07 +0000 (09:53 +0100)] 
Sequence number cipher context is NULL for TLS connections

Fix memory sanitizer report of use of uninitialized variable: be explicit
that sequence number cipher context is NULL for TLS connections when
calling ssl_set_new_record_layer().

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Hugo Landau <hlandau@devever.net>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26401)

5 weeks agoCheck result of set_protocol_version() and use the version passed as argument
Frederik Wedel-Heinen [Fri, 20 Dec 2024 12:57:49 +0000 (13:57 +0100)] 
Check result of set_protocol_version() and use the version passed as argument

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26226)

5 weeks agoAvoid mallocing unprocessed_rcds and processed_rcds in dtls record layer
Frederik Wedel-Heinen [Wed, 18 Dec 2024 19:38:04 +0000 (20:38 +0100)] 
Avoid mallocing unprocessed_rcds and processed_rcds in dtls record layer

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26211)

5 weeks agoFix DTLS 1.3 handshake transcript hash
Frederik Wedel-Heinen [Fri, 25 Oct 2024 09:19:14 +0000 (11:19 +0200)] 
Fix DTLS 1.3 handshake transcript hash

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26035)

5 weeks agoDTLS 1.3 record number encryption
Frederik Wedel-Heinen [Wed, 7 Feb 2024 12:30:00 +0000 (13:30 +0100)] 
DTLS 1.3 record number encryption

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23511)

5 weeks agoSupport dtls 1.3 downgrade mechanism
Frederik Wedel-Heinen [Wed, 3 Jan 2024 13:31:15 +0000 (14:31 +0100)] 
Support dtls 1.3 downgrade mechanism

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23320)

5 weeks agoUpdate epochs when changing key and cipher state for dtls 1.3
Frederik Wedel-Heinen [Mon, 8 Jan 2024 12:44:08 +0000 (13:44 +0100)] 
Update epochs when changing key and cipher state for dtls 1.3

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23229)

5 weeks agoRefactor handshake msg header parsing etc.
Frederik Wedel-Heinen [Tue, 11 Jun 2024 08:51:38 +0000 (10:51 +0200)] 
Refactor handshake msg header parsing etc.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24607)

5 weeks agoFix SCTP todo
Frederik Wedel-Heinen [Mon, 10 Jun 2024 18:46:17 +0000 (20:46 +0200)] 
Fix SCTP todo

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24605)

5 weeks agoRun 70-test_tls13certcomp.t with dtls
Frederik Wedel-Heinen [Thu, 30 May 2024 13:46:02 +0000 (15:46 +0200)] 
Run 70-test_tls13certcomp.t with dtls

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24525)

5 weeks agoRun 70-test_tls13kexmodes.t with dtls
Frederik Wedel-Heinen [Thu, 30 May 2024 09:58:23 +0000 (11:58 +0200)] 
Run 70-test_tls13kexmodes.t with dtls

It is currently unsupported because of missing support in TLSProxy.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24525)

5 weeks agoRun 70-test_tls13messages.t with dtls
Frederik Wedel-Heinen [Thu, 30 May 2024 09:50:54 +0000 (11:50 +0200)] 
Run 70-test_tls13messages.t with dtls

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24525)

5 weeks agoAdd support for running 70-test_tls13psk.t with dtls
Frederik Wedel-Heinen [Thu, 30 May 2024 08:51:21 +0000 (10:51 +0200)] 
Add support for running 70-test_tls13psk.t with dtls

Has to be currently disabled because it fails.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24525)

5 weeks agoRun 70-test_tls13hrr.t with dtls
Frederik Wedel-Heinen [Thu, 30 May 2024 07:04:48 +0000 (09:04 +0200)] 
Run 70-test_tls13hrr.t with dtls

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24525)

5 weeks agoRun 70-test_tls13cookie.t with dtls
Frederik Wedel-Heinen [Wed, 29 May 2024 13:29:49 +0000 (15:29 +0200)] 
Run 70-test_tls13cookie.t with dtls

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24525)

5 weeks agoRun 70-test_tls13alerts.t with dtls
Frederik Wedel-Heinen [Wed, 29 May 2024 09:04:14 +0000 (11:04 +0200)] 
Run 70-test_tls13alerts.t with dtls

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24525)

5 weeks agoFix an assertion failure which happens when a DTLS 1.3 client receives a HelloVerifyR...
Frederik Wedel-Heinen [Mon, 27 May 2024 19:58:13 +0000 (21:58 +0200)] 
Fix an assertion failure which happens when a DTLS 1.3 client receives a HelloVerifyRequest.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24509)

5 weeks agoUse WPACKET in dtls1_do_write()
Frederik Wedel-Heinen [Fri, 24 May 2024 09:31:14 +0000 (11:31 +0200)] 
Use WPACKET in dtls1_do_write()

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24426)

5 weeks agoPlace start of ClientHello correctly when calculating binder for DTLS 1.3
Frederik Wedel-Heinen [Thu, 16 May 2024 18:19:40 +0000 (20:19 +0200)] 
Place start of ClientHello correctly when calculating binder for DTLS 1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24426)

5 weeks agoRe-enable mtu assertion which previously failed for DTLS 1.3
Frederik Wedel-Heinen [Wed, 29 May 2024 08:02:18 +0000 (10:02 +0200)] 
Re-enable mtu assertion which previously failed for DTLS 1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24524)

5 weeks agoRefactor code and fix a couple of missing DTLSv1.3 checks.
Frederik Wedel-Heinen [Wed, 8 May 2024 09:19:09 +0000 (11:19 +0200)] 
Refactor code and fix a couple of missing DTLSv1.3 checks.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24345)

5 weeks agoAdd design document for DTLS 1.3 implementation
Frederik Wedel-Heinen [Wed, 29 Nov 2023 09:01:00 +0000 (10:01 +0100)] 
Add design document for DTLS 1.3 implementation

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23041)

5 weeks agoRun test_cookie() test with DTLS 1.3
Frederik Wedel-Heinen [Thu, 16 May 2024 18:04:51 +0000 (20:04 +0200)] 
Run test_cookie() test with DTLS 1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24425)

5 weeks agoAdds DTLSv1.3 to protocol_version.pm for additional protocol version tests.
Frederik Wedel-Heinen [Tue, 9 Jan 2024 06:20:42 +0000 (07:20 +0100)] 
Adds DTLSv1.3 to protocol_version.pm for additional protocol version tests.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23242)

5 weeks agoContinue processing cookieless client hellos for dtls1.3
Frederik Wedel-Heinen [Mon, 16 Oct 2023 12:29:14 +0000 (14:29 +0200)] 
Continue processing cookieless client hellos for dtls1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22400)

5 weeks agoFix description of version field of ssl connection struct
Frederik Wedel-Heinen [Mon, 4 Dec 2023 13:27:23 +0000 (14:27 +0100)] 
Fix description of version field of ssl connection struct

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22937)

5 weeks agoUpdates SSL_CONF_cmd.pod to be explicit when features are for both TLS and DTLS
Frederik Wedel-Heinen [Wed, 29 Nov 2023 09:47:31 +0000 (10:47 +0100)] 
Updates SSL_CONF_cmd.pod to be explicit when features are for both TLS and DTLS

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22363)

5 weeks agoUpdate documentation for DTLS1.3
Frederik Wedel-Heinen [Thu, 12 Oct 2023 12:22:40 +0000 (14:22 +0200)] 
Update documentation for DTLS1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22363)

5 weeks agoCorrect traces for certificates in dtls13
Frederik Wedel-Heinen [Fri, 13 Oct 2023 10:21:47 +0000 (12:21 +0200)] 
Correct traces for certificates in dtls13

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22935)

5 weeks agoClear old messages from queues in order to avoid leaks of record layer objects.
Frederik Wedel-Heinen [Tue, 7 May 2024 19:18:44 +0000 (21:18 +0200)] 
Clear old messages from queues in order to avoid leaks of record layer objects.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoDisable middlebox for dtls
Frederik Wedel-Heinen [Fri, 3 May 2024 12:01:45 +0000 (14:01 +0200)] 
Disable middlebox for dtls

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoCheck that both tls1.3 and dtls1.3 is disabled before removing code from compilation...
Frederik Wedel-Heinen [Thu, 2 May 2024 14:21:44 +0000 (16:21 +0200)] 
Check that both tls1.3 and dtls1.3 is disabled before removing code from compilation path.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoFix test_ssl_new tests
Frederik Wedel-Heinen [Mon, 22 Apr 2024 18:14:07 +0000 (20:14 +0200)] 
Fix test_ssl_new tests

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoRun some failing tests with DTLS1.2
Frederik Wedel-Heinen [Mon, 22 Apr 2024 17:59:27 +0000 (19:59 +0200)] 
Run some failing tests with DTLS1.2

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoFix renegotiation check that was added in https://github.com/openssl/openssl/pull...
Frederik Wedel-Heinen [Wed, 24 Apr 2024 10:03:32 +0000 (12:03 +0200)] 
Fix renegotiation check that was added in https://github.com/openssl/openssl/pull/24161

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoFix version check to avoid unsupported protocol error in ssl_choose_server_version()
Frederik Wedel-Heinen [Tue, 9 Apr 2024 10:57:12 +0000 (12:57 +0200)] 
Fix version check to avoid unsupported protocol error in ssl_choose_server_version()

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoUpdate DTLS version tests
Frederik Wedel-Heinen [Tue, 19 Dec 2023 11:51:18 +0000 (12:51 +0100)] 
Update DTLS version tests

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoRemove obsolete TODO and guards for post handshake authentication in DTLS 1.3
Frederik Wedel-Heinen [Wed, 29 Nov 2023 09:05:13 +0000 (10:05 +0100)] 
Remove obsolete TODO and guards for post handshake authentication in DTLS 1.3

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoUpdate dtls max version
Frederik Wedel-Heinen [Wed, 4 Oct 2023 09:58:06 +0000 (11:58 +0200)] 
Update dtls max version

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22275)

5 weeks agoFix sanity tests for ssl_version_cmp for dtls 1.3 branch
Frederik Wedel-Heinen [Fri, 26 Apr 2024 19:25:39 +0000 (21:25 +0200)] 
Fix sanity tests for ssl_version_cmp for dtls 1.3 branch

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24293)

5 weeks agoSanity tests of inputs to ssl_version_cmp
Frederik Wedel-Heinen [Fri, 26 Apr 2024 08:44:01 +0000 (10:44 +0200)] 
Sanity tests of inputs to ssl_version_cmp

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24293)

5 weeks agoFix ssl_lib functions for dtls 1.3
Frederik Wedel-Heinen [Fri, 13 Oct 2023 09:33:02 +0000 (11:33 +0200)] 
Fix ssl_lib functions for dtls 1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22378)

5 weeks agotls_post_encryption_processing_default() and tls_validate_record_header()
Frederik Wedel-Heinen [Fri, 13 Oct 2023 08:06:06 +0000 (10:06 +0200)] 
tls_post_encryption_processing_default() and tls_validate_record_header()

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22376)

5 weeks agoFix session print for dtls1.3
Frederik Wedel-Heinen [Mon, 16 Oct 2023 07:57:00 +0000 (09:57 +0200)] 
Fix session print for dtls1.3

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22936)

5 weeks agoUpdate session id and ticket logic for dtls13
Frederik Wedel-Heinen [Fri, 13 Oct 2023 11:57:43 +0000 (13:57 +0200)] 
Update session id and ticket logic for dtls13

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22936)

5 weeks agoRemoves an mtu assertion that fails
Frederik Wedel-Heinen [Mon, 16 Oct 2023 12:34:36 +0000 (14:34 +0200)] 
Removes an mtu assertion that fails

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22401)

5 weeks agoSupport TLS1.3 sigalg logic in DTLS1.3
Frederik Wedel-Heinen [Fri, 13 Oct 2023 11:08:42 +0000 (13:08 +0200)] 
Support TLS1.3 sigalg logic in DTLS1.3

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22380)

5 weeks agoHandle alerts similarly in dtls1_read_bytes() as done in ssl3_read_bytes()
Frederik Wedel-Heinen [Tue, 19 Dec 2023 09:37:53 +0000 (10:37 +0100)] 
Handle alerts similarly in dtls1_read_bytes() as done in ssl3_read_bytes()

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22360)

5 weeks agoMake similar changes to dtls1_do_write() for dtls1.3 as in ssl3_do_write() for tls1.3
Frederik Wedel-Heinen [Mon, 16 Oct 2023 08:43:17 +0000 (10:43 +0200)] 
Make similar changes to dtls1_do_write() for dtls1.3 as in ssl3_do_write() for tls1.3

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22360)

5 weeks agoAdds some more changes dtls specific functions to make them more in sync with their...
Frederik Wedel-Heinen [Mon, 16 Oct 2023 08:02:32 +0000 (10:02 +0200)] 
Adds some more changes dtls specific functions to make them more in sync with their tls counterparts.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22360)

5 weeks agoMake dtls1.3 changes to dtls1_read_bytes and do_dtls1_write which matches ssl3_read_b...
Frederik Wedel-Heinen [Thu, 12 Oct 2023 11:19:50 +0000 (13:19 +0200)] 
Make dtls1.3 changes to dtls1_read_bytes and do_dtls1_write which matches ssl3_read_bytes and ssl3_write_bytes

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22360)

5 weeks agoDon't allow renegotiation for DTLS 1.3
Frederik Wedel-Heinen [Thu, 12 Oct 2023 11:55:32 +0000 (13:55 +0200)] 
Don't allow renegotiation for DTLS 1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22362)

5 weeks agoAdds dtls 1.3 support in TLS::Proxy
Frederik Wedel-Heinen [Tue, 23 Jan 2024 14:11:03 +0000 (15:11 +0100)] 
Adds dtls 1.3 support in TLS::Proxy

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23375)

5 weeks agoSupport TLS 1.3 kexs and groups with DTLS 1.3
Frederik Wedel-Heinen [Thu, 12 Oct 2023 12:35:37 +0000 (14:35 +0200)] 
Support TLS 1.3 kexs and groups with DTLS 1.3

SSL_CONNECTION_IS_VERSION13 macro is used where appropriate.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22364)

5 weeks agoFix wrong dtls 1 and 1.2 version check
Frederik Wedel-Heinen [Tue, 26 Mar 2024 18:39:30 +0000 (19:39 +0100)] 
Fix wrong dtls 1 and 1.2 version check

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22366)

5 weeks agoDo DTLS13 and TLS13 connection version check in one macro
Frederik Wedel-Heinen [Mon, 25 Mar 2024 21:43:06 +0000 (22:43 +0100)] 
Do DTLS13 and TLS13 connection version check in one macro

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22366)

5 weeks agoFix sending session ids in DTLS-1.3
Frederik Wedel-Heinen [Wed, 17 Jan 2024 13:29:17 +0000 (14:29 +0100)] 
Fix sending session ids in DTLS-1.3

DTLS 1.3 session id must not be sent by client unless
it has a cached id. And DTLS 1.3 servers must not echo
a session id from a client.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22366)

5 weeks agoUpdate tls state machine logic to support dtls1.3 alongside tls1.3
Frederik Wedel-Heinen [Thu, 12 Oct 2023 13:01:23 +0000 (15:01 +0200)] 
Update tls state machine logic to support dtls1.3 alongside tls1.3

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22366)

Updated the logic in ssl_cipher_list_to_bytes to take account of the changes
from PR#24161

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24226)

5 weeks agoFix protocol list for cmd_Protocol()
Frederik Wedel-Heinen [Fri, 13 Oct 2023 09:26:35 +0000 (11:26 +0200)] 
Fix protocol list for cmd_Protocol()

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22273)

5 weeks agoAdd dtls1.3 to ssl_protocol_to_string()
Frederik Wedel-Heinen [Wed, 4 Oct 2023 09:37:10 +0000 (11:37 +0200)] 
Add dtls1.3 to ssl_protocol_to_string()

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22273)

5 weeks agoAdds DTLS1.3 to ssl protocol to text structs
Frederik Wedel-Heinen [Wed, 4 Oct 2023 08:03:45 +0000 (10:03 +0200)] 
Adds DTLS1.3 to ssl protocol to text structs

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22273)

5 weeks agoDetermine which label prefix to use based on if the connection is dtls
Frederik Wedel-Heinen [Sun, 17 Dec 2023 19:46:20 +0000 (20:46 +0100)] 
Determine which label prefix to use based on if the connection is dtls

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22416)

5 weeks agoUse dtls1.3 cryptographic label prefix as dictated by RFC 9147 section 5.9
Frederik Wedel-Heinen [Wed, 18 Oct 2023 08:02:32 +0000 (10:02 +0200)] 
Use dtls1.3 cryptographic label prefix as dictated by RFC 9147 section 5.9

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22416)

5 weeks agoSupport TLS1.3 extensions with DTLS1.3
Frederik Wedel-Heinen [Tue, 3 Oct 2023 11:19:42 +0000 (13:19 +0200)] 
Support TLS1.3 extensions with DTLS1.3

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22261)

5 weeks agoPrint session ticket for dtls 1.3 as well.
Frederik Wedel-Heinen [Tue, 23 Jan 2024 13:58:31 +0000 (14:58 +0100)] 
Print session ticket for dtls 1.3 as well.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22260)

5 weeks agoAdds DTLS 1.3 functionality to s_client and s_server documentation.
Frederik Wedel-Heinen [Fri, 24 Nov 2023 10:03:32 +0000 (11:03 +0100)] 
Adds DTLS 1.3 functionality to s_client and s_server documentation.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22260)

5 weeks agoIntegrate dtls1.3 in s_client and s_server
Frederik Wedel-Heinen [Tue, 3 Oct 2023 10:43:19 +0000 (12:43 +0200)] 
Integrate dtls1.3 in s_client and s_server

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22260)

5 weeks agoRemove compile guards for dtls1.3 method implementations
Frederik Wedel-Heinen [Wed, 4 Oct 2023 07:41:14 +0000 (09:41 +0200)] 
Remove compile guards for dtls1.3 method implementations

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22259)

5 weeks agoAdds initial dtls 1.3 structs and definitions
Frederik Wedel-Heinen [Tue, 3 Oct 2023 07:39:47 +0000 (09:39 +0200)] 
Adds initial dtls 1.3 structs and definitions

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22259)

5 weeks agohashtable: add option to disable RCU locks
Nikola Pajkovsky [Thu, 25 Sep 2025 16:32:17 +0000 (18:32 +0200)] 
hashtable: add option to disable RCU locks

a new config option _no_rcu_ is added into HT_CONFIG. When _no_rcu_ is
set then hashtable can be guarded with any other locking primitives,
and behives as ordinary hashtable. Also, all the impact of the
atomics used internally to the hash table was mitigated.

RCU performance

   # INFO:  @ test/lhash_test.c:747
   # multithread stress runs 40000 ops in 40.779656 seconds

No RCU, guarded with RWLOCK

   # INFO:  @ test/lhash_test.c:747
   # multithread stress runs 40000 ops in 36.976926 seconds

Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28677)

5 weeks agohashtable: pass HT into hash function
Nikola Pajkovsky [Wed, 24 Sep 2025 15:12:39 +0000 (17:12 +0200)] 
hashtable: pass HT into hash function

When defining a custom hash function for a hashtable key, you typically start with:

  HT_START_KEY_DEFN(key)
  HT_DEF_KEY_FIELD(k, unsigned char *)
  HT_END_KEY_DEFN(KEY)

In this setup, the hash function signature requires keybuf and len as
parameters rather than the hashtable key itself. As a result,
accessing members of the hashtable structure becomes awkward, since
you must do something like:

  #define FROM_KEYBUF_TO_HT_KEY(keybuf, type) (type)((keybuf) - sizeof(HT_KEY))

  static uint64_t ht_hash(uint8_t *keybuf, size_t keylen)
  {
      KEY *k = FROM_KEYBUF_TO_HT_KEY(keybuf, KEY *);
      ...
  }

This kind of pointer arithmetic is both unnecessary and error-prone.
A cleaner approach is to pass the HT pointer directly into the hash
function. From there, you can safely cast it to the required type
without the pointer gymnastics.

Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28677)

5 weeks agoFix EVP_DecryptFinal_ex() for ChaCha20-Poly1305.
Daniel Kubec [Sat, 27 Sep 2025 22:24:18 +0000 (00:24 +0200)] 
Fix EVP_DecryptFinal_ex() for ChaCha20-Poly1305.

When using the ChaCha20-Poly1305 algorithm, the final interface
returns success without setting the authentication tag, whereas
the AES-GCM algorithm correctly returns failure in such cases.

Fixes #28137

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28683)

5 weeks agoghash-riscv64-zvkg.pl: Code Comment Correction
zhoulu [Mon, 29 Sep 2025 08:14:28 +0000 (16:14 +0800)] 
ghash-riscv64-zvkg.pl: Code Comment Correction

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28688)

5 weeks agots_conf: fix memory leak in TS_CONF_set_policies
DONGGEUN YOO [Mon, 29 Sep 2025 00:45:11 +0000 (00:45 +0000)] 
ts_conf: fix memory leak in TS_CONF_set_policies

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28686)

5 weeks agoFix riscv64 chacha crash due to unaligned data
Bernd Edlinger [Sat, 27 Sep 2025 20:14:04 +0000 (22:14 +0200)] 
Fix riscv64 chacha crash due to unaligned data

The linux-riscv64 test machine crashes due to unaligned data,
when the V extension is enabled, while QEMU seems to have no
problems with unaligned data.

So check for aligned data and fall back to C code in case the
input or output values are unaligned.

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28684)

5 weeks agoEnable the V extension in the OS-Zoo CI job
Bernd Edlinger [Sun, 28 Sep 2025 06:32:34 +0000 (08:32 +0200)] 
Enable the V extension in the OS-Zoo CI job

and also fix the unintentional omission of the ZBA extension,
since the first word in the OPENSSL_riscvcap environment variable
is ignored, because it is assumed to be the processor base
architecture, e.g. something like RV64GC.

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28684)

5 weeks agoFix Memory leak in CMS_EncryptedData_set1_key
Ryan Hooper [Thu, 25 Sep 2025 16:42:24 +0000 (12:42 -0400)] 
Fix Memory leak in CMS_EncryptedData_set1_key

When CMS_EncryptedData_set1_key is called repeatedly it will
leak data on the second call. This was because
cms->d.encryptedData was already set and needed to be cleared
before the call to M_ASN1_new_of.

Fixes: #28606
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28668)

5 weeks agoaes: convert AES ciphers to use generated parameter decoders
Pauli [Fri, 19 Sep 2025 04:28:22 +0000 (14:28 +1000)] 
aes: convert AES ciphers to use generated parameter decoders

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28616)

5 weeks agoaes: rename files in anticipation of gerenated param decoding
Pauli [Fri, 19 Sep 2025 01:30:29 +0000 (11:30 +1000)] 
aes: rename files in anticipation of gerenated param decoding

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28616)

5 weeks agochacha20: convert to using genreated param name decoders
Pauli [Fri, 19 Sep 2025 01:25:19 +0000 (11:25 +1000)] 
chacha20: convert to using genreated param name decoders

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28616)

5 weeks agochacha20: rename files in anticipation of generated param decoding
Pauli [Fri, 19 Sep 2025 01:16:45 +0000 (11:16 +1000)] 
chacha20: rename files in anticipation of generated param decoding

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28616)

5 weeks agoxts: convert to generated param name decodering
Pauli [Fri, 19 Sep 2025 01:12:18 +0000 (11:12 +1000)] 
xts: convert to generated param name decodering

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28616)