openssl.git
8 months agoPrepare for release of 3.2 alpha 1 openssl-3.2.0-alpha1
Matt Caswell [Thu, 7 Sep 2023 09:00:22 +0000 (10:00 +0100)]
Prepare for release of 3.2 alpha 1

Reviewed-by: Richard Levitte <levitte@openssl.org>
Release: yes

8 months agomake update
Matt Caswell [Thu, 7 Sep 2023 09:00:21 +0000 (10:00 +0100)]
make update

Reviewed-by: Richard Levitte <levitte@openssl.org>
Release: yes

8 months agoCopyright year updates
Matt Caswell [Thu, 7 Sep 2023 08:59:15 +0000 (09:59 +0100)]
Copyright year updates

Reviewed-by: Richard Levitte <levitte@openssl.org>
Release: yes

8 months agoQUIC MULTISTREAM TEST: Add comment
Hugo Landau [Mon, 4 Sep 2023 16:53:13 +0000 (17:53 +0100)]
QUIC MULTISTREAM TEST: Add comment

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

8 months agoQUIC MULTISTREAM TEST: Adjust spin behaviour
Hugo Landau [Wed, 30 Aug 2023 07:01:47 +0000 (08:01 +0100)]
QUIC MULTISTREAM TEST: Adjust spin behaviour

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

8 months agowin32: Support condition variable broadcasting on XP
Hugo Landau [Tue, 29 Aug 2023 13:33:44 +0000 (14:33 +0100)]
win32: Support condition variable broadcasting on XP

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

8 months agoQUIC MULTISTREAM TEST: Synchronize script 20 correctly
Hugo Landau [Thu, 24 Aug 2023 14:19:20 +0000 (15:19 +0100)]
QUIC MULTISTREAM TEST: Synchronize script 20 correctly

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

8 months agoQUIC MULTISTREAM TEST: Run all scripts in both blocking and non-blocking modes
Hugo Landau [Thu, 24 Aug 2023 09:16:52 +0000 (10:16 +0100)]
QUIC MULTISTREAM TEST: Run all scripts in both blocking and non-blocking modes

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

8 months agofips compatibility: update 3.1.1 to 3.1.2
Pauli [Tue, 5 Sep 2023 01:49:38 +0000 (11:49 +1000)]
fips compatibility: update 3.1.1 to 3.1.2

The plan at the moment is to validate 3.1.2 all going well.

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

8 months agoPer other commands, make progress dots in req only w/ -verbose
Philip Prindeville [Sat, 2 Sep 2023 19:18:04 +0000 (13:18 -0600)]
Per other commands, make progress dots in req only w/ -verbose

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21937)

8 months agoCMP: generalize ossl_cmp_calc_protection() to handle Edwards curves correctly
Dr. David von Oheimb [Tue, 29 Aug 2023 09:09:05 +0000 (11:09 +0200)]
CMP: generalize ossl_cmp_calc_protection() to handle Edwards curves correctly

Fixes #21564

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21884)

8 months agoUpdate fuzz corpora to latest commit
Kurt Roeckx [Fri, 1 Sep 2023 12:03:07 +0000 (14:03 +0200)]
Update fuzz corpora to latest commit

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21927)

8 months agoFix internal memory leaks from OPENSSL_MALLOC_FAILURES
Bernd Edlinger [Mon, 4 Sep 2023 07:40:28 +0000 (09:40 +0200)]
Fix internal memory leaks from OPENSSL_MALLOC_FAILURES

There is a rarely used feature that can be enabled
with `./config enable-crypto-mdebug` when additionally
the environment variable OPENSSL_MALLOC_FAILURES is used.
It turns out to be possible that CRYPTO_zalloc may
create a leak when the memory is allocated and then
the shouldfail happens, then the memory is lost.
Likewise when OPENSSL_realloc is used with size=0,
then the memory is to be free'd but here the shouldfail
check is too early, and the failure may prevent the
memory to be freed thus creating a bogus memory leak.

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

8 months agoTest that NULL BIGNUM is supported in OSSL_PARAM_BLD_push_BN()
Tomas Mraz [Mon, 4 Sep 2023 07:09:40 +0000 (09:09 +0200)]
Test that NULL BIGNUM is supported in OSSL_PARAM_BLD_push_BN()

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21945)

