From: David Woodhouse <david.woodho...@intel.com>

Putting these on the command line as we do at the moment means that they
are *only* visible when actually building the OpenSSL code itself. When
building other things like BaseCryptLib, they were missing. Which could
lead to discrepancies in structures defined by the header files, between
the OpenSSL code and the EDK II code which calls it.

Move the definitions into opensslconf.h where they would normally live
in a standard build of OpenSSL.

Note: Do *not* set OPENSSL_NO_LHASH or OPENSSL_NO_OCSP since those weren't
effectively disabled before; the directories was still being included in
the build. If we actually disable then, the build breaks. We can hopefully
fix at least OCSP upstream later, but one thing at a time...

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Woodhouse <david.woodho...@intel.com>
---
 .../Library/OpensslLib/EDKII_openssl-1.0.2d.patch  | 308 ++++++++++++++++++++-
 CryptoPkg/Library/OpensslLib/OpensslLib.inf        |  57 +---
 2 files changed, 321 insertions(+), 44 deletions(-)

diff --git a/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch 
b/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch
index 8d2a1d8..bdfd05d 100644
--- a/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch
+++ b/CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2d.patch
@@ -343,7 +343,7 @@ diff U3 crypto/crypto.h crypto/crypto.h
  # else
 --- crypto/opensslconf.h       2015-07-09 13:03:09.000000000 +0100
 +++ crypto/opensslconf.h       2015-08-12 09:26:52.660909861 +0100
