openssl.git
3 years agoadd zero strenght arguments to BN and RAND RNG calls
Pauli [Fri, 28 May 2021 04:46:40 +0000 (14:46 +1000)]
add zero strenght arguments to BN and RAND RNG calls

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

3 years agoprov: add zero strenght arguments to BN and RAND RNG calls
Pauli [Fri, 28 May 2021 04:46:17 +0000 (14:46 +1000)]
prov: add zero strenght arguments to BN and RAND RNG calls

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

3 years agossl: add zero strenght arguments to BN and RAND RNG calls
Pauli [Fri, 28 May 2021 04:45:57 +0000 (14:45 +1000)]
ssl: add zero strenght arguments to BN and RAND RNG calls

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

3 years agotest: add zero strenght arguments to BN and RAND RNG calls
Pauli [Fri, 28 May 2021 04:45:43 +0000 (14:45 +1000)]
test: add zero strenght arguments to BN and RAND RNG calls

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

3 years agorand: add a strength argument to the BN and RAND RNG calls
Pauli [Fri, 28 May 2021 04:45:06 +0000 (14:45 +1000)]
rand: add a strength argument to the BN and RAND RNG calls

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

3 years agodoc: document the strength arugments to the RNG functions
Pauli [Fri, 28 May 2021 04:44:38 +0000 (14:44 +1000)]
doc: document the strength arugments to the RNG functions

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

3 years agoMake undef'd counts zero by default.
Rich Salz [Tue, 25 May 2021 17:42:45 +0000 (13:42 -0400)]
Make undef'd counts zero by default.

Fixes #15409

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

3 years agoec: Add PPC64 vector assembly version of p521 field operations
Amitay Isaacs [Tue, 13 Oct 2020 09:11:40 +0000 (05:11 -0400)]
ec: Add PPC64 vector assembly version of p521 field operations

Only field multiplication and squaring (but not reduction) show a
significant improvement.  This is enabled on Power ISA >= 3.0.

On a Power 9 CPU an average 10% performance improvement is seen (ECHDE:
14%, ECDSA sign: 6%, ECDSA verify 10%), compared to existing code.

On an upcoming Power 10 CPU we see an average performance improvement
of 26% (ECHDE: 38%, ECDSA sign: 16%, ECDSA verify 25%), compared to
existing code.

Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15401)

3 years agoec: Add run time code selection for p521 field operations
Martin Schwenke [Wed, 12 May 2021 04:21:58 +0000 (14:21 +1000)]
ec: Add run time code selection for p521 field operations

This is only used if ECP_NISTP521_ASM is defined and this currently
only occurs on PPC64.

This simply chooses the C reference implementation, which will be the
default when custom code is available for certain CPUs.

Only the multiplication and squaring operations are handled, since the
upcoming assembly code only contains those.  This scheme can be easily
extended to handle reduction too.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Amitay Isaacs <amitay@ozlabs.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15401)

3 years agoec: Rename reference p521 field operations and use them via macros
Martin Schwenke [Wed, 12 May 2021 01:47:55 +0000 (11:47 +1000)]
ec: Rename reference p521 field operations and use them via macros

This will allow clean addition of assembly versions of these operations.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15401)

3 years agoperlasm/ppc-xlate.pl: Handle rewriting of vector registers
Martin Schwenke [Wed, 2 Dec 2020 08:05:44 +0000 (19:05 +1100)]
perlasm/ppc-xlate.pl: Handle rewriting of vector registers

Power has 2 numbering systems for vector registers:

* VR: Vector Registers are numbered from 0 to 31
* VSR: Vector-Scalar registers are numbers from 32 to 63

These refer to the same registers.  Some instructions use VR numbering
for their operands, while others use VSR numbering.

When using Perl to provide a meaningful name for a register it makes
sense to use the same variable for both VR and VSR instructions.  This
makes the code more readable.

However, providing a VSR number (i.e. >=32) to an instruction that
expects a VR number will cause an assembler error.

So, for instructions that require VR numbering, map VSR numbers
(i.e. >=32) to VR numbers.  This also allows existing code that uses
VR numbering to remain unchanged.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15401)

