CryptoPkg: Upgrade OpenSSL to 1.1.1b
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1089 * Update OpenSSL submodule to OpenSSL_1_1_1b OpenSSL_1_1_1b(50eaac9f3337667259de725451f201e784599687) * Run process_files.pl script to regenerate OpensslLib[Crypto].inf and opensslconf.h * Remove -DNO_SYSLOG from OPENSSL_FLAGS in OpensslLib[Crypto].inf, due to upstream OpenSSL commit cff55b90e95e("Cleaning UEFI Build with additional OPENSSL_SYS_UEFI flags", 2017-03-29), which was first released as part of OpenSSL_1_1_1. * Starting with OpenSSL commit 8a8d9e1905(first release in OpenSSL_1_1_1), the OpenSSL_version() function can no longer return a pointer to the string literal "compiler: information not available", in the case CFLAGS macro is not defined. Instead, the function now has a hard dependency on the global variable 'compiler_flags'. This variable is normally placed by "util/mkbuildinf.pl" into "buildinf.h". In edk2 we don't run that script whenever we build OpenSSL, therefore we must provide our own dummy 'compiler_flags'. * BUFSIZ is used by crypto/evp/evp_key.c(OpenSSL_1_1_1b) And it is declared in stdio.h. So add it to CrtLibSupport.h. Here's a discussion about this. Ref: https://github.com/openssl/openssl/issues/8904 Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Ting Ye <ting.ye@intel.com> Signed-off-by: Xiaoyu Lu <xiaoyux.lu@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Gary Lin <glin@suse.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
Root include file of C runtime library to support building the third-party
|
||||
cryptographic library.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
@@ -20,6 +20,17 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
#define MAX_STRING_SIZE 0x1000
|
||||
|
||||
//
|
||||
// We already have "no-ui" in out Configure invocation.
|
||||
// but the code still fails to compile.
|
||||
// Ref: https://github.com/openssl/openssl/issues/8904
|
||||
//
|
||||
// This is defined in CRT library(stdio.h).
|
||||
//
|
||||
#ifndef BUFSIZ
|
||||
#define BUFSIZ 8192
|
||||
#endif
|
||||
|
||||
//
|
||||
// OpenSSL relies on explicit configuration for word size in crypto/bn,
|
||||
// but we want it to be automatically inferred from the target. So we
|
||||
|
@@ -10,6 +10,8 @@
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <openssl/opensslv.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -77,18 +79,21 @@ extern "C" {
|
||||
#ifndef OPENSSL_NO_SEED
|
||||
# define OPENSSL_NO_SEED
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SM2
|
||||
# define OPENSSL_NO_SM2
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_SRP
|
||||
# define OPENSSL_NO_SRP
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_TS
|
||||
# define OPENSSL_NO_TS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_UI
|
||||
# define OPENSSL_NO_UI
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_WHIRLPOOL
|
||||
# define OPENSSL_NO_WHIRLPOOL
|
||||
#endif
|
||||
#ifndef OPENSSL_RAND_SEED_NONE
|
||||
# define OPENSSL_RAND_SEED_NONE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_AFALGENG
|
||||
# define OPENSSL_NO_AFALGENG
|
||||
#endif
|
||||
@@ -122,6 +127,9 @@ extern "C" {
|
||||
#ifndef OPENSSL_NO_DEPRECATED
|
||||
# define OPENSSL_NO_DEPRECATED
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_DEVCRYPTOENG
|
||||
# define OPENSSL_NO_DEVCRYPTOENG
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_DGRAM
|
||||
# define OPENSSL_NO_DGRAM
|
||||
#endif
|
||||
@@ -155,6 +163,9 @@ extern "C" {
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
# define OPENSSL_NO_ERR
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_EXTERNAL_TESTS
|
||||
# define OPENSSL_NO_EXTERNAL_TESTS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_FILENAMES
|
||||
# define OPENSSL_NO_FILENAMES
|
||||
#endif
|
||||
@@ -209,15 +220,24 @@ extern "C" {
|
||||
#ifndef OPENSSL_NO_TESTS
|
||||
# define OPENSSL_NO_TESTS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_TLS1_3
|
||||
# define OPENSSL_NO_TLS1_3
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_UBSAN
|
||||
# define OPENSSL_NO_UBSAN
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_UI_CONSOLE
|
||||
# define OPENSSL_NO_UI_CONSOLE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_UNIT_TEST
|
||||
# define OPENSSL_NO_UNIT_TEST
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS
|
||||
# define OPENSSL_NO_WEAK_SSL_CIPHERS
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_DYNAMIC_ENGINE
|
||||
# define OPENSSL_NO_DYNAMIC_ENGINE
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_AFALGENG
|
||||
# define OPENSSL_NO_AFALGENG
|
||||
#endif
|
||||
@@ -236,15 +256,11 @@ extern "C" {
|
||||
* functions.
|
||||
*/
|
||||
#ifndef DECLARE_DEPRECATED
|
||||
# if defined(OPENSSL_NO_DEPRECATED)
|
||||
# define DECLARE_DEPRECATED(f)
|
||||
# else
|
||||
# define DECLARE_DEPRECATED(f) f;
|
||||
# ifdef __GNUC__
|
||||
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
|
||||
# undef DECLARE_DEPRECATED
|
||||
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||
# endif
|
||||
# define DECLARE_DEPRECATED(f) f;
|
||||
# ifdef __GNUC__
|
||||
# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)
|
||||
# undef DECLARE_DEPRECATED
|
||||
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
@@ -268,6 +284,18 @@ extern "C" {
|
||||
# define OPENSSL_API_COMPAT OPENSSL_MIN_API
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Do not deprecate things to be deprecated in version 1.2.0 before the
|
||||
* OpenSSL version number matches.
|
||||
*/
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10200000L
|
||||
# define DEPRECATEDIN_1_2_0(f) f;
|
||||
#elif OPENSSL_API_COMPAT < 0x10200000L
|
||||
# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
# define DEPRECATEDIN_1_2_0(f)
|
||||
#endif
|
||||
|
||||
#if OPENSSL_API_COMPAT < 0x10100000L
|
||||
# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
|
||||
#else
|
||||
@@ -286,8 +314,6 @@ extern "C" {
|
||||
# define DEPRECATEDIN_0_9_8(f)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Generate 80386 code? */
|
||||
#undef I386_ONLY
|
||||
|
||||
|
Reference in New Issue
Block a user