]> git.ipfire.org Git - thirdparty/openssl.git/log
thirdparty/openssl.git
2 years agoAdd system guessing for linux64-loongarch64 target
Xi Ruoyao [Thu, 20 Jul 2023 23:59:07 +0000 (07:59 +0800)] 
Add system guessing for linux64-loongarch64 target

Now the default is linux-generic32, it's not good for loongarch64.

We can also test if the assembler supports vector instructions here and
disable asm if not.

Closes #21340.

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

2 years agospeed: Unify output messages regarding number of ops per time
Ingo Franzki [Wed, 19 Jul 2023 08:49:44 +0000 (10:49 +0200)] 
speed: Unify output messages regarding number of ops per time

Always report "<algo> ops in <time>", instead of "<algo>'s in <time>" or
similar. Avoid the use of apostrophes and/or plural with algorithm names.

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21383)

2 years agospeed: Also measure RSA encrypt/decrypt, not only RSA sign/verify
Ingo Franzki [Tue, 20 Jun 2023 11:40:41 +0000 (13:40 +0200)] 
speed: Also measure RSA encrypt/decrypt, not only RSA sign/verify

While RSA encrypt/decrypt and sign/verify are basically the same mod-expo
operations, the speed of the operation may still differ, due to different
padding, as well as the use of implicit rejection for RSA decrypt.

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21383)

2 years agoFix a regression in X509_VERIFY_PARAM_add0_policy()
Matt Caswell [Thu, 27 Jul 2023 11:09:47 +0000 (12:09 +0100)] 
Fix a regression in X509_VERIFY_PARAM_add0_policy()

Also fixes a similar regression in X509_VERIFY_PARAM_add0_table().

Commit 38ebfc3 introduced a regression in 3.0.6 that changed the return
value of the two functions above from 1 on success to the number of entries
in the stack. If there are more than one entry then this is a change in
behaviour which should not have been introduced into a stable release.

This reverts the behaviour back to what it was prior to the change. The code
is slightly different to the original code in that we also handle a possible
-1 return value from the stack push function. This should never happen in
reality because we never pass a NULL stack as a parameter - but for the sake
of robustness we handle it anyway.

Note that the changed behaviour exists in all versions of 3.1 (it never had
the original version). But 3.1 should be fully backwards compatible with 3.0
so we should change it there too.

Fixes #21570

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/21576)

2 years agoQUIC: Automatically drain non-concluded streams, bugfixes
Hugo Landau [Mon, 24 Jul 2023 17:11:23 +0000 (18:11 +0100)] 
QUIC: Automatically drain non-concluded streams, bugfixes

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

2 years agoQUIC APL: Mask API operations when in shutdown flush
Hugo Landau [Tue, 18 Jul 2023 15:39:32 +0000 (16:39 +0100)] 
QUIC APL: Mask API operations when in shutdown flush

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

2 years agoQUIC MULTISTREAM TEST: Shutdown flush test
Hugo Landau [Tue, 18 Jul 2023 15:18:33 +0000 (16:18 +0100)] 
QUIC MULTISTREAM TEST: Shutdown flush test

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

2 years agoQUIC MULTISTREAM TEST: Better failure logging with failing script ID
Hugo Landau [Tue, 18 Jul 2023 15:17:55 +0000 (16:17 +0100)] 
QUIC MULTISTREAM TEST: Better failure logging with failing script ID

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

2 years agoQUIC APL: Shutdown Stream Flush Functionality
Hugo Landau [Tue, 18 Jul 2023 15:15:49 +0000 (16:15 +0100)] 
QUIC APL: Shutdown Stream Flush Functionality

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

2 years agoQUIC TXP: Fix bug relating to STREAM FIN generation
Hugo Landau [Tue, 18 Jul 2023 15:15:15 +0000 (16:15 +0100)] 
QUIC TXP: Fix bug relating to STREAM FIN generation

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

2 years agoQUIC APL: Ensure tick inhibition is not used during blocking
Hugo Landau [Tue, 18 Jul 2023 15:14:54 +0000 (16:14 +0100)] 
QUIC APL: Ensure tick inhibition is not used during blocking

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

2 years agoQUIC TSERVER: Allow reading from a stream after connection termination
Hugo Landau [Tue, 18 Jul 2023 15:14:05 +0000 (16:14 +0100)] 
QUIC TSERVER: Allow reading from a stream after connection termination

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

