public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Jiaxin Wu <jiaxin.wu@intel.com>
To: edk2-devel@lists.01.org
Cc: Wu Jiaxin <jiaxin.wu@intel.com>, Ye Ting <ting.ye@intel.com>,
	Long Qin <qin.long@intel.com>, Fu Siyuan <siyuan.fu@intel.com>,
	Zhang Lubo <lubo.zhang@intel.com>,
	Thomas Palmer <thomas.palmer@hpe.com>
Subject: [Patch 03/10] CryptoPkg: Enable ssl build in OpensslLib directly
Date: Wed, 14 Dec 2016 15:34:12 +0800	[thread overview]
Message-ID: <1481700859-76060-4-git-send-email-jiaxin.wu@intel.com> (raw)
In-Reply-To: <1481700859-76060-1-git-send-email-jiaxin.wu@intel.com>

This patch is used to enable ssl build in OpensslLib module
directly.

Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Long Qin <qin.long@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Zhang Lubo <lubo.zhang@intel.com>
Cc: Thomas Palmer <thomas.palmer@hpe.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Long Qin <qin.long@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
Tested-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
 CryptoPkg/Include/OpenSslSupport.h                 | 11 ++++-
 .../Library/BaseCryptLib/SysCall/CrtWrapper.c      | 10 +++++
 CryptoPkg/Library/OpensslLib/Install.cmd           |  1 +
 CryptoPkg/Library/OpensslLib/Install.sh            |  1 +
 CryptoPkg/Library/OpensslLib/OpensslLib.inf        | 52 +++++++++++++++++++++-
 CryptoPkg/Library/OpensslLib/process_files.sh      |  7 +--
 6 files changed, 75 insertions(+), 7 deletions(-)

diff --git a/CryptoPkg/Include/OpenSslSupport.h b/CryptoPkg/Include/OpenSslSupport.h
index dad40e4..600578e 100644
--- a/CryptoPkg/Include/OpenSslSupport.h
+++ b/CryptoPkg/Include/OpenSslSupport.h
@@ -1,9 +1,9 @@
 /** @file
   Root include file to support building OpenSSL Crypto Library.
 
-Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials
 are licensed and made available under the terms and conditions of the BSD License
 which accompanies this distribution.  The full text of the license may be found at
 http://opensource.org/licenses/bsd-license.php
 
@@ -116,10 +116,12 @@ typedef UINT32         ino_t;
 typedef UINT32         dev_t;
 typedef UINT16         nlink_t;
 typedef int            pid_t;
 typedef void           *DIR;
 typedef void           __sighandler_t (int);
+typedef UINT8          __uint8_t;
+typedef UINT8          sa_family_t;
 
 //
 // Structures from EFI Application Toolkit required to build Open SSL
 //
 struct tm {
@@ -170,10 +172,16 @@ struct stat {
   UINT32   st_gen;          /* file generation number */
   INT32    st_lspare;
   INT64    st_qspare[2];
 };
 
+struct sockaddr {
+  __uint8_t sa_len;         /* total length */
+  sa_family_t sa_family;    /* address family */
+  char    sa_data[14];      /* actually longer; address value */
+};
+
 //
 // Externs from EFI Application Toolkit required to build Open SSL
 //
 extern int errno;
 
@@ -271,7 +279,8 @@ extern FILE  *stdout;
 #define abort()                           ASSERT (FALSE)
 #define assert(expression)
 #define localtime(timer)                  NULL
 #define gmtime_r(timer,result)            (result = NULL)
 #define atoi(nptr)                        AsciiStrDecimalToUintn(nptr)
+#define gettimeofday(tvp,tz)              do { (tvp)->tv_sec = time(NULL); (tvp)->tv_usec = 0; } while (0)
 
 #endif
diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c b/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c
index c0ccc0e..a2386bc 100644
--- a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c
+++ b/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c
@@ -382,10 +382,15 @@ FILE *fopen (const char *c, const char *m)
 size_t fread (void *b, size_t c, size_t i, FILE *f)
 {
   return 0;
 }
 
