openssl.git
2 years agoAdd ordinal numbers to the .num files
Matt Caswell [Thu, 20 May 2021 14:44:10 +0000 (15:44 +0100)]
Add ordinal numbers to the .num files

Now that our next release is expected to be a beta release, "make update"
wants to see ordinal numbers in the .num files.

Run make update to add them.

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

2 years agoapps/cms: Clean up order of options in help output and documentation
Dr. David von Oheimb [Sat, 3 Apr 2021 17:42:39 +0000 (19:42 +0200)]
apps/cms: Clean up order of options in help output and documentation

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

2 years agoAPPS: Allow duplicate entries in options list, marking them OPT_DUP
Dr. David von Oheimb [Mon, 12 Apr 2021 17:00:00 +0000 (19:00 +0200)]
APPS: Allow duplicate entries in options list, marking them OPT_DUP

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

2 years agoAPPS: Allow non-option parameters appear anywhere in list, marking them OPT_PARAM
Dr. David von Oheimb [Sat, 3 Apr 2021 14:03:21 +0000 (16:03 +0200)]
APPS: Allow non-option parameters appear anywhere in list, marking them OPT_PARAM

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

2 years agocheck-format.pl: Rename '*-cmt' options '*-comment'
Dr. David von Oheimb [Fri, 30 Apr 2021 05:30:33 +0000 (07:30 +0200)]
check-format.pl: Rename '*-cmt' options '*-comment'

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

2 years agocheck-format.pl: Rename 'one-letter' to 'single-letter', do not report 'l'
Dr. David von Oheimb [Thu, 29 Apr 2021 20:09:55 +0000 (22:09 +0200)]
check-format.pl: Rename 'one-letter' to 'single-letter', do not report 'l'

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

2 years agocheck-format.pl: Allow extra space before end-of-line comments unless -e|--eol-cmt...
Dr. David von Oheimb [Thu, 29 Apr 2021 20:02:41 +0000 (22:02 +0200)]
check-format.pl: Allow extra space before end-of-line comments unless -e|--eol-cmt given

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

2 years agocheck-format.pl: Replace 'SPC' and 'spc' by 'space' in reports and option names
Dr. David von Oheimb [Thu, 29 Apr 2021 17:43:16 +0000 (19:43 +0200)]
check-format.pl: Replace 'SPC' and 'spc' by 'space' in reports and option names

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

2 years agocheck-format.pl: Fix false positive on struct/union/enum in func return type
Dr. David von Oheimb [Thu, 29 Apr 2021 07:41:30 +0000 (09:41 +0200)]
check-format.pl: Fix false positive on struct/union/enum in func return type

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

2 years agocheck-format.pl: Fix false positive "no SPC before binary '*'" for '!*'
Dr. David von Oheimb [Thu, 29 Apr 2021 06:05:10 +0000 (08:05 +0200)]
check-format.pl: Fix false positive "no SPC before binary '*'" for '!*'

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

2 years agocheck-format.pl: Report needless intermediate multiple SPC only on -e or --extra-spc
Dr. David von Oheimb [Thu, 29 Apr 2021 05:57:36 +0000 (07:57 +0200)]
check-format.pl: Report needless intermediate multiple SPC only on -e or --extra-spc

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

2 years agocheck-format.pl: Add check for constant left of comparison operator
Dr. David von Oheimb [Wed, 28 Apr 2021 19:45:07 +0000 (21:45 +0200)]
check-format.pl: Add check for constant left of comparison operator

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

2 years agoVMS: Copy __DECC_INCLUDE_{PROLOGUE,EPILOGUE}.H to more places
Richard Levitte [Wed, 19 May 2021 07:43:13 +0000 (09:43 +0200)]
VMS: Copy __DECC_INCLUDE_{PROLOGUE,EPILOGUE}.H to more places

Every inclusion directory related to a library we build need these two
files.  That signals to any other module using anything from these
libraries what to expect in terms of case sensitivity as well as how
long symbol names are dealt with.

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