2 years agoQUIC QSM: Infrastructure for tracking shutdown flush eligible streams
Hugo Landau [Tue, 18 Jul 2023 15:13:25 +0000 (16:13 +0100)] 
QUIC QSM: Infrastructure for tracking shutdown flush eligible streams

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

2 years agoQUIC APL: Add internal call to allow changing send buffer size
Hugo Landau [Tue, 18 Jul 2023 15:12:44 +0000 (16:12 +0100)] 
QUIC APL: Add internal call to allow changing send buffer size

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

2 years agoQUIC CHANNEL: Allow ticking to be inhibited for testing purposes
Hugo Landau [Tue, 18 Jul 2023 15:12:04 +0000 (16:12 +0100)] 
QUIC CHANNEL: Allow ticking to be inhibited for testing purposes

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

2 years agoUpdate GOST engine commit to deal with test failure
Dmitry Belyavskiy [Fri, 28 Jul 2023 09:56:17 +0000 (11:56 +0200)] 
Update GOST engine commit to deal with test failure

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

2 years agoRemoves unused parameter 'sending' from derive_secret_key_and_iv()
Frederik Wedel-Heinen [Thu, 27 Jul 2023 09:28:33 +0000 (11:28 +0200)] 
Removes unused parameter 'sending' from derive_secret_key_and_iv()

Fixes #21569

CLA: trivial

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21569)

2 years agovpaes: LoongArch: Use getauxval(AT_HWCAP) for LSX detection
Xi Ruoyao [Fri, 21 Jul 2023 02:07:04 +0000 (02:07 +0000)] 
vpaes: LoongArch: Use getauxval(AT_HWCAP) for LSX detection

Running LSX instructions requires both the hardware support and the
kernel support.  The `cpucfg` instruction only tests the hardware
support, causing a SIGILL if the hardware supports LSX but the kernel
does not.

Use `getauxval(AT_HWCAP)` as the ["Software Development and Build
Convention for LoongArch Architectures"][1] manual suggests.

The LOONGARCH_HWCAP_LSX and LOONGARCH_HWCAP_LASX bits are copied from
the manual too.  In Glibc 2.38 they'll be provided by <sys/auxv.h> as
well, but they are unavailable in earlier Glibc versions so we cannot
rely on it.

The getauxval syscall and Glibc wrapper are available since day one
(Linux-5.19 and Glibc-2.36) for LoongArch.

Fixes #21508.

[1]:https://github.com/loongson/la-softdev-convention/blob/master/la-softdev-convention.adoc#kernel-constraints

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

2 years agofix compile error (SIZE_MAX not found) on HP-UX
John Kohl [Wed, 26 Jul 2023 12:41:31 +0000 (08:41 -0400)] 
fix compile error (SIZE_MAX not found) on HP-UX

Fixes #21554

CLA: trivial

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

2 years agox509/by_file.c: fix unreachable and redundant code
atishkov [Tue, 25 Jul 2023 09:25:57 +0000 (12:25 +0300)] 
x509/by_file.c: fix unreachable and redundant code

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21545)

2 years agoCorrect spelling of database
Fatih Arslan Tugay [Mon, 24 Jul 2023 12:34:08 +0000 (15:34 +0300)] 
Correct spelling of database

Apply normal sentence case to db update message

CLA: trivial

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21535)

2 years agoInclude <openssl/err.h> in include/refcount.h
John Kohl [Wed, 26 Jul 2023 12:16:54 +0000 (08:16 -0400)] 
Include <openssl/err.h> in include/refcount.h

Fixes #21555

CLA: trivial

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21561)

2 years agoAdd CHANGES.md and NEWS.md entries for CVE-2023-3817
Tomas Mraz [Tue, 25 Jul 2023 13:35:34 +0000 (15:35 +0200)] 
Add CHANGES.md and NEWS.md entries for CVE-2023-3817

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21550)

2 years agodhtest.c: Add test of DH_check() with q = p + 1
Tomas Mraz [Tue, 25 Jul 2023 13:23:43 +0000 (15:23 +0200)] 
dhtest.c: Add test of DH_check() with q = p + 1

This must fail with DH_CHECK_INVALID_Q_VALUE and
with DH_CHECK_Q_NOT_PRIME unset.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21550)

2 years agoDH_check(): Do not try checking q properties if it is obviously invalid
Tomas Mraz [Tue, 25 Jul 2023 13:22:48 +0000 (15:22 +0200)] 
DH_check(): Do not try checking q properties if it is obviously invalid

