]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch
CryptoPkg/OpensslLib: add softfloat dependency for ARM
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / EDKII_openssl-1.0.2d.patch
index 72e5f3da54c47719d42533574ee7dfcddc2dda4b..6be397b8b9594bb6a7f2d7928317a15b82a3aef5 100644 (file)
@@ -210,25 +210,36 @@ diff U3 crypto/rsa/rsa_ameth.c crypto/rsa/rsa_ameth.c
 diff U3 crypto/x509/x509_vfy.c crypto/x509/x509_vfy.c\r
 --- crypto/x509/x509_vfy.c     Thu Jun 11 21:52:58 2015\r
 +++ crypto/x509/x509_vfy.c     Fri Jun 12 11:29:37 2015\r
-@@ -1653,6 +1653,10 @@\r
\r
- static int check_cert_time(X509_STORE_CTX *ctx, X509 *x)\r
- {\r
-+#ifdef OPENSSL_SYS_UEFI\r
-+    /* Bypass Certificate Time Checking for UEFI version. */\r
-+    return 1;\r
-+#else\r
-     time_t *ptime;\r
-     int i;\r
\r
-@@ -1692,6 +1696,7 @@\r
-     }\r
\r
-     return 1;\r
-+#endif\r
- }\r
\r
- static int internal_verify(X509_STORE_CTX *ctx)\r
+@@ -935,6 +935,8 @@\r
+         ctx->current_crl = crl;\r
+     if (ctx->param->flags & X509_V_FLAG_USE_CHECK_TIME)\r
+         ptime = &ctx->param->check_time;\r
++    else if (ctx->param->flags & X509_V_FLAG_NO_CHECK_TIME)\r
++        return 1;\r
+     else\r
+         ptime = NULL;\r
\r
+@@ -1658,6 +1660,8 @@\r
\r
+     if (ctx->param->flags & X509_V_FLAG_USE_CHECK_TIME)\r
+         ptime = &ctx->param->check_time;\r
++    else if (ctx->param->flags & X509_V_FLAG_NO_CHECK_TIME)\r
++        return 1;\r
+     else\r
+         ptime = NULL;\r
\r
+diff U3 crypto/x509/x509_vfy.h crypto/x509/x509_vfy.h\r
+--- crypto/x509/x509_vfy.h     Thu Jul 09 19:57:16 2015\r
++++ crypto/x509/x509_vfy.h     Thu Oct 29 14:05:57 2015\r
+@@ -438,6 +438,8 @@\r
+  * will force the behaviour to match that of previous versions.\r
+  */\r
+ # define X509_V_FLAG_NO_ALT_CHAINS               0x100000\r
++/* Do not check certificate/CRL validity against current time */\r
++# define X509_V_FLAG_NO_CHECK_TIME               0x200000\r
\r
+ # define X509_VP_FLAG_DEFAULT                    0x1\r
+ # define X509_VP_FLAG_OVERWRITE                  0x2\r
 diff U3 crypto/x509v3/ext_dat.h crypto/x509v3/ext_dat.h\r
 --- crypto/x509v3/ext_dat.h    Thu Jun 11 21:50:12 2015\r
 +++ crypto/x509v3/ext_dat.h    Fri Jun 12 11:11:03 2015\r
@@ -331,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
- /* 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
\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