2 years agoutil/find-doc-nits: Improve helpstr pattern matching
Dr. David von Oheimb [Wed, 19 May 2021 07:38:20 +0000 (09:38 +0200)]
util/find-doc-nits: Improve helpstr pattern matching

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

2 years agoDOC: Fix nits found by new check on SYNOPSIS and OPTIONS consistency
Dr. David von Oheimb [Mon, 17 May 2021 09:04:40 +0000 (11:04 +0200)]
DOC: Fix nits found by new check on SYNOPSIS and OPTIONS consistency

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

2 years agofind-doc-nits: Check that man1 SYNOPSIS and OPTIONS contain same options
Dr. David von Oheimb [Sun, 16 May 2021 13:38:19 +0000 (15:38 +0200)]
find-doc-nits: Check that man1 SYNOPSIS and OPTIONS contain same options

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

2 years agofind-doc-nits: Add -m option allowing to select on which of man1,man3,man5,man7 to...
Dr. David von Oheimb [Sun, 16 May 2021 10:48:50 +0000 (12:48 +0200)]
find-doc-nits: Add -m option allowing to select on which of man1,man3,man5,man7 to focus on

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

2 years agofind-doc-nits: Minor improvements of help and diagnostic output
Dr. David von Oheimb [Sun, 16 May 2021 10:12:32 +0000 (12:12 +0200)]
find-doc-nits: Minor improvements of help and diagnostic output

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

2 years agoCMP test server: move apps/{,lib/}cmp_mock_srv.c and apps/{,include/}cmp_mock_srv.h
Dr. David von Oheimb [Wed, 19 May 2021 08:01:25 +0000 (10:01 +0200)]
CMP test server: move apps/{,lib/}cmp_mock_srv.c and apps/{,include/}cmp_mock_srv.h

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

2 years agoapps/cmp.c: Move CMP server code portion to separate function
Dr. David von Oheimb [Wed, 19 May 2021 07:54:11 +0000 (09:54 +0200)]
apps/cmp.c: Move CMP server code portion to separate function

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

2 years agoPrepare for 3.0 beta 1
Matt Caswell [Thu, 20 May 2021 13:30:39 +0000 (14:30 +0100)]
Prepare for 3.0 beta 1

Reviewed-by: Richard Levitte <levitte@openssl.org>
2 years agoPrepare for release of 3.0 alpha 17 openssl-3.0.0-alpha17
Matt Caswell [Thu, 20 May 2021 13:30:20 +0000 (14:30 +0100)]
Prepare for release of 3.0 alpha 17

Reviewed-by: Richard Levitte <levitte@openssl.org>
2 years agomake update
Matt Caswell [Thu, 20 May 2021 13:30:19 +0000 (14:30 +0100)]
make update

Reviewed-by: Richard Levitte <levitte@openssl.org>
2 years agoUpdate copyright year
Matt Caswell [Thu, 20 May 2021 13:22:33 +0000 (14:22 +0100)]
Update copyright year

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

2 years agoEVP: Modify EVP_PKEY_export() to handle legacy EVP_PKEYs
Richard Levitte [Sat, 15 May 2021 05:45:31 +0000 (07:45 +0200)]
EVP: Modify EVP_PKEY_export() to handle legacy EVP_PKEYs

We use a fake EVP_KEYMGMT import function with the newly modified
EVP_PKEY_ASN1_METHOD export_to function to pass the exported
OSSL_PARAM array directly to the EVP_PKEY_export() callback instead of
exporting to an actual provided key and then getting the OSSL_PARAM
array from there, just to throw away that key again.

Fixes #15290

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

2 years agoModify EVP_PKEY_ASN1_METHOD's export_to function to take an importer
Richard Levitte [Sat, 15 May 2021 05:43:06 +0000 (07:43 +0200)]
Modify EVP_PKEY_ASN1_METHOD's export_to function to take an importer

We previously took an EVP_KEYMGMT pointer, but now found it necessary
to use a different import function in some cases.  Since that's the
only thing we use from EVP_KEYMGMT, we might as well pass the import
function directly, allowing for some flexibility in how export_to is
used.

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