If  |q| >= |p| then the q value is obviously wrong as q
is supposed to be a prime divisor of p-1.

We check if p is overly large so this added test implies that
q is not large either when performing subsequent tests using that
q value.

Otherwise if it is too large these additional checks of the q value
such as the primality test can then trigger DoS by doing overly long
computations.

Fixes CVE-2023-3817

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/21550)

2 years agoMake DH_check set some error bits in recently added error
Bernd Edlinger [Sun, 23 Jul 2023 12:27:54 +0000 (14:27 +0200)] 
Make DH_check set some error bits in recently added error

The pre-existing error cases where DH_check returned zero
are not related to the dh params in any way, but are only
triggered by out-of-memory errors, therefore having *ret
set to zero feels right, but since the new error case is
triggered by too large p values that is something different.
On the other hand some callers of this function might not
be prepared to handle the return value correctly but only
rely on *ret. Therefore we set some error bits in *ret as
additional safety measure.

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

2 years agoget_cert_by_subject_ex(): Check result of X509_STORE_lock()
atishkov [Fri, 21 Jul 2023 08:36:37 +0000 (11:36 +0300)] 
get_cert_by_subject_ex(): Check result of X509_STORE_lock()

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

2 years agobio_print.c: Delete unreachable code at lines 710 and 711
MrRurikov [Thu, 29 Jun 2023 14:06:08 +0000 (17:06 +0300)] 
bio_print.c: Delete unreachable code at lines 710 and 711

CLA: trivial

The purpose of adding the conditional operator on line 710 is to check
if the value of the variable 'fplace' exceeds the size of the array
'fconvert', and to reduce the value of 'fplace' by 1, so that later on
we can set the value to zero of the array element with the index 'fplace'
and not make any calls beyond the array edges.

However, the condition on line 710 will always be false, because
the size of 'fconvert' is strictly specified at the beginning of
the 'fmtfp()' function (line 571), so it is reasonable to remove
this conditional operator, as well as the unreachable decrementation
code of the variable 'fplace'.

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

2 years agoAdds separate configuration targets for intel i386/x86_64 and arm64 ios simulators
Frederik Wedel-Heinen [Wed, 28 Jun 2023 12:40:05 +0000 (14:40 +0200)] 
Adds separate configuration targets for intel i386/x86_64 and arm64 ios simulators

Fixes #21287

CLA: trivial

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21309)

2 years agox509: add ASN1_STRING_set() check result
atishkov [Thu, 20 Jul 2023 08:02:38 +0000 (11:02 +0300)] 
x509: add ASN1_STRING_set() check result

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

2 years agoQUIC TXP: Add extra test
Hugo Landau [Fri, 21 Jul 2023 06:57:51 +0000 (07:57 +0100)] 
QUIC TXP: Add extra test

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

2 years agoFix error handling in pipelining test
Bernd Edlinger [Fri, 21 Jul 2023 05:34:39 +0000 (07:34 +0200)] 
Fix error handling in pipelining test

When an early error happens in the test_pipelining
function and idx == 5 the error handling would try
to call OPENSSL_free(msg), but msg is at that time
just a string constant in read-only memory, so a
crash would be the result. Fixed that by using
fragsize as an indication when to free msg.

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

2 years agofix: reject adding a duplicity into STACK_OF(X509_ATTRIBUTE)
Adam Šulc [Thu, 20 Jul 2023 19:30:45 +0000 (21:30 +0200)] 
fix: reject adding a duplicity into STACK_OF(X509_ATTRIBUTE)

Function `X509at_add1_attr()` (crypto/x509/x509_att.c) rejects to add a duplicity into `*x` but it searches in a wrong stack.

Changed to search in `*x`.

CLA: trivial

Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21505)

2 years agofix clang-6,7,8 strict build
Marco Abbadini [Thu, 20 Jul 2023 15:07:19 +0000 (17:07 +0200)] 
fix clang-6,7,8 strict build

CLA: trivial

Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21501)

2 years agoFix build when configured with -DOPENSSL_USE_IPV6=0
Tom Cosgrove [Wed, 19 Jul 2023 11:59:36 +0000 (12:59 +0100)] 
Fix build when configured with -DOPENSSL_USE_IPV6=0

Change-Id: I57723835b0a7d20609d8c4ed2988123f975a927d

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/21495)