+int fputs (const char *s, FILE *f)
+{
+  return 0;
+}
+
 int fprintf (FILE *f, const char *s, ...)
 {
   return 0;
 }
 
@@ -446,5 +451,10 @@ void syslog (int a, const char *c, ...)
 
 ssize_t write (int f, const void *b, size_t l)
 {
   return 0;
 }
+
+int printf (char const *fmt, ...)
+{
+  return 0;
+}
diff --git a/CryptoPkg/Library/OpensslLib/Install.cmd b/CryptoPkg/Library/OpensslLib/Install.cmd
index 3d86bc7..093414d 100755
--- a/CryptoPkg/Library/OpensslLib/Install.cmd
+++ b/CryptoPkg/Library/OpensslLib/Install.cmd
@@ -6,10 +6,11 @@ copy crypto\crypto.h            include\openssl
 copy crypto\opensslv.h          include\openssl
 copy crypto\opensslconf.h       include\openssl
 copy crypto\ebcdic.h            include\openssl
 copy crypto\symhacks.h          include\openssl
 copy crypto\ossl_typ.h          include\openssl
+copy crypto\o_dir.h             include
 copy crypto\objects\objects.h   include\openssl
 copy crypto\objects\obj_mac.h   include\openssl
 copy crypto\md4\md4.h           include\openssl
 copy crypto\md5\md5.h           include\openssl
 copy crypto\sha\sha.h           include\openssl
diff --git a/CryptoPkg/Library/OpensslLib/Install.sh b/CryptoPkg/Library/OpensslLib/Install.sh
index e6703d1..7bd55f6 100755
--- a/CryptoPkg/Library/OpensslLib/Install.sh
+++ b/CryptoPkg/Library/OpensslLib/Install.sh
@@ -8,10 +8,11 @@ cp crypto/crypto.h            include/openssl
 cp crypto/opensslv.h          include/openssl
 cp crypto/opensslconf.h       include/openssl
 cp crypto/ebcdic.h            include/openssl
 cp crypto/symhacks.h          include/openssl
 cp crypto/ossl_typ.h          include/openssl