2 years agotest/evp_extra_test2.c: Try EVP_PKEY_export() with a legacy RSA key
Richard Levitte [Sat, 15 May 2021 06:14:49 +0000 (08:14 +0200)]
test/evp_extra_test2.c: Try EVP_PKEY_export() with a legacy RSA key

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

2 years agoRefer to the migration guide rather than the wiki in our announcements
Matt Caswell [Thu, 20 May 2021 09:47:47 +0000 (10:47 +0100)]
Refer to the migration guide rather than the wiki in our announcements

We now have a migration guide which should be the definitive source of
information for upgrading from a previous version of OpenSSL.

Fixes #15186

Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15373)

2 years agoCreate symlinks when installing man pages
Matt Caswell [Mon, 17 May 2021 16:40:56 +0000 (17:40 +0100)]
Create symlinks when installing man pages

In 1.1.1 when installing the man pages we created symlinks to the base
page for all functions described on the page. We need to continue doing
this.

Fixes #14846

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

2 years agoapp: add a -store_loaders option to list.
Pauli [Tue, 18 May 2021 08:45:31 +0000 (18:45 +1000)]
app: add a -store_loaders option to list.

Fixes #15307

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

2 years agoComplete 'no-sock' guards in apps/ocsp.c
Richard Levitte [Wed, 19 May 2021 04:07:30 +0000 (06:07 +0200)]
Complete 'no-sock' guards in apps/ocsp.c

Modern compilers complain about variable being set but otherwise not used.

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

2 years agoUpdate documentation for global properties mirroring
Matt Caswell [Wed, 12 May 2021 08:44:20 +0000 (09:44 +0100)]
Update documentation for global properties mirroring

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

2 years agoEnsure mirroring of properties works for subsequent updates
Matt Caswell [Tue, 11 May 2021 15:50:27 +0000 (16:50 +0100)]
Ensure mirroring of properties works for subsequent updates

If the global properties are updated after a provider with a child libctx
has already started we need to make sure those updates are mirrored in
that child.

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

2 years agoDocumentation updates for mirroring of global properties
Matt Caswell [Tue, 11 May 2021 15:49:45 +0000 (16:49 +0100)]
Documentation updates for mirroring of global properties

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

2 years agoTest that properties are mirrored as we expect
Matt Caswell [Tue, 11 May 2021 10:44:43 +0000 (11:44 +0100)]
Test that properties are mirrored as we expect

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

2 years agoAdd a callback for providers to know about global properties changes
Matt Caswell [Fri, 7 May 2021 16:59:47 +0000 (17:59 +0100)]
Add a callback for providers to know about global properties changes

Where a child libctx is in use it needs to know what the current global
properties are.

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

2 years agoAdd a test for converting a property list to a string
Matt Caswell [Fri, 7 May 2021 16:13:05 +0000 (17:13 +0100)]
Add a test for converting a property list to a string

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

2 years agoImplement the ability to convert a PROPERTY_LIST to a string
Matt Caswell [Fri, 7 May 2021 15:42:53 +0000 (16:42 +0100)]
Implement the ability to convert a PROPERTY_LIST to a string

We have the ability to parse a string into a PROPERTY_LIST already. Now
we have the ability to go the other way.

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

2 years agotodo: remove TODO(3.0) from the sources.
Pauli [Tue, 18 May 2021 10:27:35 +0000 (20:27 +1000)]
todo: remove TODO(3.0) from the sources.

Almost all were notes about wanting to deprecate CTRLs/utility functions.

Fixes #15325

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

2 years agoTest d2i_PrivateKey_bio() does not add errors to stack when decoding a X25519 key...
Shane Lontis [Mon, 17 May 2021 08:21:19 +0000 (18:21 +1000)]
Test d2i_PrivateKey_bio() does not add errors to stack when decoding a X25519 key sucessfully.

This confirms that another merge has addressed this issue.

