]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch
CryptoPkg: Disable VS2015 warning C4311 in OpensslLib
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / EDKII_openssl-1.0.2d.patch
index 220d44ef3b91b2074a8ff7248081802bf1569a05..6be397b8b9594bb6a7f2d7928317a15b82a3aef5 100644 (file)
@@ -342,50 +342,353 @@ diff U3 crypto/crypto.h crypto/crypto.h
 diff U3 crypto/opensslconf.h crypto/opensslconf.h\r
 --- crypto/opensslconf.h       Thu Jun 11 21:55:38 2015\r
 +++ crypto/opensslconf.h       Fri Jun 12 10:28:27 2015\r
-@@ -159,9 +159,12 @@\r
- /* Should we define BN_DIV2W here? */\r
+@@ -5,15 +5,72 @@\r
+ extern "C" {\r
+ #endif\r
+ /* OpenSSL was configured with the following options: */\r
++#ifndef OPENSSL_SYSNAME_UEFI\r
++# define OPENSSL_SYSNAME_UEFI\r
++#endif\r
+ #ifndef OPENSSL_DOING_MAKEDEPEND\r
\r
  \r
- /* Only one for the following should be defined */\r
-+/* Bypass the following definitions for UEFI version. */\r
-+#if !defined(OPENSSL_SYS_UEFI)\r
- #undef SIXTY_FOUR_BIT_LONG\r
- #undef SIXTY_FOUR_BIT\r
- #define THIRTY_TWO_BIT\r
++#ifndef OPENSSL_NO_BF\r
++# define OPENSSL_NO_BF\r
++#endif\r
++#ifndef OPENSSL_NO_CAMELLIA\r
++# define OPENSSL_NO_CAMELLIA\r
++#endif\r
++#ifndef OPENSSL_NO_CAPIENG\r
++# define OPENSSL_NO_CAPIENG\r
++#endif\r
++#ifndef OPENSSL_NO_CAST\r
++# define OPENSSL_NO_CAST\r
++#endif\r
++#ifndef OPENSSL_NO_CMS\r
++# define OPENSSL_NO_CMS\r
++#endif\r
++#ifndef OPENSSL_NO_DEPRECATED\r
++# define OPENSSL_NO_DEPRECATED\r
++#endif\r
++#ifndef OPENSSL_NO_DGRAM\r
++# define OPENSSL_NO_DGRAM\r
++#endif\r
++#ifndef OPENSSL_NO_DSA\r
++# define OPENSSL_NO_DSA\r
++#endif\r
++#ifndef OPENSSL_NO_DYNAMIC_ENGINE\r
++# define OPENSSL_NO_DYNAMIC_ENGINE\r
++#endif\r
++#ifndef OPENSSL_NO_EC\r
++# define OPENSSL_NO_EC\r
++#endif\r
+ #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128\r
+ # define OPENSSL_NO_EC_NISTP_64_GCC_128\r
+ #endif\r
++#ifndef OPENSSL_NO_ECDH\r
++# define OPENSSL_NO_ECDH\r
++#endif\r
++#ifndef OPENSSL_NO_ECDSA\r
++# define OPENSSL_NO_ECDSA\r
++#endif\r
++#ifndef OPENSSL_NO_ENGINE\r
++# define OPENSSL_NO_ENGINE\r
++#endif\r
++#ifndef OPENSSL_NO_ENGINES\r
++# define OPENSSL_NO_ENGINES\r
++#endif\r
++#ifndef OPENSSL_NO_FILENAMES\r
++# define OPENSSL_NO_FILENAMES\r
++#endif\r
++#ifndef OPENSSL_NO_FP_API\r
++# define OPENSSL_NO_FP_API\r
++#endif\r
+ #ifndef OPENSSL_NO_GMP\r
+ # define OPENSSL_NO_GMP\r
+ #endif\r
++#ifndef OPENSSL_NO_GOST\r
++# define OPENSSL_NO_GOST\r
++#endif\r
++#ifndef OPENSSL_NO_IDEA\r
++# define OPENSSL_NO_IDEA\r
++#endif\r
+ #ifndef OPENSSL_NO_JPAKE\r
+ # define OPENSSL_NO_JPAKE\r
+ #endif\r
+@@ -23,30 +80,90 @@\r
+ #ifndef OPENSSL_NO_LIBUNBOUND\r
+ # define OPENSSL_NO_LIBUNBOUND\r
+ #endif\r
++#ifndef OPENSSL_NO_LOCKING\r
++# define OPENSSL_NO_LOCKING\r
++#endif\r
+ #ifndef OPENSSL_NO_MD2\r
+ # define OPENSSL_NO_MD2\r
+ #endif\r
++#ifndef OPENSSL_NO_MDC2\r
++# define OPENSSL_NO_MDC2\r
++#endif\r
++#ifndef OPENSSL_NO_POSIX_IO\r
++# define OPENSSL_NO_POSIX_IO\r
++#endif\r
++#ifndef OPENSSL_NO_RC2\r
++# define OPENSSL_NO_RC2\r
++#endif\r
+ #ifndef OPENSSL_NO_RC5\r
+ # define OPENSSL_NO_RC5\r
+ #endif\r
++#ifndef OPENSSL_NO_RCS\r
++# define OPENSSL_NO_RCS\r
++#endif\r
+ #ifndef OPENSSL_NO_RFC3779\r
+ # define OPENSSL_NO_RFC3779\r
+ #endif\r
++#ifndef OPENSSL_NO_RIPEMD\r
++# define OPENSSL_NO_RIPEMD\r
++#endif\r
++#ifndef OPENSSL_NO_SCRYPT\r
++# define OPENSSL_NO_SCRYPT\r
++#endif\r
++#ifndef OPENSSL_NO_SCT\r
++# define OPENSSL_NO_SCT\r
++#endif\r
+ #ifndef OPENSSL_NO_SCTP\r
+ # define OPENSSL_NO_SCTP\r
+ #endif\r
++#ifndef OPENSSL_NO_SEED\r
++# define OPENSSL_NO_SEED\r
++#endif\r
++#ifndef OPENSSL_NO_SHA0\r
++# define OPENSSL_NO_SHA0\r
++#endif\r
++#ifndef OPENSSL_NO_SOCK\r
++# define OPENSSL_NO_SOCK\r
 +#endif\r
++#ifndef OPENSSL_NO_SRP\r
++# define OPENSSL_NO_SRP\r
++#endif\r
+ #ifndef OPENSSL_NO_SSL_TRACE\r
+ # define OPENSSL_NO_SSL_TRACE\r
+ #endif\r
++#ifndef OPENSSL_NO_SSL2\r
++# define OPENSSL_NO_SSL2\r
++#endif\r
++#ifndef OPENSSL_NO_SSL3\r
++# define OPENSSL_NO_SSL3\r
++#endif\r
++#ifndef OPENSSL_NO_STDIO\r
++# define OPENSSL_NO_STDIO\r
++#endif\r
+ #ifndef OPENSSL_NO_STORE\r
+ # define OPENSSL_NO_STORE\r
  #endif\r
++#ifndef OPENSSL_NO_UI\r
++# define OPENSSL_NO_UI\r
++#endif\r
+ #ifndef OPENSSL_NO_UNIT_TEST\r
+ # define OPENSSL_NO_UNIT_TEST\r
+ #endif\r
++#ifndef OPENSSL_NO_WHIRLPOOL\r
++# define OPENSSL_NO_WHIRLPOOL\r
++#endif\r
  \r
- #if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H)\r
-diff U3 crypto/err/err.c crypto/err/err.c\r
---- crypto/err/err.c\r
-+++ crypto/err/err.c\r
-@@ -1072,7 +1072,12 @@ void ERR_set_error_data(char *data, int flags)\r
-     es->err_data_flags[i] = flags;\r
- }\r
+ #endif /* OPENSSL_DOING_MAKEDEPEND */\r
  \r