+cp crypto/o_dir.h             include
 cp crypto/objects/objects.h   include/openssl
 cp crypto/objects/obj_mac.h   include/openssl
 cp crypto/md4/md4.h           include/openssl
 cp crypto/md5/md5.h           include/openssl
 cp crypto/sha/sha.h           include/openssl
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
index 8121e83..c14e36d 100644
--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
@@ -468,13 +468,63 @@
   $(OPENSSL_PATH)/crypto/ocsp/ocsp_srv.c
   $(OPENSSL_PATH)/crypto/ocsp/ocsp_prn.c
   $(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c
   $(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c
   $(OPENSSL_PATH)/crypto/krb5/krb5_asn.c
+  $(OPENSSL_PATH)/crypto/pqueue/pqueue.c
   $(OPENSSL_PATH)/crypto/cmac/cmac.c
   $(OPENSSL_PATH)/crypto/cmac/cm_ameth.c
   $(OPENSSL_PATH)/crypto/cmac/cm_pmeth.c
+  $(OPENSSL_PATH)/ssl/s2_meth.c
+  $(OPENSSL_PATH)/ssl/s2_srvr.c
+  $(OPENSSL_PATH)/ssl/s2_clnt.c
+  $(OPENSSL_PATH)/ssl/s2_lib.c
+  $(OPENSSL_PATH)/ssl/s2_enc.c
+  $(OPENSSL_PATH)/ssl/s2_pkt.c
+  $(OPENSSL_PATH)/ssl/s3_meth.c
+  $(OPENSSL_PATH)/ssl/s3_srvr.c
+  $(OPENSSL_PATH)/ssl/s3_clnt.c
+  $(OPENSSL_PATH)/ssl/s3_lib.c
+  $(OPENSSL_PATH)/ssl/s3_enc.c
+  $(OPENSSL_PATH)/ssl/s3_pkt.c
+  $(OPENSSL_PATH)/ssl/s3_both.c
+  $(OPENSSL_PATH)/ssl/s3_cbc.c
+  $(OPENSSL_PATH)/ssl/s23_meth.c
+  $(OPENSSL_PATH)/ssl/s23_srvr.c
+  $(OPENSSL_PATH)/ssl/s23_clnt.c
+  $(OPENSSL_PATH)/ssl/s23_lib.c
+  $(OPENSSL_PATH)/ssl/s23_pkt.c
+  $(OPENSSL_PATH)/ssl/t1_meth.c
+  $(OPENSSL_PATH)/ssl/t1_srvr.c
+  $(OPENSSL_PATH)/ssl/t1_clnt.c
+  $(OPENSSL_PATH)/ssl/t1_lib.c
+  $(OPENSSL_PATH)/ssl/t1_enc.c
+  $(OPENSSL_PATH)/ssl/t1_ext.c
+  $(OPENSSL_PATH)/ssl/d1_meth.c
+  $(OPENSSL_PATH)/ssl/d1_srvr.c
+  $(OPENSSL_PATH)/ssl/d1_clnt.c
+  $(OPENSSL_PATH)/ssl/d1_lib.c
+  $(OPENSSL_PATH)/ssl/d1_pkt.c
+  $(OPENSSL_PATH)/ssl/d1_both.c
+  $(OPENSSL_PATH)/ssl/d1_srtp.c
+  $(OPENSSL_PATH)/ssl/ssl_lib.c
+  $(OPENSSL_PATH)/ssl/ssl_err2.c
+  $(OPENSSL_PATH)/ssl/ssl_cert.c
+  $(OPENSSL_PATH)/ssl/ssl_sess.c
+  $(OPENSSL_PATH)/ssl/ssl_ciph.c
+  $(OPENSSL_PATH)/ssl/ssl_stat.c
+  $(OPENSSL_PATH)/ssl/ssl_rsa.c
+  $(OPENSSL_PATH)/ssl/ssl_asn1.c
+  $(OPENSSL_PATH)/ssl/ssl_txt.c
+  $(OPENSSL_PATH)/ssl/ssl_algs.c
+  $(OPENSSL_PATH)/ssl/bio_ssl.c
+  $(OPENSSL_PATH)/ssl/ssl_err.c
+  $(OPENSSL_PATH)/ssl/kssl.c
+  $(OPENSSL_PATH)/ssl/t1_reneg.c
+  $(OPENSSL_PATH)/ssl/tls_srp.c
+  $(OPENSSL_PATH)/ssl/t1_trce.c
+  $(OPENSSL_PATH)/ssl/ssl_utst.c
 
 # Autogenerated files list ends here
 
 [Packages]
   MdePkg/MdePkg.dec
@@ -498,11 +548,11 @@
   # C4305: truncation from type1 to type2 of smaller size
   # C4306: conversion from type1 to type2 of greater size
   # C4702: Potentially uninitialized local variable name used
   # C4311: pointer truncation from 'type' to 'type'
   #
-  MSFT:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4244 /wd4701 /wd4702 /wd4706
+  MSFT:*_*_IA32_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER $(OPENSSL_FLAGS) /wd4244 /wd4245 /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 /wd4311
   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) /w
   INTEL:*_*_X64_CC_FLAGS    = -U_WIN32 -U_WIN64 -U_MSC_VER -U__ICC $(OPENSSL_FLAGS) /w
diff --git a/CryptoPkg/Library/OpensslLib/process_files.sh b/CryptoPkg/Library/OpensslLib/process_files.sh
index 885adf3..6f069ce 100755
--- a/CryptoPkg/Library/OpensslLib/process_files.sh
+++ b/CryptoPkg/Library/OpensslLib/process_files.sh
@@ -40,11 +40,10 @@ fi
 	no-jpake \
 	no-krb5 \
 	no-locking \
 	no-mdc2 \
 	no-posix-io \
-	no-pqueue \
 	no-rc2 \
 	no-rcs \
 	no-rfc3779 \
 	no-ripemd \
 	no-scrypt \
@@ -75,17 +74,15 @@ function filelist ()
 	    RELATIVE_DIRECTORY=*)
 		eval "$LINE"
 		;;
 	    LIBSRC=*)
 		LIBSRC=$(echo "$LINE" | sed s/^LIBSRC=//)
-		if [ "$RELATIVE_DIRECTORY" != "ssl" ]; then
-		    for FILE in $LIBSRC; do
+		for FILE in $LIBSRC; do
 			if [ "$FILE" != "b_print.c" ]; then
 			    echo -e '  $(OPENSSL_PATH)/'$RELATIVE_DIRECTORY/$FILE\\r\\
 			fi
-		    done
-		fi
+		done
 		;;
 	esac
     done
     echo -e \\r
 }