8 months agoOSSL_PARAM_BLD_push_BN_pad(): Allow NULL BIGNUM
Tomas Mraz [Mon, 4 Sep 2023 06:59:53 +0000 (08:59 +0200)]
OSSL_PARAM_BLD_push_BN_pad(): Allow NULL BIGNUM

This was supported previously and regressed
with commit 17898ec6011cc583c5af69ca8f25f5d165ff3e6a

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21945)

8 months agoapps/cmp.c: fix bug not allowing to reset -csr and -serial option values
Dr. David von Oheimb [Fri, 4 Aug 2023 17:02:28 +0000 (19:02 +0200)]
apps/cmp.c: fix bug not allowing to reset -csr and -serial option values

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21659)

8 months agoapps.c: improve warning texts of parse_name() when skipping RDN input
Dr. David von Oheimb [Fri, 4 Aug 2023 06:23:58 +0000 (08:23 +0200)]
apps.c: improve warning texts of parse_name() when skipping RDN input

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21659)

8 months agoapps.c: fix error messages (newline and needless text) in load_key_certs_crls()
Dr. David von Oheimb [Thu, 3 Aug 2023 14:52:49 +0000 (16:52 +0200)]
apps.c: fix error messages (newline and needless text) in load_key_certs_crls()

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21659)

8 months agoMUTEX: Assert on locking failure
Hugo Landau [Thu, 31 Aug 2023 17:54:16 +0000 (18:54 +0100)]
MUTEX: Assert on locking failure

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

8 months agoBump actions/checkout from 2 to 4
dependabot[bot] [Tue, 5 Sep 2023 07:56:28 +0000 (07:56 +0000)]
Bump actions/checkout from 2 to 4

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
CLA: trivial

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21953)

8 months agoVMS: More header inclusion compensation for VMS C compiler
Richard Levitte [Mon, 4 Sep 2023 20:09:27 +0000 (22:09 +0200)]
VMS: More header inclusion compensation for VMS C compiler

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/21959)

8 months agoUse armv8 .quad instead of .dword
Kai Pastor [Sun, 3 Sep 2023 08:59:22 +0000 (10:59 +0200)]
Use armv8 .quad instead of .dword

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

8 months ago04-test_encoder_decoder.t: Use algorithm that is non-fips also on 3.0.0
Tomas Mraz [Mon, 4 Sep 2023 19:39:30 +0000 (21:39 +0200)]
04-test_encoder_decoder.t: Use algorithm that is non-fips also on 3.0.0

The test encrypted RSA key with DES3 which is still
allowed in the 3.0 fips provider.

Instead use the traditional key format that uses MD5
to create the password based key. MD5 is disallowed
in the 3.0 fips provider.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/21957)

8 months agoquicserver.c: Fix build with no-ssl-trace
Tomas Mraz [Mon, 4 Sep 2023 19:50:18 +0000 (21:50 +0200)]
quicserver.c: Fix build with no-ssl-trace

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21958)

8 months agointernal/numbers.h: Add fallback implementation for UINT32_C and UINT64_C
Richard Levitte [Mon, 4 Sep 2023 15:54:22 +0000 (17:54 +0200)]
internal/numbers.h: Add fallback implementation for UINT32_C and UINT64_C

Other similar macros can be implemented later.  Right now, this are the most
likely to be actually useful

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21951)

8 months agoInclude #include "internal/numbers.h" in ssl/quic/quic_cfq.c
Richard Levitte [Mon, 4 Sep 2023 14:24:05 +0000 (16:24 +0200)]
Include #include "internal/numbers.h" in ssl/quic/quic_cfq.c

It's needed for platforms that don't define UINT64_MAX and similar macros

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21951)

8 months agoVMS: Add a fallback definition of socklen_t
Richard Levitte [Mon, 4 Sep 2023 14:23:05 +0000 (16:23 +0200)]
VMS: Add a fallback definition of socklen_t

It is not present in current VMS C headers...

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21951)

8 months agoVMS: More header inclusion compensation for VMS C compiler
Richard Levitte [Mon, 4 Sep 2023 14:22:10 +0000 (16:22 +0200)]
VMS: More header inclusion compensation for VMS C compiler

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21951)

