CryptoPkg: Upgrade OpenSSL to 1.1.1b
authorXiaoyuX Lu <xiaoyux.lu@intel.com>
Wed, 29 May 2019 18:40:37 +0000 (18:40 +0000)
committerJian J Wang <jian.j.wang@intel.com>
Mon, 3 Jun 2019 00:28:03 +0000 (08:28 +0800)
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>
CryptoPkg/Library/Include/CrtLibSupport.h
CryptoPkg/Library/Include/openssl/opensslconf.h
CryptoPkg/Library/OpensslLib/OpensslLib.inf
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
CryptoPkg/Library/OpensslLib/buildinf.h
CryptoPkg/Library/OpensslLib/openssl

index b05c5d9..5806f50 100644 (file)
@@ -2,7 +2,7 @@
   Root include file of C runtime library to support building the third-party\r
   cryptographic library.\r
 \r
-Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
 SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -21,6 +21,17 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #define MAX_STRING_SIZE  0x1000\r
 \r
 //\r
+// We already have "no-ui" in out Configure invocation.\r
+// but the code still fails to compile.\r
+// Ref:  https://github.com/openssl/openssl/issues/8904\r
+//\r
+// This is defined in CRT library(stdio.h).\r
+//\r
+#ifndef BUFSIZ\r
+#define BUFSIZ  8192\r
+#endif\r
+\r
+//\r
 // OpenSSL relies on explicit configuration for word size in crypto/bn,\r
 // but we want it to be automatically inferred from the target. So we\r
 // bypass what's in <openssl/opensslconf.h> for OPENSSL_SYS_UEFI, and\r
index 28dd9ab..9ce9970 100644 (file)
@@ -10,6 +10,8 @@
  * https://www.openssl.org/source/license.html
  */
 