-- 
1.9.5.msysgit.1



  parent reply	other threads:[~2016-12-14  7:34 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-14  7:34 [Patch 00/10] Sync staging/HTTPS-TLS feature into edk2 master Jiaxin Wu
2016-12-14  7:34 ` [Patch 01/10] MdePkg: Add TLS related protocol definition Jiaxin Wu
2016-12-14  8:36   ` Long, Qin
2016-12-14  8:39     ` Wu, Jiaxin
2016-12-15  8:34       ` Ye, Ting
2016-12-14  8:43   ` Fu, Siyuan
2016-12-14  7:34 ` [Patch 02/10] MdePkg: Add a header to standardize TLS definitions Jiaxin Wu
2016-12-14  8:42   ` Long, Qin
2016-12-14  8:43   ` Fu, Siyuan
2016-12-15  8:35   ` Ye, Ting
2016-12-14  7:34 ` Jiaxin Wu [this message]
2016-12-15  8:37   ` [Patch 03/10] CryptoPkg: Enable ssl build in OpensslLib directly Ye, Ting
2016-12-14  7:34 ` [Patch 04/10] CryptoPkg: Add new TlsLib library Jiaxin Wu
2016-12-16  2:10   ` Ye, Ting
2016-12-16  2:51     ` Wu, Jiaxin
2016-12-14  7:34 ` [Patch 05/10] NetworkPkg/TlsDxe: TlsDxe driver implementation over OpenSSL Jiaxin Wu
2016-12-14  8:41   ` Fu, Siyuan
2016-12-15  7:24     ` Wu, Jiaxin
2016-12-14  7:34 ` [Patch 06/10] NetworkPkg/TlsAuthConfigDxe: Provide the UI to support TLS auth configuration Jiaxin Wu
2016-12-15  2:22   ` Fu, Siyuan
2016-12-22  2:52     ` Ye, Ting
2016-12-22  3:13       ` Wu, Jiaxin
2016-12-14  7:34 ` [Patch 07/10] NetworkPkg/HttpDxe: HTTPS support over IPv4 and IPv6 Jiaxin Wu
2016-12-15  2:39   ` Fu, Siyuan
2016-12-15  7:14     ` Wu, Jiaxin
2016-12-22  7:33   ` Ye, Ting
2016-12-22  8:30     ` Wu, Jiaxin
2016-12-14  7:34 ` [Patch 08/10] NetworkPkg/NetworkPkg.dsc: Enable TlsDxe and TlsAuthConfigDxe module Jiaxin Wu
2016-12-15  2:39   ` Fu, Siyuan
2016-12-22  7:37   ` Ye, Ting
2016-12-14  7:34 ` [Patch 09/10] Nt32Pkg/Nt32Pkg.dsc: Remove the flag for OpensslLib and BaseCryptLib Jiaxin Wu
2016-12-14  7:56   ` Ni, Ruiyu
2016-12-15  8:25   ` Long, Qin
2016-12-22  7:39   ` Ye, Ting
2016-12-14  7:34 ` [Patch 10/10] Nt32Pkg: Enable HTTPS boot feature for Nt32 platform Jiaxin Wu
2016-12-14  7:44   ` Yao, Jiewen
2016-12-14  7:46     ` Wu, Jiaxin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1481700859-76060-4-git-send-email-jiaxin.wu@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox