Build failed: openssl master.29374
Build openssl master.29374 failed Commit 7534f490ce by Shane Lontis on 11/7/2019 2:26 AM: squash! Add Documentation Configure your notification preferences
Build failed: openssl master.29373
Build openssl master.29373 failed Commit 518a809582 by Shane Lontis on 11/7/2019 1:10 AM: fixup! Add FIPS Self test kats for digests Configure your notification preferences
Still Failing: openssl/openssl#29943 (OpenSSL_1_1_1-stable - 53a5e9b)
Build Update for openssl/openssl - Build: #29943 Status: Still Failing Duration: 21 mins and 55 secs Commit: 53a5e9b (OpenSSL_1_1_1-stable) Author: Richard Levitte Message: Configure: Make --strict-warnings meaningful with MSVC cl We also add this to our x86_64 builds on appveyor (cherry picked from commit b4a7b4ec4acc712b1f22a83966ac986b510f25d8) Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/10365) View the changeset: https://github.com/openssl/openssl/compare/f6483fc2db36...53a5e9b561d0 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/608469893?utm_medium=notification_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220_medium=notification_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.
[openssl] OpenSSL_1_1_1-stable update
The branch OpenSSL_1_1_1-stable has been updated via 53a5e9b561d0cc1c1c9a7ab9b0dbc91dd5e3623a (commit) from f6483fc2db36fbfd622b6aff19d8ebfaa274c996 (commit) - Log - commit 53a5e9b561d0cc1c1c9a7ab9b0dbc91dd5e3623a Author: Richard Levitte Date: Tue Oct 29 13:37:54 2019 +0100 Configure: Make --strict-warnings meaningful with MSVC cl We also add this to our x86_64 builds on appveyor (cherry picked from commit b4a7b4ec4acc712b1f22a83966ac986b510f25d8) Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/10365) --- Summary of changes: Configurations/10-main.conf | 1 - Configure | 23 ++- appveyor.yml| 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 97be7b95a9..fc04f8e661 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1313,7 +1313,6 @@ my %targets = ( "VC-WIN32" => { inherit_from => [ "VC-noCE-common", asm("x86_asm"), sub { $disabled{shared} ? () : "uplink_common" } ], -CFLAGS => add("/WX"), AS => sub { vc_win32_info()->{AS} }, ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, asoutflag=> sub { vc_win32_info()->{asoutflag} }, diff --git a/Configure b/Configure index 59313117f0..a6aae00fd4 100755 --- a/Configure +++ b/Configure @@ -160,6 +160,10 @@ my @clang_devteam_warn = qw( -Wmissing-variable-declarations ); +my @cl_devteam_warn = qw( +/WX +); + # This adds backtrace information to the memory leak info. Is only used # when crypto-mdebug-backtrace is enabled. my $memleak_devteam_backtrace = "-rdynamic"; @@ -1523,11 +1527,20 @@ if ($strict_warnings) my $wopt; my $gccver = $predefined_C{__GNUC__} // -1; -warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike" -unless $gccver >= 4; -push @strict_warnings_collection, @gcc_devteam_warn; -push @strict_warnings_collection, @clang_devteam_warn -if (defined($predefined_C{__clang__})); +if ($gccver >= 4) +{ +push @strict_warnings_collection, @gcc_devteam_warn; +push @strict_warnings_collection, @clang_devteam_warn +if (defined($predefined_C{__clang__})); +} +elsif ($config{target} =~ /^VC-/) +{ +push @strict_warnings_collection, @cl_devteam_warn; +} +else +{ +warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike, or MSVC" +} } if (grep { $_ eq '-static' } @{$config{LDFLAGS}}) { diff --git a/appveyor.yml b/appveyor.yml index f17fea5ce2..84099e1f13 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -16,7 +16,7 @@ before_build: - ps: >- If ($env:Platform -Match "x86") { $env:VCVARS_PLATFORM="x86" -$env:TARGET="VC-WIN32 no-asm" +$env:TARGET="VC-WIN32 no-asm --strict-warnings" } Else { $env:VCVARS_PLATFORM="amd64" $env:TARGET="VC-WIN64A-masm"
Still FAILED build of OpenSSL branch master with options -d --strict-warnings enable-trace
Platform and configuration command: $ uname -a Linux run 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings enable-trace Commit log since last time: 6af1b11848 test/recipes/02-test_ordinals.t: Take '?' and '?+' into account b6fc6620cf util/mknum.pl: output stats on unassigned symbols 8635730333 util/mknum.pl: Call OpenSSL::Ordinals::renumber() for real releases e4f2d539f6 util/mkdef.pl: writer_VMS(): handle symbols with no assigned number a4aab78719 OpenSSL::Ordinals: when validating, collect statistics on unassigned syms 81ddd952ea OpenSSL::Ordinals: add a renumber() function, to assign unassigned symbols 3da95f3c51 OpenSSL::Ordinals: Handle symbols with unassigned ordinal numbers 5d61758ee7 util/*.num: deassign ordinal numbers from new symbols c9c4a356b7 Minimal adaptation of tests back to how it was before 0e52100400 EVP: Make the SIGNATURE implementation leaner c0e0984f12 EVP: Make the KEYEXCH implementation leaner 677c4a012a s390x assembly pack: process x25519 and x448 non-canonical values 6376c229c4 Add self-generated test vector for x448 non-canonical values 58738b1cad s390x assembly pack: fix x448 handling of non-canonical values 826112295a s390x assembly pack: perlasm module update aec9667bd1 Don't assume the type we read was the type we expected 45b244620a Don't leak memory in the event of a failure in i2v_GENERAL_NAMES dcea51afe9 Fix no-sm2 issue Build log ended with (last 100 lines): OPENSSL_MSTR(OPENSSL_LINE) ":" OSSL_CMP_LOG_PREFIX ^ ../openssl/test/cmp_ctx_test.c:269:9: note: to match this '(' ../openssl/include/openssl/cmp_util.h:37:31: note: expanded from macro 'OSSL_CMP_err' # define OSSL_CMP_err(msg) OSSL_CMP_log(ERROR, msg) ^ ../openssl/include/openssl/cmp_util.h:42:22: note: expanded from macro 'OSSL_CMP_log' OSSL_TRACEV(CMP, (trc_out, OSSL_CMP_LOG_START#level ": %s\n", \ ^ ../openssl/test/cmp_ctx_test.c:270:9: error: expected ')' OSSL_CMP_warn("this should be printed as CMP warning message"); ^ ../openssl/include/openssl/cmp_util.h:38:31: note: expanded from macro 'OSSL_CMP_warn' # define OSSL_CMP_warn(msg) OSSL_CMP_log(WARN, msg) ^ ../openssl/include/openssl/cmp_util.h:42:32: note: expanded from macro 'OSSL_CMP_log' OSSL_TRACEV(CMP, (trc_out, OSSL_CMP_LOG_START#level ": %s\n", \ ^ ../openssl/include/openssl/cmp_util.h:35:30: note: expanded from macro 'OSSL_CMP_LOG_START' OPENSSL_MSTR(OPENSSL_LINE) ":" OSSL_CMP_LOG_PREFIX ^ ../openssl/test/cmp_ctx_test.c:270:9: note: to match this '(' ../openssl/include/openssl/cmp_util.h:38:31: note: expanded from macro 'OSSL_CMP_warn' # define OSSL_CMP_warn(msg) OSSL_CMP_log(WARN, msg) ^ ../openssl/include/openssl/cmp_util.h:42:22: note: expanded from macro 'OSSL_CMP_log' OSSL_TRACEV(CMP, (trc_out, OSSL_CMP_LOG_START#level ": %s\n", \ ^ ../openssl/test/cmp_ctx_test.c:271:9: error: expected ')' OSSL_CMP_debug("this should not be printed"); ^ ../openssl/include/openssl/cmp_util.h:40:31: note: expanded from macro 'OSSL_CMP_debug' # define OSSL_CMP_debug(msg) OSSL_CMP_log(DEBUG, msg) ^ ../openssl/include/openssl/cmp_util.h:42:32: note: expanded from macro 'OSSL_CMP_log' OSSL_TRACEV(CMP, (trc_out, OSSL_CMP_LOG_START#level ": %s\n", \ ^ ../openssl/include/openssl/cmp_util.h:35:30: note: expanded from macro 'OSSL_CMP_LOG_START' OPENSSL_MSTR(OPENSSL_LINE) ":" OSSL_CMP_LOG_PREFIX ^ ../openssl/test/cmp_ctx_test.c:271:9: note: to match this '(' ../openssl/include/openssl/cmp_util.h:40:31: note: expanded from macro 'OSSL_CMP_debug' # define OSSL_CMP_debug(msg) OSSL_CMP_log(DEBUG, msg) ^ ../openssl/include/openssl/cmp_util.h:42:22: note: expanded from macro 'OSSL_CMP_log' OSSL_TRACEV(CMP, (trc_out, OSSL_CMP_LOG_START#level ": %s\n", \ ^ ../openssl/test/cmp_ctx_test.c:273:9: error: expected ')' OSSL_CMP_debug("this should be printed as CMP debug message"); ^ ../openssl/include/openssl/cmp_util.h:40:31: note: expanded from macro 'OSSL_CMP_debug' # define OSSL_CMP_debug(msg) OSSL_CMP_log(DEBUG, msg) ^ ../openssl/include/openssl/cmp_util.h:42:32: note: expanded from macro 'OSSL_CMP_log' OSSL_TRACEV(CMP, (trc_out, OSSL_CMP_LOG_START#level ": %s\n", \ ^ ../openssl/include/openssl/cmp_util.h:35:30: note: expanded from macro 'OSSL_CMP_LOG_START' OPENSSL_MSTR(OPENSSL_LINE) ":" OSSL_CMP_LOG_PREFIX ^
SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-sm3
Platform and configuration command: $ uname -a Linux run 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-sm3 Commit log since last time: 6af1b11848 test/recipes/02-test_ordinals.t: Take '?' and '?+' into account b6fc6620cf util/mknum.pl: output stats on unassigned symbols 8635730333 util/mknum.pl: Call OpenSSL::Ordinals::renumber() for real releases e4f2d539f6 util/mkdef.pl: writer_VMS(): handle symbols with no assigned number a4aab78719 OpenSSL::Ordinals: when validating, collect statistics on unassigned syms 81ddd952ea OpenSSL::Ordinals: add a renumber() function, to assign unassigned symbols 3da95f3c51 OpenSSL::Ordinals: Handle symbols with unassigned ordinal numbers 5d61758ee7 util/*.num: deassign ordinal numbers from new symbols c9c4a356b7 Minimal adaptation of tests back to how it was before 0e52100400 EVP: Make the SIGNATURE implementation leaner c0e0984f12 EVP: Make the KEYEXCH implementation leaner 677c4a012a s390x assembly pack: process x25519 and x448 non-canonical values 6376c229c4 Add self-generated test vector for x448 non-canonical values 58738b1cad s390x assembly pack: fix x448 handling of non-canonical values 826112295a s390x assembly pack: perlasm module update aec9667bd1 Don't assume the type we read was the type we expected 45b244620a Don't leak memory in the event of a failure in i2v_GENERAL_NAMES dcea51afe9 Fix no-sm2 issue
SUCCESSFUL build of OpenSSL branch master with options -d --strict-warnings no-sm2
Platform and configuration command: $ uname -a Linux run 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ CC=clang ../openssl/config -d --strict-warnings no-sm2 Commit log since last time: 6af1b11848 test/recipes/02-test_ordinals.t: Take '?' and '?+' into account b6fc6620cf util/mknum.pl: output stats on unassigned symbols 8635730333 util/mknum.pl: Call OpenSSL::Ordinals::renumber() for real releases e4f2d539f6 util/mkdef.pl: writer_VMS(): handle symbols with no assigned number a4aab78719 OpenSSL::Ordinals: when validating, collect statistics on unassigned syms 81ddd952ea OpenSSL::Ordinals: add a renumber() function, to assign unassigned symbols 3da95f3c51 OpenSSL::Ordinals: Handle symbols with unassigned ordinal numbers 5d61758ee7 util/*.num: deassign ordinal numbers from new symbols c9c4a356b7 Minimal adaptation of tests back to how it was before 0e52100400 EVP: Make the SIGNATURE implementation leaner c0e0984f12 EVP: Make the KEYEXCH implementation leaner 677c4a012a s390x assembly pack: process x25519 and x448 non-canonical values 6376c229c4 Add self-generated test vector for x448 non-canonical values 58738b1cad s390x assembly pack: fix x448 handling of non-canonical values 826112295a s390x assembly pack: perlasm module update aec9667bd1 Don't assume the type we read was the type we expected 45b244620a Don't leak memory in the event of a failure in i2v_GENERAL_NAMES dcea51afe9 Fix no-sm2 issue
Still Failing: openssl/openssl#29936 (master - ccd9e70)
Build Update for openssl/openssl - Build: #29936 Status: Still Failing Duration: 31 mins and 6 secs Commit: ccd9e70 (master) Author: Rich Salz Message: Strip much out of ssl.pod Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/10208) View the changeset: https://github.com/openssl/openssl/compare/eee5f32f3776...ccd9e70d4efe View the full build log and details: https://travis-ci.org/openssl/openssl/builds/608347137?utm_medium=notification_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220_medium=notification_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.
[openssl] master update
The branch master has been updated via ccd9e70d4efeb2c7a258ba0a567b898174286b13 (commit) via 98ca37e4aa2a79b59a3378faee4ff3d6e05188cd (commit) via 16f8a618305ac1a806afdb38abf6cc55ee07c457 (commit) from eee5f32f37764ffb94e7989536e7022c9a800986 (commit) - Log - commit ccd9e70d4efeb2c7a258ba0a567b898174286b13 Author: Rich Salz Date: Fri Nov 1 12:29:34 2019 -0400 Strip much out of ssl.pod Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/10208) commit 98ca37e4aa2a79b59a3378faee4ff3d6e05188cd Author: Rich Salz Date: Fri Nov 1 12:27:29 2019 -0400 Add L to all SSL pages Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/10208) commit 16f8a618305ac1a806afdb38abf6cc55ee07c457 Author: Rich Salz Date: Thu Oct 17 16:06:15 2019 -0400 Remove outdated info from man7/ssl There were two paragraphs of useful information about SSL_dup, so copy that to the right manpage. Reviewed-by: Matt Caswell Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/10208) --- Summary of changes: doc/man3/SSL_CONF_CTX_new.pod | 1 + doc/man3/SSL_CONF_CTX_set1_prefix.pod | 1 + doc/man3/SSL_CONF_CTX_set_flags.pod| 1 + doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod | 1 + doc/man3/SSL_CONF_cmd.pod | 1 + doc/man3/SSL_CONF_cmd_argv.pod | 1 + doc/man3/SSL_CTX_add1_chain_cert.pod | 1 + doc/man3/SSL_CTX_config.pod| 1 + doc/man3/SSL_CTX_dane_enable.pod | 1 + doc/man3/SSL_CTX_get0_param.pod| 1 + doc/man3/SSL_CTX_set1_curves.pod | 1 + doc/man3/SSL_CTX_set1_verify_cert_store.pod| 1 + doc/man3/SSL_CTX_set_min_proto_version.pod | 1 + doc/man3/SSL_CTX_set_num_tickets.pod | 4 + doc/man3/SSL_CTX_set_psk_client_callback.pod | 1 + doc/man3/SSL_CTX_set_security_level.pod| 4 + doc/man3/SSL_CTX_set_split_send_fragment.pod | 1 + doc/man3/SSL_CTX_set_srp_password.pod | 1 + .../SSL_CTX_set_stateless_cookie_generate_cb.pod | 1 + doc/man3/SSL_CTX_set_tlsext_status_cb.pod | 4 + doc/man3/SSL_CTX_set_tlsext_use_srtp.pod | 1 + doc/man3/SSL_CTX_use_psk_identity_hint.pod | 1 + doc/man3/SSL_CTX_use_serverinfo.pod| 4 + doc/man3/SSL_alloc_buffers.pod | 1 + doc/man3/SSL_export_keying_material.pod| 4 + doc/man3/SSL_extension_supported.pod | 4 + doc/man3/SSL_get_all_async_fds.pod | 1 + doc/man3/SSL_get_psk_identity.pod | 4 + doc/man3/SSL_new.pod | 13 + doc/man3/SSL_set1_host.pod | 1 + doc/man3/SSL_set_async_callback.pod| 4 + doc/man7/ssl.pod | 789 + 32 files changed, 78 insertions(+), 778 deletions(-) diff --git a/doc/man3/SSL_CONF_CTX_new.pod b/doc/man3/SSL_CONF_CTX_new.pod index e3f4eedd00..be5766189f 100644 --- a/doc/man3/SSL_CONF_CTX_new.pod +++ b/doc/man3/SSL_CONF_CTX_new.pod @@ -28,6 +28,7 @@ SSL_CONF_CTX_free() does not return a value. =head1 SEE ALSO +L, L, L, L, diff --git a/doc/man3/SSL_CONF_CTX_set1_prefix.pod b/doc/man3/SSL_CONF_CTX_set1_prefix.pod index a4bda53724..a5d5454ef0 100644 --- a/doc/man3/SSL_CONF_CTX_set1_prefix.pod +++ b/doc/man3/SSL_CONF_CTX_set1_prefix.pod @@ -36,6 +36,7 @@ SSL_CONF_CTX_set1_prefix() returns 1 for success and 0 for failure. =head1 SEE ALSO +L, L, L, L, diff --git a/doc/man3/SSL_CONF_CTX_set_flags.pod b/doc/man3/SSL_CONF_CTX_set_flags.pod index 56c01ed2c4..78c3ce7585 100644 --- a/doc/man3/SSL_CONF_CTX_set_flags.pod +++ b/doc/man3/SSL_CONF_CTX_set_flags.pod @@ -62,6 +62,7 @@ value after setting or clearing flags. =head1 SEE ALSO +L, L, L, L, diff --git a/doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod b/doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod index a1e778032c..06cc1e4ec5 100644 --- a/doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod +++ b/doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod @@ -34,6 +34,7 @@ SSL_CONF_CTX_set_ssl_ctx() and SSL_CTX_set_ssl() do not return a value. =head1 SEE ALSO +L, L, L, L, diff --git a/doc/man3/SSL_CONF_cmd.pod b/doc/man3/SSL_CONF_cmd.pod index 4806730416..7fba76cf5c 100644 --- a/doc/man3/SSL_CONF_cmd.pod +++ b/doc/man3/SSL_CONF_cmd.pod @@ -671,6 +671,7 @@ Set supported curves to P-256, P-384: =head1 SEE ALSO +L, L, L, L, diff --git a/doc/man3/SSL_CONF_cmd_argv.pod b/doc/man3/SSL_CONF_cmd_argv.pod index 6f8879a8cf..7e694e1aab
Still Failing: openssl/openssl#29925 (master - eee5f32)
Build Update for openssl/openssl - Build: #29925 Status: Still Failing Duration: 31 mins and 37 secs Commit: eee5f32 (master) Author: Matt Caswell Message: Test EVP_get_[digest|cipher]byname() use the namemap Following on from the previous commit, we test that if an algorithm has a provider supplied alias in the namemap then EVP_get_digestbyname() and EVP_get_cipherbyname() can still find it. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/10324) View the changeset: https://github.com/openssl/openssl/compare/6af1b11848f0...eee5f32f3776 View the full build log and details: https://travis-ci.org/openssl/openssl/builds/608111321?utm_medium=notification_source=email -- You can unsubscribe from build emails from the openssl/openssl repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=5849220_medium=notification_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.
[openssl] master update
The branch master has been updated via eee5f32f37764ffb94e7989536e7022c9a800986 (commit) via 7606bed9047935d0e3c0b5ede9d4ce92a136b5e2 (commit) from 6af1b11848f000c900877f1289a42948d415f21c (commit) - Log - commit eee5f32f37764ffb94e7989536e7022c9a800986 Author: Matt Caswell Date: Fri Nov 1 16:09:21 2019 + Test EVP_get_[digest|cipher]byname() use the namemap Following on from the previous commit, we test that if an algorithm has a provider supplied alias in the namemap then EVP_get_digestbyname() and EVP_get_cipherbyname() can still find it. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/10324) commit 7606bed9047935d0e3c0b5ede9d4ce92a136b5e2 Author: Matt Caswell Date: Fri Nov 1 14:13:49 2019 + Ensure EVP_get_digestbyname() and EVP_get_cipherbyname() know all aliases Now that we have an EVP namemap containing all aliases that providers know about for any given algorithm, it is possible that an application attempts to look up a digest or a cipher via EVP_get_digestbyname() or EVP_get_cipherbyname() with an algorithm name that is unknown to the legacy method database. Therefore we extend those functions to additionally check the aliases in the namemap when searching for a method in the event that our initial lookup attempt fails. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/10324) --- Summary of changes: crypto/evp/names.c | 79 +--- crypto/evp/pmeth_lib.c | 2 +- include/crypto/evp.h | 3 ++ test/namemap_internal_test.c | 56 +++ 4 files changed, 134 insertions(+), 6 deletions(-) diff --git a/crypto/evp/names.c b/crypto/evp/names.c index 901899ad3b..5eb7a39ae0 100644 --- a/crypto/evp/names.c +++ b/crypto/evp/names.c @@ -8,11 +8,12 @@ */ #include -#include "internal/cryptlib.h" #include #include -#include "crypto/objects.h" #include +#include "internal/cryptlib.h" +#include "internal/namemap.h" +#include "crypto/objects.h" #include "crypto/evp.h" int EVP_add_cipher(const EVP_CIPHER *c) @@ -56,26 +57,94 @@ int EVP_add_digest(const EVP_MD *md) return r; } +static void cipher_from_name(const char *name, void *data) +{ +const EVP_CIPHER **cipher = data; + +if (*cipher != NULL) +return; + +*cipher = (const EVP_CIPHER *)OBJ_NAME_get(name, OBJ_NAME_TYPE_CIPHER_METH); +} + const EVP_CIPHER *EVP_get_cipherbyname(const char *name) +{ +return evp_get_cipherbyname_ex(NULL, name); +} + +const EVP_CIPHER *evp_get_cipherbyname_ex(OPENSSL_CTX *libctx, const char *name) { const EVP_CIPHER *cp; +OSSL_NAMEMAP *namemap; +int id; if (!OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL)) return NULL; cp = (const EVP_CIPHER *)OBJ_NAME_get(name, OBJ_NAME_TYPE_CIPHER_METH); + +if (cp != NULL) +return cp; + +/* + * It's not in the method database, but it might be there under a different + * name. So we check for aliases in the EVP namemap and try all of those + * in turn. + */ + +namemap = ossl_namemap_stored(libctx); +id = ossl_namemap_name2num(namemap, name); +if (id == 0) +return NULL; + +ossl_namemap_doall_names(namemap, id, cipher_from_name, ); + return cp; } +static void digest_from_name(const char *name, void *data) +{ +const EVP_MD **md = data; + +if (*md != NULL) +return; + +*md = (const EVP_MD *)OBJ_NAME_get(name, OBJ_NAME_TYPE_MD_METH); +} + const EVP_MD *EVP_get_digestbyname(const char *name) { -const EVP_MD *cp; +return evp_get_digestbyname_ex(NULL, name); +} + +const EVP_MD *evp_get_digestbyname_ex(OPENSSL_CTX *libctx, const char *name) +{ +const EVP_MD *dp; +OSSL_NAMEMAP *namemap; +int id; if (!OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)) return NULL; -cp = (const EVP_MD *)OBJ_NAME_get(name, OBJ_NAME_TYPE_MD_METH); -return cp; +dp = (const EVP_MD *)OBJ_NAME_get(name, OBJ_NAME_TYPE_MD_METH); + +if (dp != NULL) +return dp; + +/* + * It's not in the method database, but it might be there under a different + * name. So we check for aliases in the EVP namemap and try all of those + * in turn. + */ + +namemap = ossl_namemap_stored(libctx); +id = ossl_namemap_name2num(namemap, name); +if (id == 0) +return NULL; + +ossl_namemap_doall_names(namemap, id, digest_from_name, ); + +return dp; } void evp_cleanup_int(void) diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index cc0707e052..30cff95077 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -594,7 +594,7 @@ int
Build completed: openssl master.29350
Build openssl master.29350 completed Commit 2281650fe5 by Richard Levitte on 11/6/2019 7:28 AM: Remove all uses of AES IGE functions Configure your notification preferences