8 months agoAdded 'saltlen' option to the OpenSSL enc command line app.
slontis [Thu, 31 Aug 2023 07:51:46 +0000 (17:51 +1000)]
Added 'saltlen' option to the OpenSSL enc command line app.

This allows PBKDF2 to change the saltlen to something other than the
new default value of 16. Previously this app hardwired the salt length
to a maximum of 8 bytes. Non PBKDF2 mode uses EVP_BytesToKey()
internally, which is documented to only allow 8 bytes.

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

8 months agoAdded a 'saltlen' option to the openssl pkcs8 command line app.
slontis [Thu, 31 Aug 2023 07:49:55 +0000 (17:49 +1000)]
Added a 'saltlen' option to the openssl pkcs8 command line app.

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

8 months agoChange PBES2 KDF default salt length to 16 bytes.
slontis [Mon, 28 Aug 2023 02:47:51 +0000 (12:47 +1000)]
Change PBES2 KDF default salt length to 16 bytes.

The PKCS5 (RFC 8018) standard uses a 64 bit salt length for PBE, and
recommends a minimum of 64 bits for PBES2. For FIPS compliance PBKDF2
requires a salt length of 128 bits.
This affects OpenSSL command line applications such as "genrsa" and "pkcs8"
and API's such as PEM_write_bio_PrivateKey() that are reliant on the
default salt length.

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

8 months agoImplement dupctx for chacha20 cipher
Neil Horman [Mon, 28 Aug 2023 16:07:16 +0000 (12:07 -0400)]
Implement dupctx for chacha20 cipher

Implement the dupctx method for the chacha20 cipher, so that
EVP_PKEY_CTX_copy works

Its pretty straightforward, its basically just a memdup.  Checking the
pointers that might need fixing up:

in PROV_CHACHA20_CTX all members are statically declared, so memduping
should be fine

in PROV_CHACHA20_CTX->base (PROV_CIPHER_CTX):
        Non statically declared members:
                *tlsmac needs to get memduped to avoid double free
                 conditions, but only if base.alloced is set
                *hw pointer is always assigned to the chacha20_hw global
                 variable, so can be left alone
                *libctx can be left alone as provctx is always NULL in
                 chacha20_newctx
                *ks appears unused by chacha20, so can be ignored
Fixes #20978

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21878)

8 months agoMove ALIGN32 and ALIGN64 into common.h, and fix for clang-cl.exe
Tom Cosgrove [Fri, 1 Sep 2023 07:41:11 +0000 (08:41 +0100)]
Move ALIGN32 and ALIGN64 into common.h, and fix for clang-cl.exe

clang-cl.exe defines __clang__ and _MSC_VER but not __GNUC__, so a clang-
specific guard is needed to get the correct ALIGNxx versions.

Fixes #21914

Change-Id: Icdc047b182ad1ba61c7b1b06a1e951eda1a0c33d

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21921)

8 months agoReplace ssl3_get_message() with tls_get_message_header() and/or tls_get_message_body()
Sumitra Sharma [Fri, 1 Sep 2023 07:10:49 +0000 (12:40 +0530)]
Replace ssl3_get_message() with tls_get_message_header() and/or tls_get_message_body()

Update commit messages that previously used ssl3_get_message()
to now use tls_get_message_header() and tls_get_message_body()
due to the split in OpenSSL 1.1.0.

CLA: trivial

Fixes #21582

Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21886)

8 months agoFix typo in openssl-pkeyutl(1)
Sumitra Sharma [Fri, 1 Sep 2023 10:22:47 +0000 (15:52 +0530)]
Fix typo in openssl-pkeyutl(1)

Changed "than" to "then" for improved clarity and correctness.

CLA: trivial

Fixes #21543

Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/21925)

8 months agoAdd a test for QUIC non IO retry errors
Matt Caswell [Thu, 31 Aug 2023 15:18:28 +0000 (16:18 +0100)]
Add a test for QUIC non IO retry errors

Test that errors such as SSL_ERROR_WANT_RETRY_VERIFY are properly
handled by QUIC connections.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21922)

8 months agoHandle non IO based retry errors in QUIC
Matt Caswell [Thu, 31 Aug 2023 14:31:42 +0000 (15:31 +0100)]
Handle non IO based retry errors in QUIC