-@@ -5,6 +5,9 @@
+@@ -5,48 +5,165 @@
  extern "C" {
  #endif
  /* OpenSSL was configured with the following options: */
@@ -353,7 +353,311 @@ diff U3 crypto/crypto.h crypto/crypto.h
  #ifndef OPENSSL_DOING_MAKEDEPEND
  
  
-@@ -152,7 +155,7 @@ extern "C" {
++#ifndef OPENSSL_NO_BF
++# define OPENSSL_NO_BF
++#endif
++#ifndef OPENSSL_NO_CAMELLIA
++# define OPENSSL_NO_CAMELLIA
++#endif
++#ifndef OPENSSL_NO_CAPIENG
++# define OPENSSL_NO_CAPIENG
++#endif
++#ifndef OPENSSL_NO_CAST
++# define OPENSSL_NO_CAST
++#endif
++#ifndef OPENSSL_NO_CMS
++# define OPENSSL_NO_CMS
++#endif
++#ifndef OPENSSL_NO_DEPRECATED
++# define OPENSSL_NO_DEPRECATED
++#endif
++#ifndef OPENSSL_NO_DGRAM
++# define OPENSSL_NO_DGRAM
++#endif
++#ifndef OPENSSL_NO_DSA
++# define OPENSSL_NO_DSA
++#endif
++#ifndef OPENSSL_NO_DYNAMIC_ENGINE
++# define OPENSSL_NO_DYNAMIC_ENGINE
++#endif
++#ifndef OPENSSL_NO_EC
++# define OPENSSL_NO_EC
++#endif
+ #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
+ # define OPENSSL_NO_EC_NISTP_64_GCC_128
+ #endif
++#ifndef OPENSSL_NO_ECDH
++# define OPENSSL_NO_ECDH
++#endif
++#ifndef OPENSSL_NO_ECDSA
++# define OPENSSL_NO_ECDSA
++#endif
++#ifndef OPENSSL_NO_ENGINE
++# define OPENSSL_NO_ENGINE
++#endif
++#ifndef OPENSSL_NO_ENGINES
++# define OPENSSL_NO_ENGINES
++#endif
++#ifndef OPENSSL_NO_FILENAMES
++# define OPENSSL_NO_FILENAMES
++#endif
++#ifndef OPENSSL_NO_FP_API
++# define OPENSSL_NO_FP_API
++#endif
+ #ifndef OPENSSL_NO_GMP
+ # define OPENSSL_NO_GMP
+ #endif
++#ifndef OPENSSL_NO_GOST
++# define OPENSSL_NO_GOST
++#endif
++#ifndef OPENSSL_NO_IDEA
++# define OPENSSL_NO_IDEA
++#endif
+ #ifndef OPENSSL_NO_JPAKE
+ # define OPENSSL_NO_JPAKE
+ #endif
+ #ifndef OPENSSL_NO_KRB5
+ # define OPENSSL_NO_KRB5
+ #endif
+ #ifndef OPENSSL_NO_LIBUNBOUND
+ # define OPENSSL_NO_LIBUNBOUND
+ #endif
++#ifndef OPENSSL_NO_LOCKING
++# define OPENSSL_NO_LOCKING
++#endif
+ #ifndef OPENSSL_NO_MD2
+ # define OPENSSL_NO_MD2
+ #endif
++#ifndef OPENSSL_NO_MDC2
++# define OPENSSL_NO_MDC2
++#endif
++#ifndef OPENSSL_NO_POSIX_IO
++# define OPENSSL_NO_POSIX_IO
++#endif
++#ifndef OPENSSL_NO_RC2
++# define OPENSSL_NO_RC2
++#endif
+ #ifndef OPENSSL_NO_RC5
+ # define OPENSSL_NO_RC5
+ #endif
++#ifndef OPENSSL_NO_RCS
++# define OPENSSL_NO_RCS
++#endif
+ #ifndef OPENSSL_NO_RFC3779
+ # define OPENSSL_NO_RFC3779
+ #endif
++#ifndef OPENSSL_NO_RIPEMD
++# define OPENSSL_NO_RIPEMD
++#endif
++#ifndef OPENSSL_NO_SCRYPT
++# define OPENSSL_NO_SCRYPT
++#endif
++#ifndef OPENSSL_NO_SCT
++# define OPENSSL_NO_SCT
++#endif
+ #ifndef OPENSSL_NO_SCTP
+ # define OPENSSL_NO_SCTP
+ #endif
++#ifndef OPENSSL_NO_SEED
++# define OPENSSL_NO_SEED
++#endif
++#ifndef OPENSSL_NO_SHA0
++# define OPENSSL_NO_SHA0
++#endif
++#ifndef OPENSSL_NO_SOCK
++# define OPENSSL_NO_SOCK
++#endif
++#ifndef OPENSSL_NO_SRP
++# define OPENSSL_NO_SRP
++#endif
+ #ifndef OPENSSL_NO_SSL_TRACE
+ # define OPENSSL_NO_SSL_TRACE
+ #endif
++#ifndef OPENSSL_NO_SSL2
++# define OPENSSL_NO_SSL2
++#endif
++#ifndef OPENSSL_NO_SSL3
++# define OPENSSL_NO_SSL3
++#endif
++#ifndef OPENSSL_NO_STDIO
++# define OPENSSL_NO_STDIO
++#endif
+ #ifndef OPENSSL_NO_STORE
+ # define OPENSSL_NO_STORE
+ #endif
++#ifndef OPENSSL_NO_UI
++# define OPENSSL_NO_UI
++#endif
+ #ifndef OPENSSL_NO_UNIT_TEST
+ # define OPENSSL_NO_UNIT_TEST
+ #endif
++#ifndef OPENSSL_NO_WHIRLPOOL
++# define OPENSSL_NO_WHIRLPOOL
++#endif
+ 
+ #endif /* OPENSSL_DOING_MAKEDEPEND */
+ 
++#ifndef OPENSSL_NO_ASM
++# define OPENSSL_NO_ASM
++#endif
++#ifndef OPENSSL_NO_ERR
++# define OPENSSL_NO_ERR
++#endif
++#ifndef OPENSSL_NO_HW
++# define OPENSSL_NO_HW
++#endif
+ #ifndef OPENSSL_NO_DYNAMIC_ENGINE
+ # define OPENSSL_NO_DYNAMIC_ENGINE
+ #endif
+@@ -56,42 +179,147 @@ extern "C" {
+    who haven't had the time to do the appropriate changes in their
+    applications.  */
+ #ifdef OPENSSL_ALGORITHM_DEFINES
++# if defined(OPENSSL_NO_BF) && !defined(NO_BF)
++#  define NO_BF
++# endif
++# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)
++#  define NO_CAMELLIA
++# endif
++# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)
++#  define NO_CAPIENG
++# endif
++# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST)
++#  define NO_CAST
++# endif
++# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)
++#  define NO_CMS
++# endif
++# if defined(OPENSSL_NO_DEPRECATED) && !defined(NO_DEPRECATED)
++#  define NO_DEPRECATED
++# endif
++# if defined(OPENSSL_NO_DGRAM) && !defined(NO_DGRAM)
++#  define NO_DGRAM
++# endif
++# if defined(OPENSSL_NO_DSA) && !defined(NO_DSA)
++#  define NO_DSA
++# endif
++# if defined(OPENSSL_NO_DYNAMIC_ENGINE) && !defined(NO_DYNAMIC_ENGINE)
++#  define NO_DYNAMIC_ENGINE
++# endif
++# if defined(OPENSSL_NO_EC) && !defined(NO_EC)
++#  define NO_EC
++# endif
+ # if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && 
!defined(NO_EC_NISTP_64_GCC_128)
+ #  define NO_EC_NISTP_64_GCC_128
+ # endif
++# if defined(OPENSSL_NO_ECDH) && !defined(NO_ECDH)
++#  define NO_ECDH
++# endif
++# if defined(OPENSSL_NO_ECDSA) && !defined(NO_ECDSA)
++#  define NO_ECDSA
++# endif
++# if defined(OPENSSL_NO_ENGINE) && !defined(NO_ENGINE)
++#  define NO_ENGINE
++# endif
++# if defined(OPENSSL_NO_ENGINES) && !defined(NO_ENGINES)
++#  define NO_ENGINES
++# endif
++# if defined(OPENSSL_NO_FILENAMES) && !defined(NO_FILENAMES)
++#  define NO_FILENAMES
++# endif
++# if defined(OPENSSL_NO_FP_API) && !defined(NO_FP_API)
++#  define NO_FP_API
++# endif
+ # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)
+ #  define NO_GMP
+ # endif
++# if defined(OPENSSL_NO_GOST) && !defined(NO_GOST)
++#  define NO_GOST
++# endif
++# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)
++#  define NO_IDEA
++# endif
+ # if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)
+ #  define NO_JPAKE
+ # endif
+ # if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5)
+ #  define NO_KRB5
+ # endif
+ # if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND)
+ #  define NO_LIBUNBOUND
+ # endif
++# if defined(OPENSSL_NO_LOCKING) && !defined(NO_LOCKING)
++#  define NO_LOCKING
++# endif
+ # if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)
+ #  define NO_MD2
+ # endif
++# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)
++#  define NO_MDC2
++# endif
++# if defined(OPENSSL_NO_POSIX_IO) && !defined(NO_POSIX_IO)
++#  define NO_POSIX_IO
++# endif
++# if defined(OPENSSL_NO_RC2) && !defined(NO_RC2)
++#  define NO_RC2
++# endif
+ # if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)
+ #  define NO_RC5
+ # endif
++# if defined(OPENSSL_NO_RCS) && !defined(NO_RCS)
++#  define NO_RCS
++# endif
+ # if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)
+ #  define NO_RFC3779
+ # endif
++# if defined(OPENSSL_NO_RIPEMD) && !defined(NO_RIPEMD)
++#  define NO_RIPEMD
++# endif
++# if defined(OPENSSL_NO_SCRYPT) && !defined(NO_SCRYPT)
++#  define NO_SCRYPT
++# endif
++# if defined(OPENSSL_NO_SCT) && !defined(NO_SCT)
++#  define NO_SCT
++# endif
+ # if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)
+ #  define NO_SCTP
+ # endif
++# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)
++#  define NO_SEED
++# endif
++# if defined(OPENSSL_NO_SHA0) && !defined(NO_SHA0)
++#  define NO_SHA0
++# endif
++# if defined(OPENSSL_NO_SOCK) && !defined(NO_SOCK)
++#  define NO_SOCK
++# endif
++# if defined(OPENSSL_NO_SRP) && !defined(NO_SRP)
++#  define NO_SRP
++# endif
+ # if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE)
+ #  define NO_SSL_TRACE
+ # endif
++# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2)
++#  define NO_SSL2
++# endif
++# if defined(OPENSSL_NO_SSL3) && !defined(NO_SSL3)
++#  define NO_SSL3
++# endif
++# if defined(OPENSSL_NO_STDIO) && !defined(NO_STDIO)
++#  define NO_STDIO
++# endif
+ # if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)
+ #  define NO_STORE
+ # endif
++# if defined(OPENSSL_NO_UI) && !defined(NO_UI)
++#  define NO_UI
++# endif
+ # if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)
+ #  define NO_UNIT_TEST
+ # endif
++# if defined(OPENSSL_NO_WHIRLPOOL) && !defined(NO_WHIRLPOOL)
++#  define NO_WHIRLPOOL
++# endif
+ #endif
+ 
+ /* crypto/opensslconf.h.in */
+@@ -152,7 +396,7 @@ extern "C" {
  #endif
  #endif
  
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf 
b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
index 4abdc6a..2e74f6c 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
@@ -21,34 +21,7 @@
   VERSION_STRING                 = 1.0
   LIBRARY_CLASS                  = OpensslLib
   DEFINE OPENSSL_PATH            = openssl-1.0.2d
-  DEFINE OPENSSL_FLAGS           = -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE 
-D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED 
-DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS 
-DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 
-DOPENSSL_NO_DYNAMIC_ENGINE -DOPENSSL_NO_STDIO -DOPENSSL_NO_POSIX_IO 
-DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_ASM
-  DEFINE OPENSSL_EXFLAGS         = -DOPENSSL_SMALL_FOOTPRINT -DOPENSSL_NO_SHA0 
-DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING 
-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_RIPEMD -DOPENSSL_NO_RC2 -DOPENSSL_NO_IDEA 
-DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_WHIRLPOOL -DOPENSSL_NO_DSA 
-DOPENSSL_NO_EC -DOPENSSL_NO_ECDH -DOPENSSL_NO_ECDSA -DOPENSSL_NO_SRP 
-DOPENSSL_NO_ENGINE
-
-#
-# OPENSSL_FLAGS is set to define the following flags to be compatible with
-# EDK II build system and UEFI executiuon environment
-#
-#   OPENSSL_SYS_UEFI
-#   L_ENDIAN
-#   _CRT_SECURE_NO_DEPRECATE
-#   _CRT_NONSTDC_NO_DEPRECATE
-#   OPENSSL_NO_CAMELLIA
-#   OPENSSL_NO_SEED
-#   OPENSSL_NO_RC5
-#   OPENSSL_NO_MDC2
-#   OPENSSL_NO_SOCK
-#   OPENSSL_NO_CMS
-#   OPENSSL_NO_JPAKE
-#   OPENSSL_NO_CAPIENG
-#   OPENSSL_NO_ERR
-#   OPENSSL_NO_KRB5
-#   OPENSSL_NO_DYNAMIC_ENGINE
-#   OPENSSL_NO_STDIO
-#   OPENSSL_NO_POSIX_IO
-#   OPENSSL_NO_FP_API
-#   OPENSSL_NO_DGRAM
-#   OPENSSL_NO_ASM
-#
+  DEFINE OPENSSL_FLAGS           = -DL_ENDIAN -DOPENSSL_SMALL_FOOTPRINT 
-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
 
 #
 #  VALID_ARCHITECTURES           = IA32 X64 IPF ARM AARCH64
@@ -890,19 +863,19 @@
   # C4306: conversion from type1 to type2 of greater size
   # C4702: Potentially uninitialized local variable name used
   #
-  MSFT:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) /wd4244 /wd4701 /wd4702 /wd4706
-  MSFT:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 
/wd4702 /wd4706
-  MSFT:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) /wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 
/wd4702 /wd4706
+  MSFT:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) 
/wd4244 /wd4701 /wd4702 /wd4706
+  MSFT:*_*_X64_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) 
/wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706
+  MSFT:*_*_IPF_CC_FLAGS     = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) 
/wd4133 /wd4244 /wd4245 /wd4267 /wd4701 /wd4305 /wd4306 /wd4702 /wd4706
 