3 years agoBIO acpt_state(): Allow retrying addresses (e.g., using IPv6 vs. IPv4) on creating...
Dr. David von Oheimb [Tue, 25 May 2021 06:43:59 +0000 (08:43 +0200)]
BIO acpt_state(): Allow retrying addresses (e.g., using IPv6 vs. IPv4) on creating accept socket

Fixes #15386

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

3 years agoBIO_s_accept.pod: Add missing documentation for BIO_{get,set}_accept_ip_family()
Dr. David von Oheimb [Mon, 24 May 2021 11:02:55 +0000 (13:02 +0200)]
BIO_s_accept.pod: Add missing documentation for BIO_{get,set}_accept_ip_family()

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

3 years agoapps/ocsp: Allow -port 0
Dr. David von Oheimb [Sun, 23 May 2021 10:36:11 +0000 (12:36 +0200)]
apps/ocsp: Allow -port 0

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

3 years agoDOC: Slightly improve the documentation of BIO_lookup() and related functions
Dr. David von Oheimb [Sat, 22 May 2021 10:02:00 +0000 (12:02 +0200)]
DOC: Slightly improve the documentation of BIO_lookup() and related functions

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

3 years agoapps/lib/s_socket.c and 80-test_cmp_http.t: Make ACCEPT port reporting more robust
Dr. David von Oheimb [Sat, 22 May 2021 09:59:44 +0000 (11:59 +0200)]
apps/lib/s_socket.c and 80-test_cmp_http.t: Make ACCEPT port reporting more robust

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

3 years agoFix intermittent CI failure in evp_kdf_test for non_caching build.
Shane Lontis [Fri, 28 May 2021 07:18:56 +0000 (17:18 +1000)]
Fix intermittent CI failure in evp_kdf_test for non_caching build.

Fixes #15515

Another case of the order that tests run in causes a failure.
A new test was loading "legacy" into the default lib ctx. If it
ran first then everything fails. The test now has its own lib ctx.

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

3 years agoFix incorrect gettable OSSL_CIPHER_PARAM_TLS_MAC parameter
Shane Lontis [Sat, 22 May 2021 02:40:42 +0000 (12:40 +1000)]
Fix incorrect gettable OSSL_CIPHER_PARAM_TLS_MAC parameter

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

3 years agoFix incorrect OSSL_CIPHER_PARAM_SPEED get_ctx_params
Shane Lontis [Sat, 22 May 2021 02:39:39 +0000 (12:39 +1000)]
Fix incorrect OSSL_CIPHER_PARAM_SPEED get_ctx_params

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

3 years agoAdd missing EVP_CTRL_CCM_SET_L control
Shane Lontis [Sat, 22 May 2021 02:38:19 +0000 (12:38 +1000)]
Add missing EVP_CTRL_CCM_SET_L control

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

3 years agoAdd Docs for EVP_CIPHER-*
Shane Lontis [Sat, 22 May 2021 02:37:11 +0000 (12:37 +1000)]
Add Docs for EVP_CIPHER-*

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

3 years agoEVP_CIPHER Documentation updates
Shane Lontis [Sat, 22 May 2021 02:29:18 +0000 (12:29 +1000)]
EVP_CIPHER Documentation updates

EVP_EncryptInit.pod now follows the pattern used in EVP_DigestInit.pod.
i.e.
'=item' is used for methods
PARAMETERS and CONTROLS sections have been added.

The PARAMETERS list has been moved from provider-cipher.pod (this file just
has a link now).
Missing fields were updated.

The CONTROLS shows the mappings to OSSL_PARAM keys.

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

3 years agoERR: Rebuild generated engine error files
Sven Schwermer [Thu, 27 May 2021 06:41:07 +0000 (08:41 +0200)]
ERR: Rebuild generated engine error files

CLA: trivial

Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15495)

3 years agomkerr: Fix string literal conversion
Sven Schwermer [Thu, 27 May 2021 06:33:08 +0000 (08:33 +0200)]
mkerr: Fix string literal conversion

This fixes a compiler warning on clang-1205.0.22.9 when compiling the
generated code as C++11:

ISO C++11 does not allow conversion from string literal to 'char *'
[-Wwritable-strings]

CLA: trivial

Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15495)