Fixes #14996

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

2 years agoRevert "ARM assembly pack: translate bit-sliced AES implementation to AArch64"
Pauli [Thu, 20 May 2021 03:51:59 +0000 (13:51 +1000)]
Revert "ARM assembly pack: translate bit-sliced AES implementation to AArch64"

This reverts commit da51566b256e0c0536d5b986e676863b0526bf5e.

Fixes #15321

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

2 years agoAdd migration guide for 3.0
Shane Lontis [Sun, 28 Mar 2021 07:22:40 +0000 (17:22 +1000)]
Add migration guide for 3.0

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

2 years agoUpdate SSL_new_session_ticket() manual for triggered send
Benjamin Kaduk [Fri, 9 Apr 2021 01:41:46 +0000 (18:41 -0700)]
Update SSL_new_session_ticket() manual for triggered send

Document the recently added functionality.

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

2 years agoTest new SSL_new_session_ticket() functionality
Benjamin Kaduk [Fri, 9 Apr 2021 00:09:18 +0000 (17:09 -0700)]
Test new SSL_new_session_ticket() functionality

Now that we can become "in init" directly after the call, test the
various scenarios where explicit SSL_do_handshake() calls can come
into play.

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

2 years agoLet SSL_new_session_ticket() enter init immediately
Benjamin Kaduk [Fri, 2 Apr 2021 17:04:24 +0000 (10:04 -0700)]
Let SSL_new_session_ticket() enter init immediately

The initial implementation always deferred the generation of the
requested ticket(s) until the next application write, but this
is not a great fit for what it actually does, architecturally wise.
A request to send a session ticket means entering back into the
handshake state machine (or "in init", as it's known in the
implementation).  The state machine transition is not something that
only occurs at an application-data write, and in general could occur at
any time.  The only constraint is that we can't enter "init" while in
the middle of writing application data.  In such cases we will need to
wait until the next TLS record boundary to enter the state machine,
as is currently done.

However, there is no reason why we cannot enter the handshake state
machine immediately in SSL_new_session_ticket() if there are no
application writes pending.  Doing so provides a cleaner API surface to
the application, as then calling SSL_do_handshake() suffices to drive
the actual ticket generation.  In the previous state of affairs a dummy
zero-length SSL_write() would be needed to trigger the ticket
generation, which is a logical mismatch in the type of operation being
performed.

This commit should only change whether SSL_do_handshake() vs zero-length
SSL_write() is needed to immediately generate a ticket after the
SSL_new_session_ticket() call -- the default behavior is still to defer
the actual write until there is other application data to write, unless
the application requests otherwise.

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

2 years agodanetest.c: Improve code formatting
Dr. David von Oheimb [Thu, 4 Mar 2021 20:18:45 +0000 (21:18 +0100)]
danetest.c: Improve code formatting

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

2 years agoX509_STORE_CTX_get1_issuer(): Simplify code, reducing risk of failure
Dr. David von Oheimb [Thu, 4 Mar 2021 20:18:09 +0000 (21:18 +0100)]
X509_STORE_CTX_get1_issuer(): Simplify code, reducing risk of failure

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

2 years agoX509 build_chain(): Fix two potential memory leaks on issuer variable
Dr. David von Oheimb [Thu, 4 Mar 2021 20:17:31 +0000 (21:17 +0100)]
X509 build_chain(): Fix two potential memory leaks on issuer variable

This also removes an inadequate guard: if (num == ctx->num_untrusted)

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

2 years agoX509 build_chain(): Make the variable 'curr' local to the loop body
Dr. David von Oheimb [Thu, 4 Mar 2021 16:35:46 +0000 (17:35 +0100)]
X509 build_chain(): Make the variable 'curr' local to the loop body

This increases readability and maintainability.

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

2 years agoX509 build_chain(): Rename variable 'depth' to 'max_depth'
Dr. David von Oheimb [Thu, 4 Mar 2021 09:59:18 +0000 (10:59 +0100)]
X509 build_chain(): Rename variable 'depth' to 'max_depth'