2 years agoQUIC TXP: Generate forced PINGs correctly
Hugo Landau [Thu, 13 Jul 2023 10:41:26 +0000 (11:41 +0100)] 
QUIC TXP: Generate forced PINGs correctly

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

2 years agoQUIC TXP: Refactor TXP-related deadline handling into TXP
Hugo Landau [Thu, 13 Jul 2023 10:36:24 +0000 (11:36 +0100)] 
QUIC TXP: Refactor TXP-related deadline handling into TXP

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

2 years agoQUIC TXP: Update tests for refactor
Hugo Landau [Thu, 13 Jul 2023 10:22:41 +0000 (11:22 +0100)] 
QUIC TXP: Update tests for refactor

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

2 years agoQUIC TXP: Major refactor to handle padding correctly
Hugo Landau [Thu, 13 Jul 2023 10:22:14 +0000 (11:22 +0100)] 
QUIC TXP: Major refactor to handle padding correctly

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

2 years agoQUIC QTX: Add ciphertext size calculation function
Hugo Landau [Wed, 12 Jul 2023 19:12:07 +0000 (20:12 +0100)] 
QUIC QTX: Add ciphertext size calculation function

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

2 years agoQUIC TXP: Test packet size boundary cases
Hugo Landau [Tue, 11 Jul 2023 14:30:46 +0000 (15:30 +0100)] 
QUIC TXP: Test packet size boundary cases

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

2 years agoUpdate with `ARMV8_HAVE_SHA3_AND_WORTH_USING`
sdlyyxy [Sat, 15 Jul 2023 15:26:05 +0000 (23:26 +0800)] 
Update with `ARMV8_HAVE_SHA3_AND_WORTH_USING`

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21398)

2 years agoMove CPU detection to armcap.c
sdlyyxy [Fri, 14 Jul 2023 09:10:43 +0000 (17:10 +0800)] 
Move CPU detection to armcap.c

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21398)

2 years agoEnable ARMv8.2 accelerated SHA3 on compatible Apple CPUs
sdlyyxy [Fri, 7 Jul 2023 11:26:10 +0000 (19:26 +0800)] 
Enable ARMv8.2 accelerated SHA3 on compatible Apple CPUs

The hardware-assisted ARMv8.2 implementation is already in keccak1600-armv8.pl.
It is not called because the author mentioned that it's not actually obvious
that it will provide performance improvements. The test on Apple M1 Firestorm
shows that the ARMv8.2 implementation could improve about 36% for large blocks.
So let's enable ARMv8.2 accelerated SHA3 on Apple CPU family.

Fixes #21380

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21398)

2 years agospeed: Fix execution of EdDSA measurement
Ingo Franzki [Wed, 19 Jul 2023 13:24:49 +0000 (15:24 +0200)] 
speed: Fix execution of EdDSA measurement

Running 'openssl speed eddsa' fails with

Doing 253 bits sign Ed25519 ops for 10s: EdDSA sign failure
000003FF9306C7D0:error:030000BC:digital envelope routines:EVP_DigestSign:
                           final error:crypto/evp/m_sigver.c:585:
-1 253 bits Ed25519 sign ops in 0.00s
Doing 253 bits verify Ed25519 ops for 10s: EdDSA verify failure
000003FF9306C7D0:error:030000BC:digital envelope routines:EVP_DigestVerify:
                           final error:crypto/evp/m_sigver.c:694:
-1 253 bits Ed25519 verify ops in 0.00s

This is because the EVP_DigestSign/Verify() calls in the EdDSA_sign/verify_loop()
fail because the context has already been finalized by the previous
EVP_DigestSign/Verify call during the EdDSA signature test done by speed_main().

This happens since commit 3fc2b7d6b8f961144905330dfd4689f5bd515199 where the
EVP_DigestSign/Verify() functions have been changed to set a flag that the
context has been finalized.

Fix this by re-initializing the context using EVP_DigestSign/Verify() in the
EdDSA_sign/verify_loop().

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21491)

2 years agospeed: Fix memory leak
Ingo Franzki [Wed, 19 Jul 2023 12:59:16 +0000 (14:59 +0200)] 
speed: Fix memory leak

Free the signature stack after iterating over all found signatures.
Free the kem and signature stacks at the end of speed_main() if not
NULL.

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21491)