SSL_get_error() may respond with some retry errors that are not IO related.
In particular SSL_ERROR_WANT_RETRY_VERIFY and SSL_ERROR_WANT_X509_LOOKUP.
These can occur during a TLS handshake. If they occur when a QUIC Connection
is performing a TLS handshake then we need to propagate these up to the QCSO.

We also handle SSL_ERROR_WANT_CLIENT_HELLO_CB. This one will only ever
occur on the server side which we don't currently support. However adding
the handling for it now is identical to all the other handling so including
it is no cost, and will be needed when we do add server support.

We are not concerned with SSL_ERROR_WANT_ASYNC or SSL_ERROR_WANT_ASYNC_JOB
since we do not support async operation with QUIC.

Fixes openssl/project#199

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21922)

8 months agoAvoid clobbering non-volatile XMM registers
Bernd Edlinger [Tue, 22 Aug 2023 14:07:30 +0000 (16:07 +0200)]
Avoid clobbering non-volatile XMM registers

This affects some Poly1305 assembler functions
which are only used for certain CPU types.

Remove those functions for Windows targets,
as a simple interim solution.

Fixes #21522

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

8 months agoQUIC MULTISTREAM TEST: Test SSL_want for consistency with SSL_get_error
Hugo Landau [Thu, 31 Aug 2023 10:53:47 +0000 (11:53 +0100)]
QUIC MULTISTREAM TEST: Test SSL_want for consistency with SSL_get_error

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

8 months agoQUIC APL: Implement SSL_want
Hugo Landau [Thu, 31 Aug 2023 10:53:32 +0000 (11:53 +0100)]
QUIC APL: Implement SSL_want

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

8 months agoQUIC APL: Revise I/O error setting so that the last error is set on success
Hugo Landau [Thu, 31 Aug 2023 10:53:07 +0000 (11:53 +0100)]
QUIC APL: Revise I/O error setting so that the last error is set on success

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

8 months agoQUIC APL: Adjust expect_quic_conn_only
Hugo Landau [Thu, 31 Aug 2023 10:52:38 +0000 (11:52 +0100)]
QUIC APL: Adjust expect_quic_conn_only

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

8 months agoQUIC RXDP: Reuse allocations between ACK frame processing
Hugo Landau [Thu, 31 Aug 2023 12:28:34 +0000 (13:28 +0100)]
QUIC RXDP: Reuse allocations between ACK frame processing

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

8 months agoQUIC WIRE: When peeking at number of ACK ranges, ensure enough data is available
Hugo Landau [Thu, 31 Aug 2023 12:20:05 +0000 (13:20 +0100)]
QUIC WIRE: When peeking at number of ACK ranges, ensure enough data is available

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

8 months agoComment on internal flag
Hugo Landau [Thu, 31 Aug 2023 11:47:25 +0000 (12:47 +0100)]
Comment on internal flag

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

8 months agoMinor fixes
Hugo Landau [Wed, 30 Aug 2023 16:42:04 +0000 (17:42 +0100)]
Minor fixes

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

8 months agoFix after rebase
Hugo Landau [Wed, 30 Aug 2023 15:48:45 +0000 (16:48 +0100)]
Fix after rebase

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

8 months agoQUIC: Note differences in SSL_want
Hugo Landau [Wed, 30 Aug 2023 15:36:11 +0000 (16:36 +0100)]
QUIC: Note differences in SSL_want

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

8 months agoQUIC: Update API overview document
Hugo Landau [Wed, 30 Aug 2023 15:22:27 +0000 (16:22 +0100)]
QUIC: Update API overview document

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

8 months agoQUIC: Note that SSL_set_shutdown is not supported
Hugo Landau [Wed, 30 Aug 2023 15:19:05 +0000 (16:19 +0100)]
QUIC: Note that SSL_set_shutdown is not supported

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

8 months agoQUIC APL: Report that we do not support SSL_clear correctly
Hugo Landau [Wed, 30 Aug 2023 15:18:50 +0000 (16:18 +0100)]
QUIC APL: Report that we do not support SSL_clear correctly

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

8 months agoQUIC: Update API table
Hugo Landau [Wed, 30 Aug 2023 15:18:39 +0000 (16:18 +0100)]
QUIC: Update API table

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