+#include <openssl/opensslv.h>\r
+\r
 #ifdef  __cplusplus
 extern "C" {
 #endif
@@ -77,18 +79,21 @@ extern "C" {
 #ifndef OPENSSL_NO_SEED
 # define OPENSSL_NO_SEED
 #endif
+#ifndef OPENSSL_NO_SM2\r
+# define OPENSSL_NO_SM2\r
+#endif\r
 #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\r
+# define OPENSSL_RAND_SEED_NONE\r
+#endif\r
 #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\r
+# define OPENSSL_NO_DEVCRYPTOENG\r
+#endif\r
 #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\r
+# define OPENSSL_NO_EXTERNAL_TESTS\r
+#endif\r
 #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\r
+# define OPENSSL_NO_TLS1_3\r
+#endif\r
 #ifndef OPENSSL_NO_UBSAN
 # define OPENSSL_NO_UBSAN
 #endif
+#ifndef OPENSSL_NO_UI_CONSOLE\r
+# define OPENSSL_NO_UI_CONSOLE\r
+#endif\r
 #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\r
+# define OPENSSL_NO_DYNAMIC_ENGINE\r
+#endif\r
 #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;\r
+# ifdef __GNUC__\r
+#  if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0)\r
+#   undef DECLARE_DEPRECATED\r
+#   define DECLARE_DEPRECATED(f)    f __attribute__ ((deprecated));\r
 #  endif
 # endif
 #endif
@@ -268,6 +284,18 @@ extern "C" {
 # define OPENSSL_API_COMPAT OPENSSL_MIN_API
 #endif
 
+/*\r
+ * Do not deprecate things to be deprecated in version 1.2.0 before the\r
+ * OpenSSL version number matches.\r
+ */\r
+#if OPENSSL_VERSION_NUMBER < 0x10200000L\r
+# define DEPRECATEDIN_1_2_0(f)   f;\r
+#elif OPENSSL_API_COMPAT < 0x10200000L\r
+# define DEPRECATEDIN_1_2_0(f)   DECLARE_DEPRECATED(f)\r
+#else\r
+# define DEPRECATEDIN_1_2_0(f)\r
+#endif\r
+\r
 #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
 
index ce04d44..3974951 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 #  This module provides OpenSSL Library implementation.\r
 #\r
-#  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
 #  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 ##\r
@@ -15,7 +15,7 @@
   VERSION_STRING                 = 1.0\r
   LIBRARY_CLASS                  = OpensslLib\r
   DEFINE OPENSSL_PATH            = openssl\r
-  DEFINE OPENSSL_FLAGS           = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNO_SYSLOG\r
+  DEFINE OPENSSL_FLAGS           = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE\r
 \r
 #\r
 #  VALID_ARCHITECTURES           = IA32 X64 ARM AARCH64\r
@@ -32,6 +32,7 @@
   $(OPENSSL_PATH)/crypto/aes/aes_misc.c\r
   $(OPENSSL_PATH)/crypto/aes/aes_ofb.c\r
   $(OPENSSL_PATH)/crypto/aes/aes_wrap.c\r
+  $(OPENSSL_PATH)/crypto/aria/aria.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_d2i_fp.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_digest.c\r
@@ -54,6 +55,7 @@
   $(OPENSSL_PATH)/crypto/asn1/ameth_lib.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_err.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_gen.c\r
+  $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_lib.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_par.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn_mime.c\r
   $(OPENSSL_PATH)/crypto/conf/conf_ssl.c\r
   $(OPENSSL_PATH)/crypto/cpt_err.c\r
   $(OPENSSL_PATH)/crypto/cryptlib.c\r
+  $(OPENSSL_PATH)/crypto/ctype.c\r
   $(OPENSSL_PATH)/crypto/cversion.c\r
   $(OPENSSL_PATH)/crypto/des/cbc_cksm.c\r
   $(OPENSSL_PATH)/crypto/des/cbc_enc.c\r
   $(OPENSSL_PATH)/crypto/des/pcbc_enc.c\r
   $(OPENSSL_PATH)/crypto/des/qud_cksm.c\r
   $(OPENSSL_PATH)/crypto/des/rand_key.c\r
-  $(OPENSSL_PATH)/crypto/des/rpc_enc.c\r
   $(OPENSSL_PATH)/crypto/des/set_key.c\r
   $(OPENSSL_PATH)/crypto/des/str2key.c\r
   $(OPENSSL_PATH)/crypto/des/xcbc_enc.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_pmeth.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_prn.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c\r
+  $(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c\r
   $(OPENSSL_PATH)/crypto/dso/dso_dl.c\r
   $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c\r
   $(OPENSSL_PATH)/crypto/dso/dso_err.c\r
   $(OPENSSL_PATH)/crypto/evp/e_aes.c\r
   $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha1.c\r
   $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha256.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_aria.c\r
   $(OPENSSL_PATH)/crypto/evp/e_bf.c\r
   $(OPENSSL_PATH)/crypto/evp/e_camellia.c\r
   $(OPENSSL_PATH)/crypto/evp/e_cast.c\r
   $(OPENSSL_PATH)/crypto/evp/e_rc4_hmac_md5.c\r
   $(OPENSSL_PATH)/crypto/evp/e_rc5.c\r
   $(OPENSSL_PATH)/crypto/evp/e_seed.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_sm4.c\r
   $(OPENSSL_PATH)/crypto/evp/e_xcbc_d.c\r
   $(OPENSSL_PATH)/crypto/evp/encode.c\r
   $(OPENSSL_PATH)/crypto/evp/evp_cnf.c\r
   $(OPENSSL_PATH)/crypto/evp/m_null.c\r
   $(OPENSSL_PATH)/crypto/evp/m_ripemd.c\r
   $(OPENSSL_PATH)/crypto/evp/m_sha1.c\r
+  $(OPENSSL_PATH)/crypto/evp/m_sha3.c\r
   $(OPENSSL_PATH)/crypto/evp/m_sigver.c\r
   $(OPENSSL_PATH)/crypto/evp/m_wp.c\r
   $(OPENSSL_PATH)/crypto/evp/names.c\r
   $(OPENSSL_PATH)/crypto/evp/p_seal.c\r
   $(OPENSSL_PATH)/crypto/evp/p_sign.c\r
   $(OPENSSL_PATH)/crypto/evp/p_verify.c\r
+  $(OPENSSL_PATH)/crypto/evp/pbe_scrypt.c\r
   $(OPENSSL_PATH)/crypto/evp/pmeth_fn.c\r
   $(OPENSSL_PATH)/crypto/evp/pmeth_gn.c\r
   $(OPENSSL_PATH)/crypto/evp/pmeth_lib.c\r
-  $(OPENSSL_PATH)/crypto/evp/scrypt.c\r
   $(OPENSSL_PATH)/crypto/ex_data.c\r
   $(OPENSSL_PATH)/crypto/getenv.c\r
   $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c\r
   $(OPENSSL_PATH)/crypto/init.c\r
   $(OPENSSL_PATH)/crypto/kdf/hkdf.c\r
   $(OPENSSL_PATH)/crypto/kdf/kdf_err.c\r
+  $(OPENSSL_PATH)/crypto/kdf/scrypt.c\r
   $(OPENSSL_PATH)/crypto/kdf/tls1_prf.c\r
   $(OPENSSL_PATH)/crypto/lhash/lh_stats.c\r
   $(OPENSSL_PATH)/crypto/lhash/lhash.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_smime.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c\r
-  $(OPENSSL_PATH)/crypto/rand/md_rand.c\r
+  $(OPENSSL_PATH)/crypto/rand/drbg_ctr.c\r
+  $(OPENSSL_PATH)/crypto/rand/drbg_lib.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_egd.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_err.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_lib.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_unix.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_vms.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_win.c\r
-  $(OPENSSL_PATH)/crypto/rand/randfile.c\r
   $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c\r
   $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_gen.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_lib.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_meth.c\r
+  $(OPENSSL_PATH)/crypto/rsa/rsa_mp.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_none.c\r
-  $(OPENSSL_PATH)/crypto/rsa/rsa_null.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_oaep.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_ossl.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_pk1.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_x931.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c\r
+  $(OPENSSL_PATH)/crypto/sha/keccak1600.c\r
   $(OPENSSL_PATH)/crypto/sha/sha1_one.c\r
   $(OPENSSL_PATH)/crypto/sha/sha1dgst.c\r
   $(OPENSSL_PATH)/crypto/sha/sha256.c\r
   $(OPENSSL_PATH)/crypto/sha/sha512.c\r
+  $(OPENSSL_PATH)/crypto/siphash/siphash.c\r
+  $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c\r
+  $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c\r
+  $(OPENSSL_PATH)/crypto/sm3/m_sm3.c\r
+  $(OPENSSL_PATH)/crypto/sm3/sm3.c\r
+  $(OPENSSL_PATH)/crypto/sm4/sm4.c\r
   $(OPENSSL_PATH)/crypto/stack/stack.c\r
   $(OPENSSL_PATH)/crypto/threads_none.c\r
   $(OPENSSL_PATH)/crypto/threads_pthread.c\r
   $(OPENSSL_PATH)/crypto/threads_win.c\r
   $(OPENSSL_PATH)/crypto/txt_db/txt_db.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_err.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_lib.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_null.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_openssl.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_util.c\r
   $(OPENSSL_PATH)/crypto/uid.c\r
   $(OPENSSL_PATH)/crypto/x509/by_dir.c\r
   $(OPENSSL_PATH)/crypto/x509/by_file.c\r
   $(OPENSSL_PATH)/crypto/x509v3/pcy_node.c\r
   $(OPENSSL_PATH)/crypto/x509v3/pcy_tree.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_addr.c\r
+  $(OPENSSL_PATH)/crypto/x509v3/v3_admis.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_akey.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_akeya.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_alt.c\r
   $(OPENSSL_PATH)/ssl/d1_msg.c\r
   $(OPENSSL_PATH)/ssl/d1_srtp.c\r
   $(OPENSSL_PATH)/ssl/methods.c\r
+  $(OPENSSL_PATH)/ssl/packet.c\r
   $(OPENSSL_PATH)/ssl/pqueue.c\r
   $(OPENSSL_PATH)/ssl/record/dtls1_bitmap.c\r
   $(OPENSSL_PATH)/ssl/record/rec_layer_d1.c\r
   $(OPENSSL_PATH)/ssl/record/rec_layer_s3.c\r
   $(OPENSSL_PATH)/ssl/record/ssl3_buffer.c\r
   $(OPENSSL_PATH)/ssl/record/ssl3_record.c\r
+  $(OPENSSL_PATH)/ssl/record/ssl3_record_tls13.c\r
   $(OPENSSL_PATH)/ssl/s3_cbc.c\r
   $(OPENSSL_PATH)/ssl/s3_enc.c\r
   $(OPENSSL_PATH)/ssl/s3_lib.c\r
   $(OPENSSL_PATH)/ssl/ssl_stat.c\r
   $(OPENSSL_PATH)/ssl/ssl_txt.c\r
   $(OPENSSL_PATH)/ssl/ssl_utst.c\r
+  $(OPENSSL_PATH)/ssl/statem/extensions.c\r
+  $(OPENSSL_PATH)/ssl/statem/extensions_clnt.c\r
+  $(OPENSSL_PATH)/ssl/statem/extensions_cust.c\r
+  $(OPENSSL_PATH)/ssl/statem/extensions_srvr.c\r
   $(OPENSSL_PATH)/ssl/statem/statem.c\r
   $(OPENSSL_PATH)/ssl/statem/statem_clnt.c\r
   $(OPENSSL_PATH)/ssl/statem/statem_dtls.c\r
   $(OPENSSL_PATH)/ssl/statem/statem_lib.c\r
   $(OPENSSL_PATH)/ssl/statem/statem_srvr.c\r
   $(OPENSSL_PATH)/ssl/t1_enc.c\r
-  $(OPENSSL_PATH)/ssl/t1_ext.c\r
   $(OPENSSL_PATH)/ssl/t1_lib.c\r
-  $(OPENSSL_PATH)/ssl/t1_reneg.c\r
   $(OPENSSL_PATH)/ssl/t1_trce.c\r
+  $(OPENSSL_PATH)/ssl/tls13_enc.c\r
   $(OPENSSL_PATH)/ssl/tls_srp.c\r
 # Autogenerated files list ends here\r
 \r
+  ossl_store.c\r
+  rand_pool.c\r
+\r
+[Sources.Ia32]\r
+  rand_pool_noise_tsc.c\r
+\r
+[Sources.X64]\r
+  rand_pool_noise_tsc.c\r
+\r
+[Sources.ARM]\r
+  rand_pool_noise.c\r
+\r
+[Sources.AARCH64]\r
+  rand_pool_noise.c\r
+\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   CryptoPkg/CryptoPkg.dec\r
 \r
 [LibraryClasses]\r
+  BaseLib\r
   DebugLib\r
+  TimerLib\r
 \r
 [LibraryClasses.ARM]\r
   ArmSoftFloatLib\r
index 35430e7..8c290ca 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 #  This module provides OpenSSL Library implementation.\r
 #\r
-#  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
 #  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 ##\r
@@ -15,7 +15,7 @@
   VERSION_STRING                 = 1.0\r
   LIBRARY_CLASS                  = OpensslLib\r
   DEFINE OPENSSL_PATH            = openssl\r
-  DEFINE OPENSSL_FLAGS           = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNO_SYSLOG\r
+  DEFINE OPENSSL_FLAGS           = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE\r
 \r
 #\r
 #  VALID_ARCHITECTURES           = IA32 X64 ARM AARCH64\r
@@ -32,6 +32,7 @@
   $(OPENSSL_PATH)/crypto/aes/aes_misc.c\r
   $(OPENSSL_PATH)/crypto/aes/aes_ofb.c\r
   $(OPENSSL_PATH)/crypto/aes/aes_wrap.c\r
+  $(OPENSSL_PATH)/crypto/aria/aria.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_d2i_fp.c\r
   $(OPENSSL_PATH)/crypto/asn1/a_digest.c\r
@@ -54,6 +55,7 @@
   $(OPENSSL_PATH)/crypto/asn1/ameth_lib.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_err.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_gen.c\r
+  $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_lib.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn1_par.c\r
   $(OPENSSL_PATH)/crypto/asn1/asn_mime.c\r
   $(OPENSSL_PATH)/crypto/conf/conf_ssl.c\r
   $(OPENSSL_PATH)/crypto/cpt_err.c\r
   $(OPENSSL_PATH)/crypto/cryptlib.c\r
+  $(OPENSSL_PATH)/crypto/ctype.c\r
   $(OPENSSL_PATH)/crypto/cversion.c\r
   $(OPENSSL_PATH)/crypto/des/cbc_cksm.c\r
   $(OPENSSL_PATH)/crypto/des/cbc_enc.c\r
   $(OPENSSL_PATH)/crypto/des/pcbc_enc.c\r
   $(OPENSSL_PATH)/crypto/des/qud_cksm.c\r
   $(OPENSSL_PATH)/crypto/des/rand_key.c\r
-  $(OPENSSL_PATH)/crypto/des/rpc_enc.c\r
   $(OPENSSL_PATH)/crypto/des/set_key.c\r
   $(OPENSSL_PATH)/crypto/des/str2key.c\r
   $(OPENSSL_PATH)/crypto/des/xcbc_enc.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_pmeth.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_prn.c\r
   $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c\r
+  $(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c\r
   $(OPENSSL_PATH)/crypto/dso/dso_dl.c\r
   $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c\r
   $(OPENSSL_PATH)/crypto/dso/dso_err.c\r
   $(OPENSSL_PATH)/crypto/evp/e_aes.c\r
   $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha1.c\r
   $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha256.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_aria.c\r
   $(OPENSSL_PATH)/crypto/evp/e_bf.c\r
   $(OPENSSL_PATH)/crypto/evp/e_camellia.c\r
   $(OPENSSL_PATH)/crypto/evp/e_cast.c\r
   $(OPENSSL_PATH)/crypto/evp/e_rc4_hmac_md5.c\r
   $(OPENSSL_PATH)/crypto/evp/e_rc5.c\r
   $(OPENSSL_PATH)/crypto/evp/e_seed.c\r
+  $(OPENSSL_PATH)/crypto/evp/e_sm4.c\r
   $(OPENSSL_PATH)/crypto/evp/e_xcbc_d.c\r
   $(OPENSSL_PATH)/crypto/evp/encode.c\r
   $(OPENSSL_PATH)/crypto/evp/evp_cnf.c\r
   $(OPENSSL_PATH)/crypto/evp/m_null.c\r
   $(OPENSSL_PATH)/crypto/evp/m_ripemd.c\r
   $(OPENSSL_PATH)/crypto/evp/m_sha1.c\r
+  $(OPENSSL_PATH)/crypto/evp/m_sha3.c\r
   $(OPENSSL_PATH)/crypto/evp/m_sigver.c\r
   $(OPENSSL_PATH)/crypto/evp/m_wp.c\r
   $(OPENSSL_PATH)/crypto/evp/names.c\r
   $(OPENSSL_PATH)/crypto/evp/p_seal.c\r
   $(OPENSSL_PATH)/crypto/evp/p_sign.c\r
   $(OPENSSL_PATH)/crypto/evp/p_verify.c\r
+  $(OPENSSL_PATH)/crypto/evp/pbe_scrypt.c\r
   $(OPENSSL_PATH)/crypto/evp/pmeth_fn.c\r
   $(OPENSSL_PATH)/crypto/evp/pmeth_gn.c\r
   $(OPENSSL_PATH)/crypto/evp/pmeth_lib.c\r
-  $(OPENSSL_PATH)/crypto/evp/scrypt.c\r
   $(OPENSSL_PATH)/crypto/ex_data.c\r
   $(OPENSSL_PATH)/crypto/getenv.c\r
   $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c\r
   $(OPENSSL_PATH)/crypto/init.c\r
   $(OPENSSL_PATH)/crypto/kdf/hkdf.c\r
   $(OPENSSL_PATH)/crypto/kdf/kdf_err.c\r
+  $(OPENSSL_PATH)/crypto/kdf/scrypt.c\r
   $(OPENSSL_PATH)/crypto/kdf/tls1_prf.c\r
   $(OPENSSL_PATH)/crypto/lhash/lh_stats.c\r
   $(OPENSSL_PATH)/crypto/lhash/lhash.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pk7_smime.c\r
   $(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c\r
-  $(OPENSSL_PATH)/crypto/rand/md_rand.c\r
+  $(OPENSSL_PATH)/crypto/rand/drbg_ctr.c\r
+  $(OPENSSL_PATH)/crypto/rand/drbg_lib.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_egd.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_err.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_lib.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_unix.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_vms.c\r
   $(OPENSSL_PATH)/crypto/rand/rand_win.c\r
-  $(OPENSSL_PATH)/crypto/rand/randfile.c\r
   $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c\r
   $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_gen.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_lib.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_meth.c\r
+  $(OPENSSL_PATH)/crypto/rsa/rsa_mp.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_none.c\r
-  $(OPENSSL_PATH)/crypto/rsa/rsa_null.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_oaep.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_ossl.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_pk1.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_x931.c\r
   $(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c\r
+  $(OPENSSL_PATH)/crypto/sha/keccak1600.c\r
   $(OPENSSL_PATH)/crypto/sha/sha1_one.c\r
   $(OPENSSL_PATH)/crypto/sha/sha1dgst.c\r
   $(OPENSSL_PATH)/crypto/sha/sha256.c\r
   $(OPENSSL_PATH)/crypto/sha/sha512.c\r
+  $(OPENSSL_PATH)/crypto/siphash/siphash.c\r
+  $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c\r
+  $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c\r
+  $(OPENSSL_PATH)/crypto/sm3/m_sm3.c\r
+  $(OPENSSL_PATH)/crypto/sm3/sm3.c\r
+  $(OPENSSL_PATH)/crypto/sm4/sm4.c\r
   $(OPENSSL_PATH)/crypto/stack/stack.c\r
   $(OPENSSL_PATH)/crypto/threads_none.c\r
   $(OPENSSL_PATH)/crypto/threads_pthread.c\r
   $(OPENSSL_PATH)/crypto/threads_win.c\r
   $(OPENSSL_PATH)/crypto/txt_db/txt_db.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_err.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_lib.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_null.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_openssl.c\r
+  $(OPENSSL_PATH)/crypto/ui/ui_util.c\r
   $(OPENSSL_PATH)/crypto/uid.c\r
   $(OPENSSL_PATH)/crypto/x509/by_dir.c\r
   $(OPENSSL_PATH)/crypto/x509/by_file.c\r
   $(OPENSSL_PATH)/crypto/x509v3/pcy_node.c\r
   $(OPENSSL_PATH)/crypto/x509v3/pcy_tree.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_addr.c\r
+  $(OPENSSL_PATH)/crypto/x509v3/v3_admis.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_akey.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_akeya.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3_alt.c\r
   $(OPENSSL_PATH)/crypto/x509v3/v3err.c\r
 # Autogenerated files list ends here\r
 \r
+  ossl_store.c\r
+  rand_pool.c\r
+\r
+[Sources.Ia32]\r
+  rand_pool_noise_tsc.c\r
+\r
+[Sources.X64]\r
+  rand_pool_noise_tsc.c\r
+\r
+[Sources.ARM]\r
+  rand_pool_noise.c\r
+\r
+[Sources.AARCH64]\r
+  rand_pool_noise.c\r
+\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   CryptoPkg/CryptoPkg.dec\r
 \r
 [LibraryClasses]\r
+  BaseLib\r
   DebugLib\r
+  TimerLib\r
 \r
 [LibraryClasses.ARM]\r
   ArmSoftFloatLib\r
index c5ca293..b840c86 100644 (file)
@@ -1,2 +1,4 @@
 #define PLATFORM  "UEFI"\r
 #define DATE      "Fri Dec 22 01:23:45 PDT 2017"\r
+\r
+const char * compiler_flags = "compiler: information not available from edk2";\r
index 74f2d9c..50eaac9 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 74f2d9c1ec5f5510e1d3da5a9f03c28df0977762
+Subproject commit 50eaac9f3337667259de725451f201e784599687