This should increase readability and maintainability.

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

2 years agoX509 build_chain(): Restrict scope of 'self_signed' variable
Dr. David von Oheimb [Thu, 4 Mar 2021 09:56:27 +0000 (10:56 +0100)]
X509 build_chain(): Restrict scope of 'self_signed' variable

This should increase readability and maintainability.

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

2 years agoMake apps/progs.pl not look at apps/progs.c
Richard Levitte [Tue, 18 May 2021 16:22:57 +0000 (18:22 +0200)]
Make apps/progs.pl not look at apps/progs.c

apps/progs.pl will have apps/progs.c as output, and on some systems,
the output file of a program is locked against reading.
Unfortunately, apps/progs.c is also part of the sources that make up
apps/openssl, so it's necessary to mark that file in a way that makes
progs.pl skip over it.

Fortunately, this is easily done with a special attribute in
apps/build.info and a simple adaptation of apps/progs.pl.

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

2 years agobuild.info: Make it possible to set attributes on SOURCE / SHARED_SOURCE stmts
Richard Levitte [Tue, 18 May 2021 16:21:51 +0000 (18:21 +0200)]
build.info: Make it possible to set attributes on SOURCE / SHARED_SOURCE stmts

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

2 years agospeed: Document the deficiencies of the command
Tomas Mraz [Tue, 18 May 2021 13:23:04 +0000 (15:23 +0200)]
speed: Document the deficiencies of the command

Fixes #7032

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

2 years ago80-test_cms.t: Disable new tests for binary input in Windows
Dr. David von Oheimb [Wed, 19 May 2021 13:03:15 +0000 (15:03 +0200)]
80-test_cms.t: Disable new tests for binary input in Windows

This is a quick workaround for #15347.

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

2 years agoapps/list: Remove obsolete -missing-help option
Dr. David von Oheimb [Tue, 18 May 2021 09:30:01 +0000 (11:30 +0200)]
apps/list: Remove obsolete -missing-help option

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

2 years agofind-doc-nits -c: Fix handling in case expected helpstr is not found
Dr. David von Oheimb [Tue, 18 May 2021 09:23:13 +0000 (11:23 +0200)]
find-doc-nits -c: Fix handling in case expected helpstr is not found

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

2 years agounix-Makefile.tmpl and ci.yml: Merge cmd-nits into doc-nits
Dr. David von Oheimb [Tue, 18 May 2021 09:18:26 +0000 (11:18 +0200)]
unix-Makefile.tmpl and ci.yml: Merge cmd-nits into doc-nits

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

2 years agoAdd bounds checking to length returned by wcslen in wide_to_asc conversion to resolve...
Jake Cooke [Tue, 18 May 2021 08:50:54 +0000 (18:20 +0930)]
Add bounds checking to length returned by wcslen in wide_to_asc conversion to resolve integer overflow flaw

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

2 years agoMake sure to include "crypto/ctype.h" to get ossl_isdigit()
Richard Levitte [Mon, 17 May 2021 20:58:27 +0000 (22:58 +0200)]
Make sure to include "crypto/ctype.h" to get ossl_isdigit()

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

2 years agoMake sure to include "internal/numbers.h" to get SIZE_MAX
Richard Levitte [Mon, 17 May 2021 19:38:51 +0000 (21:38 +0200)]
Make sure to include "internal/numbers.h" to get SIZE_MAX

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

2 years agoFix crypto/bio/b_sock.c for VMS
Richard Levitte [Mon, 17 May 2021 18:20:35 +0000 (20:20 +0200)]
Fix crypto/bio/b_sock.c for VMS

Current VMS C-RTL does not have <sys/select.h>.  <sys/socket.h> is
a good enough replacement to get fd_set.

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

2 years agoFix include/internal/sockets.h for VMS
Richard Levitte [Mon, 17 May 2021 13:16:58 +0000 (15:16 +0200)]
Fix include/internal/sockets.h for VMS

It needs to include <openssl/opensslconf.h>

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