2 years agoFix documentation around AAD and return values in EVP_Cipher*
Samuel Lee [Wed, 19 Jul 2023 18:04:12 +0000 (11:04 -0700)] 
Fix documentation around AAD and return values in EVP_Cipher*

Fixes #21485

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

2 years agoConnection ID processing
Pauli [Mon, 17 Apr 2023 03:26:39 +0000 (13:26 +1000)] 
Connection ID processing

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

2 years agoapps/cms.c: Fix unreachable code in cms_main()
atishkov [Mon, 17 Jul 2023 10:10:44 +0000 (13:10 +0300)] 
apps/cms.c: Fix unreachable code in cms_main()

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

2 years agoUpdate CHANGES/NEWS for CVE-2023-3446
Matt Caswell [Thu, 13 Jul 2023 15:14:49 +0000 (16:14 +0100)] 
Update CHANGES/NEWS for CVE-2023-3446

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21451)

2 years agoAdd a test for CVE-2023-3446
Matt Caswell [Fri, 7 Jul 2023 13:39:48 +0000 (14:39 +0100)] 
Add a test for CVE-2023-3446

Confirm that the only errors DH_check() finds with DH parameters with an
excessively long modulus is that the modulus is too large. We should not
be performing time consuming checks using that modulus.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21451)

2 years agoFix DH_check() excessive time with over sized modulus
Matt Caswell [Thu, 6 Jul 2023 15:36:35 +0000 (16:36 +0100)] 
Fix DH_check() excessive time with over sized modulus

The DH_check() function checks numerous aspects of the key or parameters
that have been supplied. Some of those checks use the supplied modulus
value even if it is excessively large.

There is already a maximum DH modulus size (10,000 bits) over which
OpenSSL will not generate or derive keys. DH_check() will however still
perform various tests for validity on such a large modulus. We introduce a
new maximum (32,768) over which DH_check() will just fail.

An application that calls DH_check() and supplies a key or parameters
obtained from an untrusted source could be vulnerable to a Denial of
Service attack.

The function DH_check() is itself called by a number of other OpenSSL
functions. An application calling any of those other functions may
similarly be affected. The other functions affected by this are
DH_check_ex() and EVP_PKEY_param_check().

CVE-2023-3446

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21451)

2 years agoFixup tests
Hugo Landau [Mon, 3 Jul 2023 15:41:51 +0000 (16:41 +0100)] 
Fixup tests

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

2 years agoQUIC TXP: Handle non-inflight-eligible packets correctly
Hugo Landau [Mon, 3 Jul 2023 14:45:25 +0000 (15:45 +0100)] 
QUIC TXP: Handle non-inflight-eligible packets correctly

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

2 years agoQUIC ACKM: Don't record non-inflight packets in CC
Hugo Landau [Mon, 3 Jul 2023 14:45:25 +0000 (15:45 +0100)] 
QUIC ACKM: Don't record non-inflight packets in CC

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

2 years agoQUIC TXP: Do not generate full-size packets when sending CC-excess probes
Hugo Landau [Mon, 3 Jul 2023 14:45:25 +0000 (15:45 +0100)] 
QUIC TXP: Do not generate full-size packets when sending CC-excess probes

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

2 years agoQUIC ACKM: RFC 9000 s. 13.2.1: max_ack_delay taken as 0 in INITIAL/HANDSHAKE
Hugo Landau [Mon, 3 Jul 2023 14:45:25 +0000 (15:45 +0100)] 
QUIC ACKM: RFC 9000 s. 13.2.1: max_ack_delay taken as 0 in INITIAL/HANDSHAKE

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

2 years agoQUIC CHANNEL: Initialise max_ack_delay values properly
Hugo Landau [Mon, 3 Jul 2023 14:45:25 +0000 (15:45 +0100)] 
QUIC CHANNEL: Initialise max_ack_delay values properly

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

2 years agoQUIC ACKM: Clean up max_ack_delay tracking and separate TX and RX values
Hugo Landau [Mon, 3 Jul 2023 14:45:25 +0000 (15:45 +0100)] 
QUIC ACKM: Clean up max_ack_delay tracking and separate TX and RX values

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

2 years agoQUIC STATM: Move max_ack_delay tracking out of STATM
Hugo Landau [Mon, 3 Jul 2023 14:45:25 +0000 (15:45 +0100)] 
QUIC STATM: Move max_ack_delay tracking out of STATM

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