-+/* Add EFIAPI for UEFI version. */\r
-+#if defined(OPENSSL_SYS_UEFI)\r
-+void EFIAPI ERR_add_error_data(int num, ...)\r
-+#else\r
- void ERR_add_error_data(int num, ...)\r
++#ifndef OPENSSL_NO_ASM\r
++# define OPENSSL_NO_ASM\r
 +#endif\r
- {\r
-     va_list args;\r
-     va_start(args, num);\r
-diff U3 crypto/err/err.h crypto/err/err.h\r
---- crypto/err/err.h\r
-+++ crypto/err/err.h\r
-@@ -344,7 +344,14 @@ void ERR_print_errors_fp(FILE *fp);\r
- # ifndef OPENSSL_NO_BIO\r
- void ERR_print_errors(BIO *bp);\r
- # endif\r
-+\r
-+/* Add EFIAPI for UEFI version. */\r
-+#if defined(OPENSSL_SYS_UEFI)\r
-+void EFIAPI ERR_add_error_data(int num, ...);\r
-+#else\r
- void ERR_add_error_data(int num, ...);\r
++#ifndef OPENSSL_NO_ERR\r
++# define OPENSSL_NO_ERR\r
 +#endif\r
-+\r
- void ERR_add_error_vdata(int num, va_list args);\r
- void ERR_load_strings(int lib, ERR_STRING_DATA str[]);\r
- void ERR_unload_strings(int lib, ERR_STRING_DATA str[]);\r
++#ifndef OPENSSL_NO_HW\r
++# define OPENSSL_NO_HW\r
++#endif\r
+ #ifndef OPENSSL_NO_DYNAMIC_ENGINE\r
+ # define OPENSSL_NO_DYNAMIC_ENGINE\r
+ #endif\r
+@@ -56,12 +173,66 @@\r
+    who haven't had the time to do the appropriate changes in their\r
+    applications.  */\r
+ #ifdef OPENSSL_ALGORITHM_DEFINES\r
++# if defined(OPENSSL_NO_BF) && !defined(NO_BF)\r
++#  define NO_BF\r
++# endif\r
++# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)\r
++#  define NO_CAMELLIA\r
++# endif\r
++# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)\r
++#  define NO_CAPIENG\r
++# endif\r
++# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST)\r
++#  define NO_CAST\r
++# endif\r
++# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)\r
++#  define NO_CMS\r
++# endif\r
++# if defined(OPENSSL_NO_DEPRECATED) && !defined(NO_DEPRECATED)\r
++#  define NO_DEPRECATED\r
++# endif\r
++# if defined(OPENSSL_NO_DGRAM) && !defined(NO_DGRAM)\r
++#  define NO_DGRAM\r
++# endif\r
++# if defined(OPENSSL_NO_DSA) && !defined(NO_DSA)\r
++#  define NO_DSA\r
++# endif\r
++# if defined(OPENSSL_NO_DYNAMIC_ENGINE) && !defined(NO_DYNAMIC_ENGINE)\r
++#  define NO_DYNAMIC_ENGINE\r
++# endif\r
++# if defined(OPENSSL_NO_EC) && !defined(NO_EC)\r
++#  define NO_EC\r
++# endif\r
+ # if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)\r
+ #  define NO_EC_NISTP_64_GCC_128\r
+ # endif\r
++# if defined(OPENSSL_NO_ECDH) && !defined(NO_ECDH)\r
++#  define NO_ECDH\r
++# endif\r
++# if defined(OPENSSL_NO_ECDSA) && !defined(NO_ECDSA)\r
++#  define NO_ECDSA\r
++# endif\r
++# if defined(OPENSSL_NO_ENGINE) && !defined(NO_ENGINE)\r
++#  define NO_ENGINE\r
++# endif\r
++# if defined(OPENSSL_NO_ENGINES) && !defined(NO_ENGINES)\r
++#  define NO_ENGINES\r
++# endif\r
++# if defined(OPENSSL_NO_FILENAMES) && !defined(NO_FILENAMES)\r
++#  define NO_FILENAMES\r
++# endif\r
++# if defined(OPENSSL_NO_FP_API) && !defined(NO_FP_API)\r
++#  define NO_FP_API\r
++# endif\r
+ # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)\r
+ #  define NO_GMP\r
+ # endif\r
++# if defined(OPENSSL_NO_GOST) && !defined(NO_GOST)\r
++#  define NO_GOST\r
++# endif\r
++# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)\r
++#  define NO_IDEA\r
++# endif\r
+ # if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)\r
+ #  define NO_JPAKE\r
+ # endif\r
+@@ -71,27 +242,78 @@\r
+ # if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND)\r
+ #  define NO_LIBUNBOUND\r
+ # endif\r
++# if defined(OPENSSL_NO_LOCKING) && !defined(NO_LOCKING)\r
++#  define NO_LOCKING\r
++# endif\r
+ # if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)\r
+ #  define NO_MD2\r
+ # endif\r
++# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)\r
++#  define NO_MDC2\r
++# endif\r
++# if defined(OPENSSL_NO_POSIX_IO) && !defined(NO_POSIX_IO)\r
++#  define NO_POSIX_IO\r
++# endif\r
++# if defined(OPENSSL_NO_RC2) && !defined(NO_RC2)\r
++#  define NO_RC2\r
++# endif\r
+ # if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)\r
+ #  define NO_RC5\r
+ # endif\r
++# if defined(OPENSSL_NO_RCS) && !defined(NO_RCS)\r
++#  define NO_RCS\r
++# endif\r
+ # if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)\r
+ #  define NO_RFC3779\r
+ # endif\r
++# if defined(OPENSSL_NO_RIPEMD) && !defined(NO_RIPEMD)\r
++#  define NO_RIPEMD\r
++# endif\r
++# if defined(OPENSSL_NO_SCRYPT) && !defined(NO_SCRYPT)\r
++#  define NO_SCRYPT\r
++# endif\r
++# if defined(OPENSSL_NO_SCT) && !defined(NO_SCT)\r
++#  define NO_SCT\r
++# endif\r
+ # if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)\r
+ #  define NO_SCTP\r
+ # endif\r
++# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)\r
++#  define NO_SEED\r
++# endif\r
++# if defined(OPENSSL_NO_SHA0) && !defined(NO_SHA0)\r
++#  define NO_SHA0\r
++# endif\r
++# if defined(OPENSSL_NO_SOCK) && !defined(NO_SOCK)\r
++#  define NO_SOCK\r
++# endif\r
++# if defined(OPENSSL_NO_SRP) && !defined(NO_SRP)\r
++#  define NO_SRP\r
++# endif\r
+ # if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE)\r
+ #  define NO_SSL_TRACE\r
+ # endif\r
++# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2)\r
++#  define NO_SSL2\r
++# endif\r
++# if defined(OPENSSL_NO_SSL3) && !defined(NO_SSL3)\r
++#  define NO_SSL3\r
++# endif\r
++# if defined(OPENSSL_NO_STDIO) && !defined(NO_STDIO)\r
++#  define NO_STDIO\r
++# endif\r
+ # if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)\r
+ #  define NO_STORE\r
+ # endif\r
++# if defined(OPENSSL_NO_UI) && !defined(NO_UI)\r
++#  define NO_UI\r
++# endif\r
+ # if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)\r
+ #  define NO_UNIT_TEST\r
+ # endif\r
++# if defined(OPENSSL_NO_WHIRLPOOL) && !defined(NO_WHIRLPOOL)\r
++#  define NO_WHIRLPOOL\r
++# endif\r
+ #endif\r
\r
+ /* crypto/opensslconf.h.in */\r
+@@ -152,7 +374,7 @@\r
+ #endif\r
+ #endif\r
\r
+-#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)\r
++#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) && !defined(OPENSSL_SYSNAME_UEFI)\r
+ #define CONFIG_HEADER_BN_H\r
+ #undef BN_LLONG\r
\r
+diff U3 e_os.h e_os.h\r
+--- e_os.h     Thu Jul 09 19:57:16 2015\r
++++ e_os.h     Thu Oct 29 16:54:10 2015\r
+@@ -136,7 +136,7 @@\r
+ #  define MSDOS\r
+ # endif\r
\r
+-# if defined(MSDOS) && !defined(GETPID_IS_MEANINGLESS)\r
++# if (defined(MSDOS) || defined(OPENSSL_SYS_UEFI)) && !defined(GETPID_IS_MEANINGLESS)\r
+ #  define GETPID_IS_MEANINGLESS\r
+ # endif\r
\r
+diff U3 e_os2.h e_os2.h\r
+--- e_os2.h    Thu Jul 09 19:57:16 2015\r
++++ e_os2.h    Thu Oct 29 15:08:19 2015\r
+@@ -97,7 +97,14 @@\r
+  * For 32 bit environment, there seems to be the CygWin environment and then\r
+  * all the others that try to do the same thing Microsoft does...\r
+  */\r
+-# if defined(OPENSSL_SYSNAME_UWIN)\r
++/*\r
++ * UEFI lives here because it might be built with a Microsoft toolchain and\r
++ * we need to avoid the false positive match on Windows.\r
++ */\r
++# if defined(OPENSSL_SYSNAME_UEFI)\r
++#  undef OPENSSL_SYS_UNIX\r
++#  define OPENSSL_SYS_UEFI\r
++# elif defined(OPENSSL_SYSNAME_UWIN)\r
+ #  undef OPENSSL_SYS_UNIX\r
+ #  define OPENSSL_SYS_WIN32_UWIN\r
+ # else\r