2 years agoFix include/openssl/e_os2.h for VMS
Richard Levitte [Mon, 17 May 2021 13:15:44 +0000 (15:15 +0200)]
Fix include/openssl/e_os2.h for VMS

It would try to define OPENSSL_SYS_VMS if that macro is defined.
That's just not right.

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

2 years agoTweak apps/build.info for VMS
Richard Levitte [Tue, 18 May 2021 12:12:51 +0000 (14:12 +0200)]
Tweak apps/build.info for VMS

A bit of quoting is all that's needed, and it doesn't hurt other platforms.

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

2 years agoVMS need to build DSO with name shortening, because of provider code
Richard Levitte [Mon, 17 May 2021 21:40:32 +0000 (23:40 +0200)]
VMS need to build DSO with name shortening, because of provider code

We have pretty long symbol names, so they need to be shortened to fit
in the linker's 31 character limit on symbols.

Symbol name shortening with the VMS C compiler works in such a way
that a symbol name that's longer than 31 characters is mangled into
its first original 22 characters, followed by a dollar sign and the
32-bit CRC of the original symbol name in hexadecimal.

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

2 years agoConfigurations/descrip.mms.tmpl: Add another inclusion hack
Richard Levitte [Mon, 17 May 2021 19:40:24 +0000 (21:40 +0200)]
Configurations/descrip.mms.tmpl: Add another inclusion hack

crypto/ec/curve448/ has a series of inclusions that throws VMS C
off, so we compensate for it the same way as we have done before.

Fixes #14247

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

2 years agoConfigurations/descrip.mms.tmpl: Change strategy for include directories
Richard Levitte [Mon, 17 May 2021 14:56:28 +0000 (16:56 +0200)]
Configurations/descrip.mms.tmpl: Change strategy for include directories

Instead of what we used to do, put all include directories in a number
of DCL variables and generate the /INCLUDE qualifier value on the
command line, we instead generate VMS C specific header files with
include directory pragmas, to be used with the VMS C's /FIRST_INCLUDE
qualifier.  This also shortens the command line, the size of which is
limited.

VMS C needs to have those include directories specified in a Unix
form, to be able to safely merge #include paths with them when
searching through them.

Fixes #14247

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

2 years agoThrown away all special descrip.mms variables
Richard Levitte [Mon, 17 May 2021 16:21:45 +0000 (18:21 +0200)]
Thrown away all special descrip.mms variables

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

2 years agoFix configdata.pm.in's "use lib" for VMS
Richard Levitte [Mon, 17 May 2021 15:20:58 +0000 (17:20 +0200)]
Fix configdata.pm.in's "use lib" for VMS

`use lib` needs Unix formatted paths.  For VMS, it means that we must
make sure to convert paths, and we may as well generalise it.

In this case, we need to adapt the functions sourcedir() and sourcefile()

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

2 years agoFix The VMS variant of platform->staticname()
Richard Levitte [Mon, 17 May 2021 13:13:41 +0000 (15:13 +0200)]
Fix The VMS variant of platform->staticname()

It was looking in the wrong place in %unified_info to determine if the
library would be installed or not.

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

2 years agoFix OpenSSL::fallback for VMS
Richard Levitte [Mon, 17 May 2021 13:04:42 +0000 (15:04 +0200)]
Fix OpenSSL::fallback for VMS

VMS unpackers will typically convert any period ('.') in directory
names to underscores, since the period is a path separator on VMS,
just like '/' is a path separator on Unix.  Our fallback mechanism
needs to account for that.

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

2 years agoConfigurations/descrip.mms.tmpl: Diverse updates
Richard Levitte [Mon, 17 May 2021 12:53:48 +0000 (14:53 +0200)]
Configurations/descrip.mms.tmpl: Diverse updates

Get it back in sync with the other templates, and correct a few syntax
errors that have crept in.

Fixes #14247

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

2 years agoTurn off VMS C's info about unsupported pragmas
Richard Levitte [Mon, 17 May 2021 12:44:01 +0000 (14:44 +0200)]
Turn off VMS C's info about unsupported pragmas

