]> git.proxmox.com Git - mirror_edk2.git/commitdiff
CryptoPkg/OpensslLib: Update OpenSSL version to 1.1.0g
authorLong Qin <qin.long@intel.com>
Fri, 22 Dec 2017 06:07:39 +0000 (14:07 +0800)
committerLong Qin <qin.long@intel.com>
Tue, 26 Dec 2017 18:18:08 +0000 (02:18 +0800)
Update the supported OpenSSL version to the latest 1.1.0g (02-Nov-2017).
The changes includes:
 - Re-generate the OpensslLib[crypto].inf using process_files.pl script
   to reflect the openssl source changes.
 - Update OpenSSL-HOWTO.txt
 - On Visual Studio Build: adding "/wd4819" to disable one addition build
   warning issue, which was already fixed in OpenSSL-HEAD
   https://github.com/openssl/openssl/pull/4691.
 - On GCC Build: openssl-1.1.0g introduced one additional build warning:
    ...\openssl\crypto\asn1\x_int64.c:105:32: error: format '%ld' expects
        argument of type 'long int', but argument 3 has type 'int64_t
        {aka long long int}' [-Werror=format=]
    return BIO_printf(out, "%"BIO_PRI64"d\n", **(int64_t **)pval);
                                ^
    Adding "-Wno-error=format" to GCC build flag to suppress this warning,
    since we have no real printf usage in BaseCryptLib, and BIO_printf()
    was already wrappered as the dummy implementation in CryptoPkg.

Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Long Qin <qin.long@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
CryptoPkg/Library/OpensslLib/OpenSSL-HOWTO.txt
CryptoPkg/Library/OpensslLib/OpensslLib.inf
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
CryptoPkg/Library/OpensslLib/buildinf.h

index e8b0bab010307fae8d529739cdc353056289ae74..d1521381290b7271239c97fd106353d555c2c545 100644 (file)
@@ -18,7 +18,7 @@ on the cryptography.
                              OpenSSL-Version\r
 =============================================================================\r
   EDKII supports building with the latest release of OpenSSL.\r
                              OpenSSL-Version\r
 =============================================================================\r
   EDKII supports building with the latest release of OpenSSL.\r
-  The latest official release is OpenSSL-1.1.0e (Released at 2017-Feb-16).\r
+  The latest official release is OpenSSL-1.1.0g (Released at 2017-Nov-02).\r
   NOTE: Only latest release version was fully validated.\r
         And no guarantees on build & functionality if using other versions.\r
 \r
   NOTE: Only latest release version was fully validated.\r
         And no guarantees on build & functionality if using other versions.\r
 \r
@@ -28,13 +28,13 @@ on the cryptography.
 1. Clone the latest official OpenSSL release into the directory\r
      CryptoPkg/Library/OpensslLib/openssl/\r
 \r
 1. Clone the latest official OpenSSL release into the directory\r
      CryptoPkg/Library/OpensslLib/openssl/\r
 \r
-   Use OpenSSL-1.1.0e release as one example:\r
-     (OpenSSL_1_1_0e below is the tag name for the OpenSSL-1.1.0e release)\r
+   Use OpenSSL-1.1.0g release as one example:\r
+     (OpenSSL_1_1_0g below is the tag name for the OpenSSL-1.1.0g release)\r
      > cd CryptoPkg/Library/OpensslLib\r
      > cd CryptoPkg/Library/OpensslLib\r
-     > git clone -b OpenSSL_1_1_0e https://github.com/openssl/openssl openssl\r
+     > git clone -b OpenSSL_1_1_0g https://github.com/openssl/openssl openssl\r
      or\r
      > git clone https://github.com/openssl/openssl openssl\r
      or\r
      > git clone https://github.com/openssl/openssl openssl\r
-     > git checkout OpenSSL_1_1_0e\r
+     > git checkout OpenSSL_1_1_0g\r
 Or\r
 2. Download the latest OpenSSL release package from the official website:\r
      https://www.openssl.org/source/\r
 Or\r
 2. Download the latest OpenSSL release package from the official website:\r
      https://www.openssl.org/source/\r
index 1d15da6660b247a2a29b408784a005dfda07c776..5302ad7fb5efcef8f67ad7d923144474197ee272 100644 (file)
@@ -95,6 +95,7 @@
   $(OPENSSL_PATH)/crypto/asn1/x_algor.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_bignum.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_info.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_algor.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_bignum.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_info.c\r
+  $(OPENSSL_PATH)/crypto/asn1/x_int64.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_long.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_sig.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_long.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_sig.c\r
   #   C4389: 'operator' : signed/unsigned mismatch (xxxx)\r
   #   C4702: unreachable code\r
   #   C4706: assignment within conditional expression\r
   #   C4389: 'operator' : signed/unsigned mismatch (xxxx)\r
   #   C4702: unreachable code\r
   #   C4706: assignment within conditional expression\r