3 years agoFix PKCS12_create() so that a fetch error is not added to the error stack.
Shane Lontis [Wed, 26 May 2021 00:26:27 +0000 (10:26 +1000)]
Fix PKCS12_create() so that a fetch error is not added to the error stack.

Fixes #15392

PBE algorithms such as NID_pbe_WithSHA1And3_Key_TripleDES_CBC will
currently always fail to the EVP_CIPHER_fetch() call, so the fallback to
a legacy algorithm always happens. In this case the error stack should
ignore the fetch error.

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

3 years agoFix typo about SSL_CONF_FLAG_CMDLINE
Tommy Chiang [Wed, 26 May 2021 18:46:13 +0000 (02:46 +0800)]
Fix typo about SSL_CONF_FLAG_CMDLINE

change SSL_CONF_CMDLINE to SSL_CONF_FLAG_CMDLINE
CLA: trivial

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15489)

3 years agoFix issues found by md-nits
Rich Salz [Tue, 25 May 2021 14:28:49 +0000 (10:28 -0400)]
Fix issues found by md-nits

Fixes #15460

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

3 years agoFix memory leak in OSSL_CMP_CTX
Petr Gotthard [Tue, 25 May 2021 13:39:01 +0000 (15:39 +0200)]
Fix memory leak in OSSL_CMP_CTX

The ctx->propq is strdup'ed, so it must be free'd too.

Reviewed-by: Ben Kaduk <kaduk@mit.edu>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15458)

3 years agoRework and make DEBUG macros consistent.
Rich Salz [Wed, 19 May 2021 15:09:49 +0000 (11:09 -0400)]
Rework and make DEBUG macros consistent.

Remove unused -DCONF_DEBUG and -DBN_CTX_DEBUG.

Rename REF_PRINT to REF_DEBUG for consistency, and add a new
tracing category and use it for printing reference counts.

Rename -DDEBUG_UNUSED to -DUNUSED_RESULT_DEBUG

Fix BN_DEBUG_RAND so it compiles and, when set, force DEBUG_RAND to
be set also.

Rename engine_debug_ref to be ENGINE_REF_PRINT also for consistency.

Fixes #15357

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

3 years agoFix doc typos.
David Makepeace [Wed, 26 May 2021 13:07:38 +0000 (23:07 +1000)]
Fix doc typos.

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

3 years agoInitialise OPENSSL_armcap_P to 0 before setting it based on capabilities, not after
Tom Cosgrove [Wed, 26 May 2021 15:46:00 +0000 (16:46 +0100)]
Initialise OPENSSL_armcap_P to 0 before setting it based on capabilities, not after

Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
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/15486)

3 years agoFIPS Checksums: checkout the head of the base repo as pristine
Tomas Mraz [Thu, 27 May 2021 14:41:56 +0000 (16:41 +0200)]
FIPS Checksums: checkout the head of the base repo as pristine

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

3 years agoCall SSLfatal when the generate_ticket_cb returns 0
Todd Short [Wed, 26 May 2021 14:03:35 +0000 (10:03 -0400)]
Call SSLfatal when the generate_ticket_cb returns 0

Otherwise, the state machine ends up being in a bad state:
```
SSL routines:write_state_machine:missing fatal:ssl/statem/statem.c:XXX:
```

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/15487)

3 years agoFIPS Checksums CI: use separate directories for the checkouts
Tomas Mraz [Wed, 26 May 2021 11:13:02 +0000 (13:13 +0200)]
FIPS Checksums CI: use separate directories for the checkouts

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