8 months agoBIO: Emphasise API contract for BIO_sendmmsg/BIO_recvmmsg
Hugo Landau [Wed, 30 Aug 2023 13:00:14 +0000 (14:00 +0100)]
BIO: Emphasise API contract for BIO_sendmmsg/BIO_recvmmsg

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

8 months agoBIO: Allow third parties to use integers instead of pointers for poll descriptors
Hugo Landau [Wed, 30 Aug 2023 12:45:40 +0000 (13:45 +0100)]
BIO: Allow third parties to use integers instead of pointers for poll descriptors

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

8 months agoQUIC: Make TLS1_FLAGS_QUIC private
Hugo Landau [Wed, 30 Aug 2023 12:43:35 +0000 (13:43 +0100)]
QUIC: Make TLS1_FLAGS_QUIC private

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

8 months agoQUIC API: Revise SSL_get_conn_close_info to use a flags field
Hugo Landau [Wed, 30 Aug 2023 12:41:39 +0000 (13:41 +0100)]
QUIC API: Revise SSL_get_conn_close_info to use a flags field

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

8 months agoDocument OSSL_get_thread_support_flags()
Hugo Landau [Wed, 30 Aug 2023 12:19:40 +0000 (13:19 +0100)]
Document OSSL_get_thread_support_flags()

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

8 months agoQUIC APL: Allow stream origin to be queried
Hugo Landau [Wed, 30 Aug 2023 12:09:13 +0000 (13:09 +0100)]
QUIC APL: Allow stream origin to be queried

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

8 months agoMinor fixes
Hugo Landau [Wed, 30 Aug 2023 16:00:16 +0000 (17:00 +0100)]
Minor fixes

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

8 months agoMinor updates
Hugo Landau [Fri, 18 Aug 2023 11:06:10 +0000 (12:06 +0100)]
Minor updates

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

8 months agoAdd manpages
Hugo Landau [Thu, 10 Aug 2023 18:49:17 +0000 (19:49 +0100)]
Add manpages

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

8 months agoMinor fixes
Hugo Landau [Thu, 10 Aug 2023 18:29:27 +0000 (19:29 +0100)]
Minor fixes

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

8 months agoQUIC DDD: Final report
Hugo Landau [Wed, 9 Aug 2023 16:46:34 +0000 (17:46 +0100)]
QUIC DDD: Final report

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

8 months agoQUIC DDD: ddd-02-conn-nonblocking-threads: Unplanned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:34 +0000 (17:46 +0100)]
QUIC DDD: ddd-02-conn-nonblocking-threads: Unplanned changes

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

8 months agoQUIC DDD: ddd-02-conn-nonblocking-threads: Planned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:34 +0000 (17:46 +0100)]
QUIC DDD: ddd-02-conn-nonblocking-threads: Planned changes

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

8 months agoQUIC DDD: ddd-06-mem-uv: Unplanned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:34 +0000 (17:46 +0100)]
QUIC DDD: ddd-06-mem-uv: Unplanned changes

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

8 months agoQUIC DDD: ddd-06-mem-uv: Planned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:34 +0000 (17:46 +0100)]
QUIC DDD: ddd-06-mem-uv: Planned changes

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

8 months agoQUIC DDD: ddd-05-mem-nonblocking: Unplanned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:34 +0000 (17:46 +0100)]
QUIC DDD: ddd-05-mem-nonblocking: Unplanned changes

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

8 months agoQUIC DDD: ddd-05-mem-nonblocking: Planned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-05-mem-nonblocking: Planned changes

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

8 months agoQUIC DDD: ddd-04-fd-nonblocking: Unplanned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-04-fd-nonblocking: Unplanned changes

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

8 months agoQUIC DDD: ddd-04-fd-nonblocking: Planned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-04-fd-nonblocking: Planned changes

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

8 months agoQUIC DDD: ddd-03-fd-blocking: Unplanned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-03-fd-blocking: Unplanned changes

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

8 months agoQUIC DDD: ddd-03-fd-blocking: Planned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-03-fd-blocking: Planned changes

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

8 months agoQUIC DDD: ddd-02-conn-nonblocking: Unplanned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-02-conn-nonblocking: Unplanned changes

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

8 months agoQUIC DDD: ddd-02-conn-nonblocking: Planned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-02-conn-nonblocking: Planned changes

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