-  INTEL:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC 
$(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w
-  INTEL:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC 
$(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w
-  INTEL:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC 
$(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) /w
+  INTEL:*_*_IA32_CC_FLAGS   = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC 
$(OPENSSL_FLAGS) /w
+  INTEL:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC 
$(OPENSSL_FLAGS) /w
+  INTEL:*_*_IPF_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC 
$(OPENSSL_FLAGS) /w
 
-  GCC:*_*_IA32_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) -w
-  GCC:*_*_X64_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) -w -UNO_BUILTIN_VA_FUNCS
-  GCC:*_*_IPF_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) -w
-  GCC:*_*_ARM_CC_FLAGS      = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w
-  GCC:*_*_AARCH64_CC_FLAGS  = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) -w
+  GCC:*_*_IA32_CC_FLAGS     = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w
+  GCC:*_*_X64_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w 
-UNO_BUILTIN_VA_FUNCS
+  GCC:*_*_IPF_CC_FLAGS      = -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w
+  GCC:*_*_ARM_CC_FLAGS      = $(OPENSSL_FLAGS) -w
+  GCC:*_*_AARCH64_CC_FLAGS  = $(OPENSSL_FLAGS) -w
 
   # suppress the following warnings in openssl so we don't break the build 
with warnings-as-errors:
   # 1295: Deprecated declaration <entity> - give arg types
@@ -916,6 +889,6 @@
   #  513: a value of type <type> cannot be assigned to an entity of type <type>
   #  188: enumerated type mixed with another type (i.e. passing an integer as 
an enum without a cast)
   # 1296: Extended constant initialiser used
-  RVCT:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) $(OPENSSL_EXFLAGS) 
--library_interface=aeabi_clib99 --fpu=vfpv3 
--diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188
-  XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) -w
-  XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) 
$(OPENSSL_EXFLAGS) -w
+  RVCT:*_*_ARM_CC_FLAGS     = $(OPENSSL_FLAGS) 
--library_interface=aeabi_clib99 --fpu=vfpv3 
--diag_suppress=1296,1295,550,1293,111,68,177,223,144,513,188
+  XCODE:*_*_IA32_CC_FLAGS   = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w
+  XCODE:*_*_X64_CC_FLAGS    = -mmmx -msse -U_WIN32 -U_WIN64 $(OPENSSL_FLAGS) -w
-- 
2.4.3

-- 
David Woodhouse                            Open Source Technology Centre
david.woodho...@intel.com                              Intel Corporation

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to