VMS C can be notoriously informative about certain things, such as
unsupported pragmas.  The case here is that it doesn't support
"#pragma once", and since we use those quite a lot, that's a lot of
repeated information.  We simply turn that warning off.

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

2 years agoRework how a build file (Makefile, ...) is produced
Richard Levitte [Mon, 17 May 2021 12:33:16 +0000 (14:33 +0200)]
Rework how a build file (Makefile, ...) is produced

The memory footprint of how we produced the Makefile was quite...
important, because we have all the processing in one perl snippet, and
generate the details of the build file by appending to the "magic"
variable $OUT.  The result is that this variable gets to hold the
majority of the build file text, and depending on memory reallocation
strategies for strings, the heap may hold multiple (possibly not just
a few) copies of this string, almost all of them "freed" but still
taking up space.  This has resulted in memory exhaustion.

We therefore change strategy, and generate the build file in two
phases, where the first phase generates the full template using small
perl snippets for each detail, and the second phase processes this
template.  This is much kinder to process memory.

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

2 years agoMove some OpenSSL perl utility functions to OpenSSL::Util
Richard Levitte [Mon, 17 May 2021 12:25:12 +0000 (14:25 +0200)]
Move some OpenSSL perl utility functions to OpenSSL::Util

quotify1() and quotify_l() were in OpenSSL::Template, but should be
more widely usable.

configdata.pm.in's out_item() is also more widely useful and is
therefore moved to OpenSSL::Util as well, and renamed to dump_data().

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

2 years agoCMS_get0_SignerInfos(): Prevent spurious error on cms_get0_signed() failure
Dr. David von Oheimb [Mon, 3 May 2021 19:58:02 +0000 (21:58 +0200)]
CMS_get0_SignerInfos(): Prevent spurious error on cms_get0_signed() failure

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

2 years agoapps/cms.c: Simplify make_receipt_request() and load_content_info(()
Dr. David von Oheimb [Mon, 28 Sep 2020 06:29:59 +0000 (08:29 +0200)]
apps/cms.c: Simplify make_receipt_request() and load_content_info(()

Also improve adherence to code formatting rules.

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

2 years agoapps/cms.c: Make -sign and -verify handle binary input
Dr. David von Oheimb [Wed, 23 Sep 2020 08:19:50 +0000 (10:19 +0200)]
apps/cms.c: Make -sign and -verify handle binary input

Fixes #8940

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

2 years agoMake SMIME_read_CMS_ex() and SMIME_read_ASN1_ex() support binary input
Dr. David von Oheimb [Wed, 23 Sep 2020 08:17:58 +0000 (10:17 +0200)]
Make SMIME_read_CMS_ex() and SMIME_read_ASN1_ex() support binary input

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

2 years agobio_lib: Add BIO_get_line, correct doc of BIO_gets
Dr. David von Oheimb [Wed, 23 Sep 2020 08:11:53 +0000 (10:11 +0200)]
bio_lib: Add BIO_get_line, correct doc of BIO_gets

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

2 years agofips: remove unnecessary commas to get CI working
Pauli [Wed, 19 May 2021 03:15:14 +0000 (13:15 +1000)]
fips: remove unnecessary commas to get CI working

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

2 years agoAvoid failing label removal if label is not there
Tomas Mraz [Mon, 17 May 2021 17:00:13 +0000 (19:00 +0200)]
Avoid failing label removal if label is not there

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

2 years agoSeparate FIPS checksum and labelling into different workflows
Tomas Mraz [Mon, 17 May 2021 10:20:54 +0000 (12:20 +0200)]
Separate FIPS checksum and labelling into different workflows

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

2 years agoRemove "openssl ifdef" handling
Rich Salz [Mon, 17 May 2021 16:03:19 +0000 (12:03 -0400)]
Remove "openssl ifdef" handling

Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15311)

2 years agoRemove '=for openssl ifdef'
Rich Salz [Mon, 17 May 2021 15:46:58 +0000 (11:46 -0400)]
Remove '=for openssl ifdef'

No longer needed after rewrite of cmd-nits

Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15311)