3 years agogenerate_fips_sources: properly include providers/common/der/*.in
Tomas Mraz [Tue, 25 May 2021 16:15:21 +0000 (18:15 +0200)]
generate_fips_sources: properly include providers/common/der/*.in

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

3 years agoFix compilation warning with GCC11.
Juergen Christ [Tue, 25 May 2021 16:03:06 +0000 (18:03 +0200)]
Fix compilation warning with GCC11.

Parameter "header" of ssl3_cbc_digest_record was fixed to a 13 bytes header
but used as a pointer.  This caused a warning about out-of-bounds array access
with GCC 11.

Fixes #15462.

Signed-off-by: Juergen Christ <jchrist@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/15463)

3 years agocoverity 1484912: Null pointer dereferences (NULL_RETURNS)
Pauli [Sun, 23 May 2021 23:35:08 +0000 (09:35 +1000)]
coverity 1484912: Null pointer dereferences (NULL_RETURNS)

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

3 years agocoverity 1484913: Null pointer dereferences (REVERSE_INULL)
Pauli [Sun, 23 May 2021 22:59:36 +0000 (08:59 +1000)]
coverity 1484913: Null pointer dereferences (REVERSE_INULL)

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

3 years agoTEST: Prefer using precomputed RSA and DH keys for more efficient tests
Dr. David von Oheimb [Sat, 12 Dec 2020 21:04:05 +0000 (22:04 +0100)]
TEST: Prefer using precomputed RSA and DH keys for more efficient tests

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

3 years agoAPPS req: Extend the -keyout option to be respected also with -key
Dr. David von Oheimb [Wed, 26 May 2021 07:22:48 +0000 (09:22 +0200)]
APPS req: Extend the -keyout option to be respected also with -key

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

3 years agoDOC: Improve description of 'req' app: -new, -newkey, and -keyout options
Dr. David von Oheimb [Wed, 26 May 2021 07:08:14 +0000 (09:08 +0200)]
DOC: Improve description of 'req' app: -new, -newkey, and -keyout options

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

3 years agoFix spelling mistake in d2i_PrivateKey.pod
Shane Lontis [Sun, 23 May 2021 06:49:48 +0000 (16:49 +1000)]
Fix spelling mistake in d2i_PrivateKey.pod

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

3 years agoAdd demo for EC keygen
Shane Lontis [Sun, 23 May 2021 06:48:45 +0000 (16:48 +1000)]
Add demo for EC keygen

Fixes #14112

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

3 years agoFix OCSP_sendreq_nbio arg order
jwalch [Tue, 25 May 2021 23:43:23 +0000 (19:43 -0400)]
Fix OCSP_sendreq_nbio arg order

Fixes #15470

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15471)

3 years agotest: test MP genrsa in deprecated builds
Pauli [Wed, 26 May 2021 00:24:40 +0000 (10:24 +1000)]
test: test MP genrsa in deprecated builds

These multi-prime tests were omitted when genrsa was deprecated but not
returned when it was restored.

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

3 years agotest: add test for key generation strength > RNG strength
Pauli [Wed, 26 May 2021 00:11:29 +0000 (10:11 +1000)]
test: add test for key generation strength > RNG strength

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

3 years agotest: test genrsa in deprecated builds
Pauli [Wed, 26 May 2021 00:10:51 +0000 (10:10 +1000)]
test: test genrsa in deprecated builds

These tests were omitted when genrsa was deprecated but not returned when
it was restored.

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

3 years agoerrors: update error message (to be squashed)
Pauli [Wed, 26 May 2021 00:02:09 +0000 (10:02 +1000)]
errors: update error message (to be squashed)

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

3 years agorsa: check that the RNG is capable of producing a key of the specified size
Pauli [Wed, 26 May 2021 00:00:37 +0000 (10:00 +1000)]
rsa: check that the RNG is capable of producing a key of the specified size

During key generation, any sized key can be asked for.  Attempting to generate
a key with a security strength larger than the RNG strength now fails.

Fixes #15421

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

3 years agorsa: remove the limit on the maximum key strength
Pauli [Tue, 25 May 2021 23:27:32 +0000 (09:27 +1000)]
rsa: remove the limit on the maximum key strength

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

3 years agoUse "" for include crypto/xxx
Rich Salz [Tue, 25 May 2021 19:09:07 +0000 (15:09 -0400)]
Use "" for include crypto/xxx

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

3 years agoUse "" for include internal/xxx
Rich Salz [Tue, 25 May 2021 19:08:03 +0000 (15:08 -0400)]
Use "" for include internal/xxx

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

3 years agoUse <> for #include openssl/xxx
Rich Salz [Tue, 25 May 2021 19:06:22 +0000 (15:06 -0400)]
Use <> for #include openssl/xxx

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

3 years agorsa: rename global rsaz_ sumbols so they are in namespace
Pauli [Tue, 25 May 2021 01:15:38 +0000 (11:15 +1000)]
rsa: rename global rsaz_ sumbols so they are in namespace

The symbols renamed are:

RSAZ_amm52x20_x1_256
RSAZ_amm52x20_x2_256
rsaz_avx512ifma_eligible
RSAZ_mod_exp_avx512_x2

Additionally, RSAZ_exp52x20_x2_256 was made static

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/15445)

3 years agoaes: rename new bsaes_ symbols -> ossl_bsaes_ ones
Pauli [Tue, 25 May 2021 00:40:44 +0000 (10:40 +1000)]
aes: rename new bsaes_ symbols -> ossl_bsaes_ ones

bsaes_cbc_encrypt -> ossl_bsaes_cbc_encrypt
bsaes_ctr32_encrypt_blocks -> ossl_bsaes_ctr32_encrypt_blocks
bsaes_xts_decrypt -> ossl_bsaes_xts_decrypt
bsaes_xts_encrypt -> ossl_bsaes_xts_encrypt

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/15445)

3 years agobn: rename extract_multiplier_2x20_win5 -> ossl_extract_multiplier_2x20_win5
Pauli [Tue, 25 May 2021 00:34:10 +0000 (10:34 +1000)]
bn: rename extract_multiplier_2x20_win5 -> ossl_extract_multiplier_2x20_win5

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/15445)

3 years agobn: rename bn_check_prime_int -> ossl_bn_check_primt
Pauli [Tue, 25 May 2021 00:31:05 +0000 (10:31 +1000)]
bn: rename bn_check_prime_int -> ossl_bn_check_primt

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/15445)

3 years agoDeprecate old style BIO callback calls
Tomas Mraz [Mon, 24 May 2021 16:15:57 +0000 (18:15 +0200)]
Deprecate old style BIO callback calls

New style BIO_debug_callback_ex() function added to provide
replacement for BIO_debug_callback().

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

3 years agoapps: Fix the mismatch of SM2 keys keymgmt
Tianjia Zhang [Tue, 25 May 2021 08:52:20 +0000 (16:52 +0800)]
apps: Fix the mismatch of SM2 keys keymgmt

The SM2 key has a separate keymgmt, which is independent of the
EC. The key generated by the subcommand ecparam is wrong. Using
'openssl ec -in sm2.key -noout -text' will also encounter some
errors.

When using the ecparam subcommand to generate the SM2 key, use
the correct keymgmt to solve this problem.

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15454)

3 years agoutil/fix-doc-nits: Fix link detection in collectnames() to be kinder
Richard Levitte [Tue, 25 May 2021 08:29:24 +0000 (10:29 +0200)]
util/fix-doc-nits: Fix link detection in collectnames() to be kinder

The way the links were parsed out of the contents caused a regexp
recursion.  The easiest way to deal with it is to find all markup
using $markup_re, and then parsing out the L markups and add them to
the links array.

Fixes #15449

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

3 years agoTEST: Add test specific fipsmodule.cnf, and use it
Richard Levitte [Mon, 24 May 2021 12:25:28 +0000 (14:25 +0200)]
TEST: Add test specific fipsmodule.cnf, and use it

We add the concept of preparation recipes, which are performed
unconditionally.  They are all expected to match the pattern
test/recipes/00-prep_*.t.

We add one such preparation recipe, test/recipes/00-prep_fipsmodule_cnf.t,
which helps us generate a test specific fipsmodule.cnf, to be used by
all other tests.

Fixes #15166

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

3 years agoBuild file templates: rework FIPS module installation
Richard Levitte [Mon, 24 May 2021 12:24:32 +0000 (14:24 +0200)]
Build file templates: rework FIPS module installation

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

3 years agoBuild file templates: rework how general dependencies are computed
Richard Levitte [Mon, 24 May 2021 12:19:38 +0000 (14:19 +0200)]
Build file templates: rework how general dependencies are computed

For some types of targets, we pretty much know what kinds of files all
the dependencies are.  For some, however, we can't assume anything,
and are faced with dependencies in platform agnostic form.  We need to
find those in diverse places in %unified_info, and deduce from there
how they should be converted to a platform specific form.

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

3 years agoRework how providers/fipsmodule.cnf is produced
Richard Levitte [Mon, 24 May 2021 12:06:00 +0000 (14:06 +0200)]
Rework how providers/fipsmodule.cnf is produced

First of all, we have concluded that we can calculate the integrity
checksum with a simple perl script.

Second, having the production of providers/fipsmodule.cnf as a
dependency for run_tests wasn't quite right.  What we really want is
to generate it as soon as a new providers/fips.so is produced.  That
required a small bit of fiddling with how diverse dependencies are
made.

Fixes #15166

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

3 years agoIgnore the threadstest_fips executable
Matt Caswell [Tue, 25 May 2021 11:02:07 +0000 (12:02 +0100)]
Ignore the threadstest_fips executable

Add a new executable that isn't caught by existing .gitignore rules

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

3 years agoOSSL_DECODER_from_bio: Report an unsupported error when there is none
Tomas Mraz [Tue, 25 May 2021 07:59:06 +0000 (09:59 +0200)]
OSSL_DECODER_from_bio: Report an unsupported error when there is none

When nothing was decoded and there is no error on the stack report
something.

Fixes #15442

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

3 years agoAdd negative test cases for PEM_read_bio_PrivateKey
Tomas Mraz [Tue, 25 May 2021 07:58:35 +0000 (09:58 +0200)]
Add negative test cases for PEM_read_bio_PrivateKey

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

3 years agoFix possible infinite loop in pem_read_bio_key_decoder()
Tomas Mraz [Mon, 24 May 2021 16:47:45 +0000 (18:47 +0200)]
Fix possible infinite loop in pem_read_bio_key_decoder()

There could be an infinite loop if no read happened.

Fixes #15426

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

3 years agotest: update RSA test with current bit strengths
Pauli [Tue, 25 May 2021 01:26:15 +0000 (11:26 +1000)]
test: update RSA test with current bit strengths

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/15428)

3 years agorsa: special case the strengths of RSA with 7680 and 15360 bits
Pauli [Sun, 23 May 2021 05:28:30 +0000 (15:28 +1000)]
rsa: special case the strengths of RSA with 7680 and 15360 bits

Also cap the strengths for values under these two because the formula
overestimates around them.

The formula NIST gives doesn't match the table also presented in IG 7.5

Partial fix for #15421

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/15428)

3 years agoFix buffer overflow when generating large RSA keys in FIPS mode.
Shane Lontis [Tue, 25 May 2021 03:31:44 +0000 (13:31 +1000)]
Fix buffer overflow when generating large RSA keys in FIPS mode.

A pairwise test runs only in FIPS mode.
An assumption about the size of the 'to' buffer passed to
RSA_private_decrypt() was incorrect. It needs to be up to RSA_size()
bytes long - so a fixed buffer of 256 bytes was not large enough.
An exiting malloc has increased in size to allocate buffer space for
both the encrypt and decrypt buffer.

The existing test used 2080 bits which was not quite large enough to
trigger the issue. A test using 3072 bits has been added.

Reported by Mark Powers from Acumen.

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

3 years agoFix -static builds on master
Tom Cosgrove [Mon, 17 May 2021 08:59:57 +0000 (09:59 +0100)]
Fix -static builds on master

Pull in Todd Short's fix cfd7225fbb from 1.1.1, which moves the disabling
of pic, threads and statics to before they are checked.

Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15214)

3 years agoerr: rename err_load_xxx_strings_int functions
Pauli [Tue, 25 May 2021 02:04:22 +0000 (12:04 +1000)]
err: rename err_load_xxx_strings_int functions

The new names are ossl_err_load_xxx_strings.

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

3 years agoFix building of test/pbetest.c
Petr Gotthard [Mon, 24 May 2021 09:40:15 +0000 (11:40 +0200)]
Fix building of test/pbetest.c

The test_pkcs5_pbe() function is required twice:
once `if !defined OPENSSL_NO_RC4 && !defined OPENSSL_NO_MD5`
and once `if !defined OPENSSL_NO_DES && !defined OPENSSL_NO_SHA1`

Hence there should be `||` between those. Currently the build fails
if the first condition is false, while the second is true.

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

3 years agoAdd special case to skip RC4 reinit
Jon Spillett [Fri, 14 May 2021 04:46:25 +0000 (14:46 +1000)]
Add special case to skip RC4 reinit

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

3 years agoAdd an evp_libctx_test test run for legacy provider
Jon Spillett [Fri, 14 May 2021 01:15:25 +0000 (11:15 +1000)]
Add an evp_libctx_test test run for legacy provider

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

3 years agoAllow TLS13_AD_MISSING_EXTENSION for older versions
Benjamin Kaduk [Fri, 21 May 2021 17:25:00 +0000 (10:25 -0700)]
Allow TLS13_AD_MISSING_EXTENSION for older versions

Add a pass-through switch case for TLS13_AD_MISSING_EXTENSION in
ssl3_alert_code() and tls1_alert_code(), so that the call to
SSLfatal() in final_psk() will always actually generate an alert,
even for non-TLS1.3 protocol versions.

Fixes #15375

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

3 years agoRemove tmp file smcont.signed_ that was used for debuggin PR #15347
Dr. David von Oheimb [Mon, 24 May 2021 13:53:04 +0000 (15:53 +0200)]
Remove tmp file smcont.signed_ that was used for debuggin PR #15347

This file made it into the master branch by mistake.

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

3 years agowrite-man-symlinks: Write relative symlinks not absolute
Tomas Mraz [Mon, 24 May 2021 13:09:50 +0000 (15:09 +0200)]
write-man-symlinks: Write relative symlinks not absolute

Fixes #15424

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

3 years agoAdd warning to key/param generating apps on potential delay due to missing entropy
Dr. David von Oheimb [Tue, 9 Jun 2020 08:21:58 +0000 (10:21 +0200)]
Add warning to key/param generating apps on potential delay due to missing entropy

This also introduces app_keygen() and app_paramgen() and cleans up err reporting.

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

3 years agofix Solaris OS detection in config.pm
Jan Lana [Mon, 24 May 2021 15:08:09 +0000 (17:08 +0200)]
fix Solaris OS detection in config.pm

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15439)

3 years agoDo not try to install image directories with no images
Tomas Mraz [Mon, 24 May 2021 17:57:28 +0000 (19:57 +0200)]
Do not try to install image directories with no images

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

3 years agoFIPS checksums CI: use merge checkout to compute the new checksums
Tomas Mraz [Mon, 24 May 2021 17:46:34 +0000 (19:46 +0200)]
FIPS checksums CI: use merge checkout to compute the new checksums

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

3 years agoWindows CI: properly drop test_fuzz* tests to speed up things
Tomas Mraz [Mon, 24 May 2021 13:47:26 +0000 (15:47 +0200)]
Windows CI: properly drop test_fuzz* tests to speed up things

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

3 years agoWindows CI: Add make install step on the shared 64 bit build
Tomas Mraz [Mon, 24 May 2021 10:16:00 +0000 (12:16 +0200)]
Windows CI: Add make install step on the shared 64 bit build

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

3 years agoregenerate FIPS checksums
Pauli [Sat, 22 May 2021 05:58:16 +0000 (15:58 +1000)]
regenerate FIPS checksums

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

3 years agochecksum: include header files in the checksumming output
Pauli [Thu, 20 May 2021 03:48:15 +0000 (13:48 +1000)]
checksum: include header files in the checksumming output

Fixes #15133

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

3 years agoFix 'openssl req' to be able to use provided keytypes
Richard Levitte [Fri, 21 May 2021 06:26:46 +0000 (08:26 +0200)]
Fix 'openssl req' to be able to use provided keytypes

'openssl req' was still using old APIs that could only deal with
EVP_PKEY_ASN1_METHOD based EVP_PKEYs.  Now modified to use more
generic functions that can handle all forms of EVP_PKEY, this app
should be ready for the future.

Fixes #15388

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

3 years agomac: add a getter for the MAC block size.
Pauli [Mon, 24 May 2021 04:22:17 +0000 (14:22 +1000)]
mac: add a getter for the MAC block size.

Fixes #12342

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

3 years agotest: add evp_tests for the MAC size and block size
Pauli [Mon, 24 May 2021 04:16:44 +0000 (14:16 +1000)]
test: add evp_tests for the MAC size and block size

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

3 years agodoc: document the MAC block size getter
Pauli [Mon, 24 May 2021 04:15:41 +0000 (14:15 +1000)]
doc: document the MAC block size getter

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

3 years agoAdd fipsinstall option to run self test KATS on module load
Shane Lontis [Wed, 5 May 2021 00:36:41 +0000 (10:36 +1000)]
Add fipsinstall option to run self test KATS on module load

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

3 years agoRemove engine_table_select_int
Rich Salz [Sat, 22 May 2021 19:57:07 +0000 (15:57 -0400)]
Remove engine_table_select_int

Add missing file/line args and call it engine_table_select

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15419)

3 years agoDOCS: Don't mention internal functions in public documentation
Richard Levitte [Sun, 23 May 2021 06:53:34 +0000 (08:53 +0200)]
DOCS: Don't mention internal functions in public documentation

This time noticed in OSSL_trace_set_channel.pod, and it turned out to
be easy to mention the public functions affected instead.

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

3 years agoFix warning in gf_serialize
Juergen Christ [Thu, 20 May 2021 11:27:43 +0000 (13:27 +0200)]
Fix warning in gf_serialize

Compiling under -Werror fails in gf_serialize:

crypto/ec/curve448/f_generic.c:21:27: error: argument 1 of type 'uint8_t[56]' {aka 'unsigned char[56]'} with mismatched bound [-Werror=array-parameter=]
   21 | void gf_serialize(uint8_t serial[SER_BYTES], const gf x, int with_hibit)
      |                   ~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from crypto/ec/curve448/f_generic.c:12:
crypto/ec/curve448/field.h:65:28: note: previously declared as 'uint8_t *' {aka 'unsigned char *'}
void gf_serialize(uint8_t *serial, const gf x, int with_highbit);
                  ~~~~~~~~~^~~~~~
Changed parameter to pointer to fix this warning.

Signed-off-by: Juergen Christ <jchrist@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/15376)

3 years agoTEST: Avoid using just 'example.com' - test_cmp_http
Richard Levitte [Fri, 21 May 2021 04:07:25 +0000 (06:07 +0200)]
TEST: Avoid using just 'example.com'  - test_cmp_http

We have reports that some are using example.com in their /etc/hosts
for testing purposes, so we can't necessarily assume that those will
fail.

We fix it by using "random" hosts in that domain.

Fixes #15395

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

3 years agoopenssl srp: make index.txt parsing error more verbose
Florian Mickler [Mon, 13 Jan 2020 01:06:49 +0000 (02:06 +0100)]
openssl srp: make index.txt parsing error more verbose

If index.txt exists but has some problems (like for example
consisting of a single \n character or number of fields wrong in one of the lines)
then openssl will just exit. This fixes it by printing an error when
load_index returns null.

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

3 years agoopenssl ocsp: make index.txt parsing error more verbose
Florian Mickler [Mon, 13 Jan 2020 01:05:22 +0000 (02:05 +0100)]
openssl ocsp: make index.txt parsing error more verbose

If index.txt exists but has some problems (like for example consisting of a single \n character in it,
or some field-number error in one of the lines) openssl will just exit without any error message.

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

3 years agoopenssl ca: make index.txt parsing error more verbose
Florian Mickler [Mon, 13 Jan 2020 00:44:24 +0000 (01:44 +0100)]
openssl ca: make index.txt parsing error more verbose

If index.txt exists but has some problems (like for example a single \n character in it) openssl will just exit without any error message.

Bug at least expirienced twice: https://superuser.com/questions/1327848/openssl-ca-fails-after-password-without-error-message

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

3 years agoDon't try the same decoder multiple times
Matt Caswell [Fri, 21 May 2021 11:21:32 +0000 (12:21 +0100)]
Don't try the same decoder multiple times

The function collect_decoder decides whether a given decoder should be
tried or not. It loops through all the names for matching keymgmts to
see if any are a match or not. If there is a match then the decoder gets
added. However, each keymgmt may have multiple aliases and a decoder was
being added for each one. For example DHX has 4 alias names, and therefore
4 instances of the DHX decoder were added and being tried.

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