8 months agoQUIC DDD: ddd-01-conn-blocking: Unplanned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-01-conn-blocking: Unplanned changes

- QUIC_client_method() renamed due to namespacing
- QUIC mandates use of ALPN

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

8 months agoQUIC DDD: ddd-01-conn-blocking: Planned changes
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: ddd-01-conn-blocking: Planned changes

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

8 months agoQUIC DDD: Update makefile
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: Update makefile

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

8 months agoQUIC DDD: Add unchanged copy of ddd-02-conn-nonblocking to serve as base for thread...
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: Add unchanged copy of ddd-02-conn-nonblocking to serve as base for thread-assisted variant

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

8 months agoQUIC DDD: Allow target host:port to be set from command line
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: Allow target host:port to be set from command line

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

8 months agoQUIC DDD: Fix bug in ddd-06-mem-uv
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC DDD: Fix bug in ddd-06-mem-uv

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

8 months agoQUIC APL: Introduce addressed v. non-addressed mode handling
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
QUIC APL: Introduce addressed v. non-addressed mode handling

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

8 months agoBIO_s_dgram_pair: Correct implementation of BIO_CTRL_DGRAM_GET_LOCAL_ADDR_ENABLE
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
BIO_s_dgram_pair: Correct implementation of BIO_CTRL_DGRAM_GET_LOCAL_ADDR_ENABLE

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

8 months agoBIO_s_datagram: Wire capability negotiation for BIO_s_datagram
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
BIO_s_datagram: Wire capability negotiation for BIO_s_datagram

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

8 months agoBIO: Add BIO_dgram_detect_peer_addr API
Hugo Landau [Wed, 9 Aug 2023 16:46:33 +0000 (17:46 +0100)]
BIO: Add BIO_dgram_detect_peer_addr API

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

8 months agoBIO_s_datagram: Support configuring non-blocking mode
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
BIO_s_datagram: Support configuring non-blocking mode

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

8 months agoBIO_s_connect: Support configuration of non-blocking mode in datagram mode
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
BIO_s_connect: Support configuration of non-blocking mode in datagram mode

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

8 months agoQUIC CHANNEL: Introduce concept of (non-)addressed mode
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC CHANNEL: Introduce concept of (non-)addressed mode

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

8 months agoQUIC APL: Refactor blocking configuration to allow late blocking support detection
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC APL: Refactor blocking configuration to allow late blocking support detection

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

8 months agoQUIC CHANNEL: Cleanup poll descriptor management
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC CHANNEL: Cleanup poll descriptor management

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

8 months agoQUIC REACTOR: Move can-poll flags into reactor
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC REACTOR: Move can-poll flags into reactor

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

8 months agoQUIC APL: Autoconfigure BIOs as non-blocking
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC APL: Autoconfigure BIOs as non-blocking

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

8 months agoBIO_ssl: Make helper functions configure BIOs for QUIC correctly
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
BIO_ssl: Make helper functions configure BIOs for QUIC correctly

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

8 months agoQUIC APL: Better error reporting
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC APL: Better error reporting

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

8 months agoQUIC CHANNEL: Only handle the first protocol error raised
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC CHANNEL: Only handle the first protocol error raised

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

8 months agoBIO_s_connect: Add support for datagram mode
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
BIO_s_connect: Add support for datagram mode

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

8 months agoBIO_s_connect: Make internal functions static
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
BIO_s_connect: Make internal functions static

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

8 months agoQUIC TLS: Better error message when ALPN not used
Hugo Landau [Wed, 9 Aug 2023 16:46:32 +0000 (17:46 +0100)]
QUIC TLS: Better error message when ALPN not used

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

8 months agoRemoved unnecessary brace in ktls_configure_crypto
Abhirup Manna [Wed, 30 Aug 2023 16:53:20 +0000 (22:23 +0530)]
Removed unnecessary brace in ktls_configure_crypto

CLA: trivial

Fixes #21498

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21908)

8 months agoUpdate X509 fuzzer to verify a chain
Kurt Roeckx [Sun, 18 Dec 2022 19:54:15 +0000 (20:54 +0100)]
Update X509 fuzzer to verify a chain

It add supports for verifying that it's been signed by a CA, and
checks the CRL and OCSP status

Can find CVE-2022-4203 and CVE-2023-0286

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20243)