+  #   C4819: The file contains a character that cannot be represented in the current code page\r
   #\r
   #\r
-  MSFT:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706\r
-  MSFT:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706\r
-  MSFT:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706\r
+  MSFT:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706 /wd4819\r
+  MSFT:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706 /wd4819\r
+  MSFT:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706 /wd4819\r
 \r
   INTEL:*_*_IA32_CC_FLAGS  = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   INTEL:*_*_X64_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
 \r
   INTEL:*_*_IA32_CC_FLAGS  = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   INTEL:*_*_X64_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   #\r
   # Suppress the following build warnings in openssl so we don't break the build with -Werror\r
   #   -Werror=maybe-uninitialized: there exist some other paths for which the variable is not initialized.\r
   #\r
   # Suppress the following build warnings in openssl so we don't break the build with -Werror\r
   #   -Werror=maybe-uninitialized: there exist some other paths for which the variable is not initialized.\r
+  #   -Werror=format: Check calls to printf and scanf, etc., to make sure that the arguments supplied have\r
+  #                   types appropriate to the format string specified.\r
   #\r
   GCC:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
   #\r
   GCC:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
-  GCC:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -DNO_MSABI_VA_FUNCS\r
-  GCC:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
+  GCC:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-error=format -DNO_MSABI_VA_FUNCS\r
+  GCC:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-error=format\r
   GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS)\r
   GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS)\r
 \r
   GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS)\r
   GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS)\r
 \r
index 6fc8884da492e84f8c9b3a6ac46ef73c5b9923e9..0c7f9e9e66f4004eb7ba87c8a5f6d3581ed54a0b 100644 (file)
@@ -95,6 +95,7 @@
   $(OPENSSL_PATH)/crypto/asn1/x_algor.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_bignum.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_info.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_algor.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_bignum.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_info.c\r
+  $(OPENSSL_PATH)/crypto/asn1/x_int64.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_long.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_sig.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_long.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_pkey.c\r
   $(OPENSSL_PATH)/crypto/asn1/x_sig.c\r
   #   C4389: 'operator' : signed/unsigned mismatch (xxxx)\r
   #   C4702: unreachable code\r
   #   C4706: assignment within conditional expression\r
   #   C4389: 'operator' : signed/unsigned mismatch (xxxx)\r
   #   C4702: unreachable code\r
   #   C4706: assignment within conditional expression\r
+  #   C4819: The file contains a character that cannot be represented in the current code page\r
   #\r
   #\r
-  MSFT:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706\r
-  MSFT:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706\r
-  MSFT:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706\r
+  MSFT:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4389 /wd4702 /wd4706 /wd4819\r
+  MSFT:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706 /wd4819\r
+  MSFT:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4090 /wd4244 /wd4245 /wd4267 /wd4306 /wd4389 /wd4702 /wd4706 /wd4819\r
 \r
   INTEL:*_*_IA32_CC_FLAGS  = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   INTEL:*_*_X64_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
 \r
   INTEL:*_*_IA32_CC_FLAGS  = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   INTEL:*_*_X64_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w\r
   #\r
   # Suppress the following build warnings in openssl so we don't break the build with -Werror\r
   #   -Werror=maybe-uninitialized: there exist some other paths for which the variable is not initialized.\r
   #\r
   # Suppress the following build warnings in openssl so we don't break the build with -Werror\r
   #   -Werror=maybe-uninitialized: there exist some other paths for which the variable is not initialized.\r
+  #   -Werror=format: Check calls to printf and scanf, etc., to make sure that the arguments supplied have\r
+  #                   types appropriate to the format string specified.\r
   #\r
   GCC:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
   #\r
   GCC:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
-  GCC:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -DNO_MSABI_VA_FUNCS\r
-  GCC:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized\r
+  GCC:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-error=format -DNO_MSABI_VA_FUNCS\r
+  GCC:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -Wno-error=maybe-uninitialized -Wno-error=format\r
   GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS)\r
   GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS)\r
 \r
   GCC:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS)\r
   GCC:*_*_AARCH64_CC_FLAGS = $(OPENSSL_FLAGS)\r
 \r
index 3d967d2a8616cbee98fb5b33fad7b93a6167fd14..c5ca293c729f5c30e8730899ecfc71c7f66035f3 100644 (file)
@@ -1,2 +1,2 @@
 #define PLATFORM  "UEFI"\r
 #define PLATFORM  "UEFI"\r
-#define DATE      "Tues Mar 21 01:23:45 PDT 2017"\r
+#define DATE      "Fri Dec 22 01:23:45 PDT 2017"\r