2 years agoremove duplicate defines, add comment
Pauli [Mon, 26 Jun 2023 09:30:51 +0000 (19:30 +1000)] 
remove duplicate defines, add comment

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21441)

2 years agoopenssl-kdf.pod.in: add text on 'salt' and 'info' parameters; small further improvements
Dr. David von Oheimb [Sun, 16 Jul 2023 13:06:18 +0000 (15:06 +0200)] 
openssl-kdf.pod.in: add text on 'salt' and 'info' parameters; small further improvements

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

2 years agoEVP_KDF.pod: extend text on 'salt' and 'info' parameters
Dr. David von Oheimb [Sun, 16 Jul 2023 12:55:35 +0000 (14:55 +0200)] 
EVP_KDF.pod: extend text on 'salt' and 'info' parameters

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

2 years agoRemove redundant check
atishkov [Mon, 17 Jul 2023 09:44:11 +0000 (12:44 +0300)] 
Remove redundant check

CLA: trivial

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21473)

2 years agoRaise SSL_R_QUIC_PROTOCOL_ERROR on any QUIC protocol error
Tomas Mraz [Mon, 17 Jul 2023 15:36:32 +0000 (17:36 +0200)] 
Raise SSL_R_QUIC_PROTOCOL_ERROR on any QUIC protocol error

QUIC error code, frame type and reason is in error data

Fixes #21337

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21476)

2 years agoFix typos found by codespell
Dimitri Papadopoulos [Sun, 16 Jul 2023 06:25:55 +0000 (08:25 +0200)] 
Fix typos found by codespell

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/21467)

2 years agoFix int_ctx_new() error when use 1.1.1n sm2 key and ec method engine
lan1120 [Sat, 10 Jun 2023 11:36:17 +0000 (19:36 +0800)] 
Fix int_ctx_new() error when use 1.1.1n sm2 key and ec method engine

Signed-off-by: lan1120 <lanming@huawei.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21170)

2 years agono-module should not imply disabling DSO loading support
Tomas Mraz [Fri, 14 Jul 2023 08:25:42 +0000 (10:25 +0200)] 
no-module should not imply disabling DSO loading support

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

2 years agoFix ssl3_do_write() to correctly handle retries
Matt Caswell [Wed, 12 Jul 2023 14:50:25 +0000 (15:50 +0100)] 
Fix ssl3_do_write() to correctly handle retries

A BIO is documented to return -1 on write retry - but sometimes they return
0. ssl3_do_write() was incorrectly handling a 0 response.

Fixes #21422

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

2 years agoAdd a test for a retry during the handshake
Matt Caswell [Wed, 12 Jul 2023 13:54:46 +0000 (14:54 +0100)] 
Add a test for a retry during the handshake

Test various scenarios for a write retry occuring during a handshake.

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

2 years agoRemove unreachable code from SSL_use_certificate_file() as in SSL_CTX_use_certificate...
atishkov [Fri, 7 Jul 2023 13:00:38 +0000 (16:00 +0300)] 
Remove unreachable code from SSL_use_certificate_file() as in SSL_CTX_use_certificate_file()

CLA: trivial

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/21394)

2 years agoCMP: add support for genm with rootCaCert and genp with rootCaKeyUpdate
Dr. David von Oheimb [Sat, 17 Sep 2022 08:56:21 +0000 (10:56 +0200)] 
CMP: add support for genm with rootCaCert and genp with rootCaKeyUpdate

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

2 years agoCMP app and API doc: add note on critical server auth on receiving trust anchor certs
Dr. David von Oheimb [Sat, 3 Jun 2023 15:17:14 +0000 (17:17 +0200)] 
CMP app and API doc: add note on critical server auth on receiving trust anchor certs

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

2 years agoCMP doc: various small corrections, mostly on PBM vs. MAC-based protection
Dr. David von Oheimb [Sat, 3 Jun 2023 15:15:06 +0000 (17:15 +0200)] 
CMP doc: various small corrections, mostly on PBM vs. MAC-based protection

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

2 years agorename OSSL_CMP_get{,1}_caCerts and improve OSSL_CMP_exec_certreq.pod
Dr. David von Oheimb [Sat, 3 Jun 2023 04:53:58 +0000 (06:53 +0200)] 
rename OSSL_CMP_get{,1}_caCerts and improve OSSL_CMP_exec_certreq.pod

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