2 years agoBetter error messages if there are no encoders/decoders/store loaders
Matt Caswell [Sat, 15 May 2021 09:27:09 +0000 (10:27 +0100)]
Better error messages if there are no encoders/decoders/store loaders

If you don't have the base or default providers loaded and therefore there
are no encoders/decoders or store loaders then the error messages can be
cryptic. We provide better hints about how to fix the problem.

Fixes #13798

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

2 years agoMove ossl_sleep() to e_os.h and use it in apps
Dr. David von Oheimb [Mon, 17 May 2021 11:24:20 +0000 (13:24 +0200)]
Move ossl_sleep() to e_os.h and use it in apps

Fixes #15304

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

2 years agoDOC: Fix nits found by improved find-doc-nits -c
Dr. David von Oheimb [Mon, 17 May 2021 09:38:01 +0000 (11:38 +0200)]
DOC: Fix nits found by improved find-doc-nits -c

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

2 years agoci.yml: Add cmd-nits to the doc-nits CI run
Dr. David von Oheimb [Mon, 17 May 2021 06:48:55 +0000 (08:48 +0200)]
ci.yml: Add cmd-nits to the doc-nits CI run

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

2 years agoopenssl-dsa.pod.in: Fix glitch: pvk-string -> pvk-strong
Dr. David von Oheimb [Mon, 17 May 2021 06:31:50 +0000 (08:31 +0200)]
openssl-dsa.pod.in: Fix glitch: pvk-string -> pvk-strong

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

2 years agofind-doc-nits: Make -c option (cmd-nits) independent of app build and execution
Dr. David von Oheimb [Sun, 16 May 2021 17:03:50 +0000 (19:03 +0200)]
find-doc-nits: Make -c option (cmd-nits) independent of app build and execution

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

2 years agoapps/s_server: Add -proxy and -no_proxy options
Dr. David von Oheimb [Wed, 12 May 2021 12:15:31 +0000 (14:15 +0200)]
apps/s_server: Add -proxy and -no_proxy options

Strongly related to feature request #6965

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

2 years agoapps/ocsp: Add -proxy and -no_proxy options
Dr. David von Oheimb [Wed, 12 May 2021 11:58:52 +0000 (13:58 +0200)]
apps/ocsp: Add -proxy and -no_proxy options

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

2 years agoAdd -quiet flag to genpkey
Rich Salz [Wed, 12 May 2021 15:45:37 +0000 (11:45 -0400)]
Add -quiet flag to genpkey

Picking up late suggestions to PR #6909 by Philip Prindeville
<philipp@redfish-solutions.com>.

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

2 years agoapps: use else if when checking for headers in the http server code
Pauli [Mon, 17 May 2021 08:16:28 +0000 (18:16 +1000)]
apps: use else if when checking for headers in the http server code

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

2 years agoseal: make EVP_SealInit() library context aware
Pauli [Mon, 17 May 2021 02:18:53 +0000 (12:18 +1000)]
seal: make EVP_SealInit() library context aware

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

2 years agohmac: fix coverity 1484888 negative integer to size_t conversion
Pauli [Sun, 16 May 2021 23:45:33 +0000 (09:45 +1000)]
hmac: fix coverity 1484888 negative integer to size_t conversion

More theoretical than real but easy and cheap to check for.

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

2 years agokeymgmt: fix coverity 1484886 unchecked return value
Pauli [Sun, 16 May 2021 23:42:42 +0000 (09:42 +1000)]
keymgmt: fix coverity 1484886 unchecked return value

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

2 years agoevp: fix coverity 1484885 negative integer to size_t conversion
Pauli [Sun, 16 May 2021 23:38:29 +0000 (09:38 +1000)]
evp: fix coverity 1484885 negative integer to size_t conversion

Theoretically, the IV length can come back negative which would explode.

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