2 years agoAPPS load_key_certs_crls(): improve error string macro FAIL_NAME
Dr. David von Oheimb [Mon, 5 Jun 2023 20:53:43 +0000 (22:53 +0200)] 
APPS load_key_certs_crls(): improve error string macro FAIL_NAME

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

2 years agoMinor fixups
Hugo Landau [Thu, 13 Jul 2023 13:40:48 +0000 (14:40 +0100)] 
Minor fixups

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

2 years agoQUIC: Fix multistream test on macOS
Hugo Landau [Thu, 13 Jul 2023 12:48:32 +0000 (05:48 -0700)] 
QUIC: Fix multistream test on macOS

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

2 years agoMinor fixups
Hugo Landau [Thu, 13 Jul 2023 11:32:48 +0000 (12:32 +0100)] 
Minor fixups

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

2 years agoQUIC: Fix multistream script 19 stochastic test failure
Hugo Landau [Thu, 6 Jul 2023 14:23:05 +0000 (15:23 +0100)] 
QUIC: Fix multistream script 19 stochastic test failure

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

2 years agoMinor updates 2
Hugo Landau [Thu, 6 Jul 2023 19:14:10 +0000 (20:14 +0100)] 
Minor updates 2

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

2 years agoMinor updates
Hugo Landau [Mon, 3 Jul 2023 12:15:12 +0000 (13:15 +0100)] 
Minor updates

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

2 years agoQUIC: Multistream test fixes
Hugo Landau [Wed, 7 Jun 2023 13:15:50 +0000 (14:15 +0100)] 
QUIC: Multistream test fixes

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

2 years agoQUIC: Correct minimal frame encoding test
Hugo Landau [Wed, 7 Jun 2023 13:11:50 +0000 (14:11 +0100)] 
QUIC: Correct minimal frame encoding test

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

2 years agoQUIC: test fixes for WPACKET use
Hugo Landau [Wed, 7 Jun 2023 12:39:15 +0000 (13:39 +0100)] 
QUIC: test fixes for WPACKET use

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

2 years agomake update
Hugo Landau [Tue, 6 Jun 2023 15:59:11 +0000 (16:59 +0100)] 
make update

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

2 years agoQUIC QSM: Get rid of recv_fin_retired in favour of recv_state
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC QSM: Get rid of recv_fin_retired in favour of recv_state

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

2 years agoQUIC QSM: Update API documentation
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC QSM: Update API documentation

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

2 years agoQUIC CONFORMANCE/APL: Handle FIN/reset retirement correctly
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC CONFORMANCE/APL: Handle FIN/reset retirement correctly

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

2 years agoQUIC Send Stream State: Transition to DATA_SENT
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC Send Stream State: Transition to DATA_SENT

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

2 years agoQUIC CONFORMANCE: Wire the DATA_SENT state
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC CONFORMANCE: Wire the DATA_SENT state

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

2 years agoQUIC APL: Validate receive stream state
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC APL: Validate receive stream state

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

2 years agoQUIC APL: Validate send stream state
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC APL: Validate send stream state

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

2 years agoQUIC CONFORMANCE: Stop handling frames after termination
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC CONFORMANCE: Stop handling frames after termination

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

2 years agoQUIC Conformance: Frame Handling Tests
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC Conformance: Frame Handling Tests

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

2 years agoQUIC CONFORMANCE: RFC 9000 s. 9.6
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC CONFORMANCE: RFC 9000 s. 9.6

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

2 years agoQUIC CONFORMANCE: Validate preferred_addr transport parameter
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC CONFORMANCE: Validate preferred_addr transport parameter

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

2 years agoQUIC CONFORMANCE: RFC 9000 s. 19.16: RETIRE_CONNECTION_ID frames
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC CONFORMANCE: RFC 9000 s. 19.16: RETIRE_CONNECTION_ID frames

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

2 years agoQUIC CONFORMANCE: RFC 9000 s. 19.15: NEW_CONNECTION_ID frames
Hugo Landau [Tue, 6 Jun 2023 15:25:12 +0000 (16:25 +0100)] 
QUIC CONFORMANCE: RFC 9000 s. 19.15: NEW_CONNECTION_ID frames

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

2 years agoQUIC RXDP: Make ACK eliciting definition more resilient and centralised
Hugo Landau [Tue, 6 Jun 2023 15:25:11 +0000 (16:25 +0100)] 
QUIC RXDP: Make ACK eliciting definition more resilient and centralised

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