diff --git a/0001-CryptoPkg-OpensslLib-Update-process_files.pl-to-gene.patch b/0001-CryptoPkg-OpensslLib-Update-process_files.pl-to-gene.patch new file mode 100644 index 0000000000000000000000000000000000000000..6b7ae06f7e868909894b9f026da7eb87694262af --- /dev/null +++ b/0001-CryptoPkg-OpensslLib-Update-process_files.pl-to-gene.patch @@ -0,0 +1,643 @@ +From 27d0e759917b62f02965817dafdbeb08012ffd8a Mon Sep 17 00:00:00 2001 +From: Shenglei Zhang +Date: Tue, 29 Oct 2019 15:43:11 +0000 +Subject: [PATCH 1/4] CryptoPkg/OpensslLib: Update process_files.pl to generate + .h files + +There are missing headers added into INF files at 8906f076de35b222a.. +They are now manually added but not auto-generated. So we update the +perl script to enable this feature. +Meanwhile, update the order of the .h files in INF files, which are +auto-generated now. +https://bugzilla.tianocore.org/show_bug.cgi?id=2085 + +Cc: Jian J Wang +Cc: Xiaoyu Lu +Signed-off-by: Shenglei Zhang +Reviewed-by: Jian J Wang +Reviewed-by: Xiaoyu Lu +--- + CryptoPkg/Library/OpensslLib/OpensslLib.inf | 103 +++++++++--------- + .../Library/OpensslLib/OpensslLibCrypto.inf | 96 ++++++++-------- + CryptoPkg/Library/OpensslLib/process_files.pl | 28 +++++ + 3 files changed, 129 insertions(+), 98 deletions(-) + +diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf +index 7432321fd4..dd873a0dcd 100644 +--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf ++++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf +@@ -34,9 +34,7 @@ + $(OPENSSL_PATH)/crypto/aes/aes_misc.c + $(OPENSSL_PATH)/crypto/aes/aes_ofb.c + $(OPENSSL_PATH)/crypto/aes/aes_wrap.c +- $(OPENSSL_PATH)/crypto/aes/aes_locl.h + $(OPENSSL_PATH)/crypto/aria/aria.c +- $(OPENSSL_PATH)/crypto/arm_arch.h + $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c + $(OPENSSL_PATH)/crypto/asn1/a_d2i_fp.c + $(OPENSSL_PATH)/crypto/asn1/a_digest.c +@@ -101,21 +99,12 @@ + $(OPENSSL_PATH)/crypto/asn1/x_sig.c + $(OPENSSL_PATH)/crypto/asn1/x_spki.c + $(OPENSSL_PATH)/crypto/asn1/x_val.c +- $(OPENSSL_PATH)/crypto/asn1/standard_methods.h +- $(OPENSSL_PATH)/crypto/asn1/charmap.h +- $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h +- $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h +- $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h + $(OPENSSL_PATH)/crypto/async/arch/async_null.c + $(OPENSSL_PATH)/crypto/async/arch/async_posix.c + $(OPENSSL_PATH)/crypto/async/arch/async_win.c + $(OPENSSL_PATH)/crypto/async/async.c + $(OPENSSL_PATH)/crypto/async/async_err.c + $(OPENSSL_PATH)/crypto/async/async_wait.c +- $(OPENSSL_PATH)/crypto/async/arch/async_win.h +- $(OPENSSL_PATH)/crypto/async/async_locl.h +- $(OPENSSL_PATH)/crypto/async/arch/async_posix.h +- $(OPENSSL_PATH)/crypto/async/arch/async_null.h + $(OPENSSL_PATH)/crypto/bio/b_addr.c + $(OPENSSL_PATH)/crypto/bio/b_dump.c + $(OPENSSL_PATH)/crypto/bio/b_sock.c +@@ -138,7 +127,6 @@ + $(OPENSSL_PATH)/crypto/bio/bss_mem.c + $(OPENSSL_PATH)/crypto/bio/bss_null.c + $(OPENSSL_PATH)/crypto/bio/bss_sock.c +- $(OPENSSL_PATH)/crypto/bio/bio_lcl.h + $(OPENSSL_PATH)/crypto/bn/bn_add.c + $(OPENSSL_PATH)/crypto/bn/bn_asm.c + $(OPENSSL_PATH)/crypto/bn/bn_blind.c +@@ -170,9 +158,6 @@ + $(OPENSSL_PATH)/crypto/bn/bn_srp.c + $(OPENSSL_PATH)/crypto/bn/bn_word.c + $(OPENSSL_PATH)/crypto/bn/bn_x931p.c +- $(OPENSSL_PATH)/crypto/bn/rsaz_exp.h +- $(OPENSSL_PATH)/crypto/bn/bn_prime.h +- $(OPENSSL_PATH)/crypto/bn/bn_lcl.h + $(OPENSSL_PATH)/crypto/buffer/buf_err.c + $(OPENSSL_PATH)/crypto/buffer/buffer.c + $(OPENSSL_PATH)/crypto/cmac/cm_ameth.c +@@ -181,7 +166,6 @@ + $(OPENSSL_PATH)/crypto/comp/c_zlib.c + $(OPENSSL_PATH)/crypto/comp/comp_err.c + $(OPENSSL_PATH)/crypto/comp/comp_lib.c +- $(OPENSSL_PATH)/crypto/comp/comp_lcl.h + $(OPENSSL_PATH)/crypto/conf/conf_api.c + $(OPENSSL_PATH)/crypto/conf/conf_def.c + $(OPENSSL_PATH)/crypto/conf/conf_err.c +@@ -190,8 +174,6 @@ + $(OPENSSL_PATH)/crypto/conf/conf_mod.c + $(OPENSSL_PATH)/crypto/conf/conf_sap.c + $(OPENSSL_PATH)/crypto/conf/conf_ssl.c +- $(OPENSSL_PATH)/crypto/conf/conf_lcl.h +- $(OPENSSL_PATH)/crypto/conf/conf_def.h + $(OPENSSL_PATH)/crypto/cpt_err.c + $(OPENSSL_PATH)/crypto/cryptlib.c + $(OPENSSL_PATH)/crypto/ctype.c +@@ -215,8 +197,6 @@ + $(OPENSSL_PATH)/crypto/des/set_key.c + $(OPENSSL_PATH)/crypto/des/str2key.c + $(OPENSSL_PATH)/crypto/des/xcbc_enc.c +- $(OPENSSL_PATH)/crypto/des/spr.h +- $(OPENSSL_PATH)/crypto/des/des_locl.h + $(OPENSSL_PATH)/crypto/dh/dh_ameth.c + $(OPENSSL_PATH)/crypto/dh/dh_asn1.c + $(OPENSSL_PATH)/crypto/dh/dh_check.c +@@ -231,7 +211,6 @@ + $(OPENSSL_PATH)/crypto/dh/dh_prn.c + $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c + $(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c +- $(OPENSSL_PATH)/crypto/dh/dh_locl.h + $(OPENSSL_PATH)/crypto/dso/dso_dl.c + $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c + $(OPENSSL_PATH)/crypto/dso/dso_err.c +@@ -239,7 +218,6 @@ + $(OPENSSL_PATH)/crypto/dso/dso_openssl.c + $(OPENSSL_PATH)/crypto/dso/dso_vms.c + $(OPENSSL_PATH)/crypto/dso/dso_win32.c +- $(OPENSSL_PATH)/crypto/dso/dso_locl.h + $(OPENSSL_PATH)/crypto/ebcdic.c + $(OPENSSL_PATH)/crypto/err/err.c + $(OPENSSL_PATH)/crypto/err/err_prn.c +@@ -304,13 +282,11 @@ + $(OPENSSL_PATH)/crypto/evp/pmeth_fn.c + $(OPENSSL_PATH)/crypto/evp/pmeth_gn.c + $(OPENSSL_PATH)/crypto/evp/pmeth_lib.c +- $(OPENSSL_PATH)/crypto/evp/evp_locl.h + $(OPENSSL_PATH)/crypto/ex_data.c + $(OPENSSL_PATH)/crypto/getenv.c + $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c + $(OPENSSL_PATH)/crypto/hmac/hm_pmeth.c + $(OPENSSL_PATH)/crypto/hmac/hmac.c +- $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h + $(OPENSSL_PATH)/crypto/init.c + $(OPENSSL_PATH)/crypto/kdf/hkdf.c + $(OPENSSL_PATH)/crypto/kdf/kdf_err.c +@@ -318,13 +294,10 @@ + $(OPENSSL_PATH)/crypto/kdf/tls1_prf.c + $(OPENSSL_PATH)/crypto/lhash/lh_stats.c + $(OPENSSL_PATH)/crypto/lhash/lhash.c +- $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h + $(OPENSSL_PATH)/crypto/md4/md4_dgst.c + $(OPENSSL_PATH)/crypto/md4/md4_one.c +- $(OPENSSL_PATH)/crypto/md4/md4_locl.h + $(OPENSSL_PATH)/crypto/md5/md5_dgst.c + $(OPENSSL_PATH)/crypto/md5/md5_one.c +- $(OPENSSL_PATH)/crypto/md5/md5_locl.h + $(OPENSSL_PATH)/crypto/mem.c + $(OPENSSL_PATH)/crypto/mem_clr.c + $(OPENSSL_PATH)/crypto/mem_dbg.c +@@ -339,7 +312,6 @@ + $(OPENSSL_PATH)/crypto/modes/ofb128.c + $(OPENSSL_PATH)/crypto/modes/wrap128.c + $(OPENSSL_PATH)/crypto/modes/xts128.c +- $(OPENSSL_PATH)/crypto/modes/modes_lcl.h + $(OPENSSL_PATH)/crypto/o_dir.c + $(OPENSSL_PATH)/crypto/o_fips.c + $(OPENSSL_PATH)/crypto/o_fopen.c +@@ -351,9 +323,6 @@ + $(OPENSSL_PATH)/crypto/objects/obj_err.c + $(OPENSSL_PATH)/crypto/objects/obj_lib.c + $(OPENSSL_PATH)/crypto/objects/obj_xref.c +- $(OPENSSL_PATH)/crypto/objects/obj_dat.h +- $(OPENSSL_PATH)/crypto/objects/obj_xref.h +- $(OPENSSL_PATH)/crypto/objects/obj_lcl.h + $(OPENSSL_PATH)/crypto/ocsp/ocsp_asn.c + $(OPENSSL_PATH)/crypto/ocsp/ocsp_cl.c + $(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c +@@ -364,7 +333,6 @@ + $(OPENSSL_PATH)/crypto/ocsp/ocsp_srv.c + $(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c + $(OPENSSL_PATH)/crypto/ocsp/v3_ocsp.c +- $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h + $(OPENSSL_PATH)/crypto/pem/pem_all.c + $(OPENSSL_PATH)/crypto/pem/pem_err.c + $(OPENSSL_PATH)/crypto/pem/pem_info.c +@@ -392,7 +360,6 @@ + $(OPENSSL_PATH)/crypto/pkcs12/p12_sbag.c + $(OPENSSL_PATH)/crypto/pkcs12/p12_utl.c + $(OPENSSL_PATH)/crypto/pkcs12/pk12err.c +- $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h + $(OPENSSL_PATH)/crypto/pkcs7/bio_pk7.c + $(OPENSSL_PATH)/crypto/pkcs7/pk7_asn1.c + $(OPENSSL_PATH)/crypto/pkcs7/pk7_attr.c +@@ -401,7 +368,6 @@ + $(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c + $(OPENSSL_PATH)/crypto/pkcs7/pk7_smime.c + $(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c +- $(OPENSSL_PATH)/crypto/ppc_arch.h + $(OPENSSL_PATH)/crypto/rand/drbg_ctr.c + $(OPENSSL_PATH)/crypto/rand/drbg_lib.c + $(OPENSSL_PATH)/crypto/rand/rand_egd.c +@@ -410,10 +376,8 @@ + $(OPENSSL_PATH)/crypto/rand/rand_unix.c + $(OPENSSL_PATH)/crypto/rand/rand_vms.c + $(OPENSSL_PATH)/crypto/rand/rand_win.c +- $(OPENSSL_PATH)/crypto/rand/rand_lcl.h + $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c + $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c +- $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h + $(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c + $(OPENSSL_PATH)/crypto/rsa/rsa_asn1.c + $(OPENSSL_PATH)/crypto/rsa/rsa_chk.c +@@ -436,24 +400,18 @@ + $(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c + $(OPENSSL_PATH)/crypto/rsa/rsa_x931.c + $(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c +- $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h +- $(OPENSSL_PATH)/crypto/s390x_arch.h + $(OPENSSL_PATH)/crypto/sha/keccak1600.c + $(OPENSSL_PATH)/crypto/sha/sha1_one.c + $(OPENSSL_PATH)/crypto/sha/sha1dgst.c + $(OPENSSL_PATH)/crypto/sha/sha256.c + $(OPENSSL_PATH)/crypto/sha/sha512.c +- $(OPENSSL_PATH)/crypto/sha/sha_locl.h + $(OPENSSL_PATH)/crypto/siphash/siphash.c + $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c + $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c +- $(OPENSSL_PATH)/crypto/siphash/siphash_local.h + $(OPENSSL_PATH)/crypto/sm3/m_sm3.c + $(OPENSSL_PATH)/crypto/sm3/sm3.c +- $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h + $(OPENSSL_PATH)/crypto/sm4/sm4.c + $(OPENSSL_PATH)/crypto/stack/stack.c +- $(OPENSSL_PATH)/crypto/sparc_arch.h + $(OPENSSL_PATH)/crypto/threads_none.c + $(OPENSSL_PATH)/crypto/threads_pthread.c + $(OPENSSL_PATH)/crypto/threads_win.c +@@ -463,8 +421,6 @@ + $(OPENSSL_PATH)/crypto/ui/ui_null.c + $(OPENSSL_PATH)/crypto/ui/ui_openssl.c + $(OPENSSL_PATH)/crypto/ui/ui_util.c +- $(OPENSSL_PATH)/crypto/ui/ui_locl.h +- $(OPENSSL_PATH)/crypto/vms_rms.h + $(OPENSSL_PATH)/crypto/uid.c + $(OPENSSL_PATH)/crypto/x509/by_dir.c + $(OPENSSL_PATH)/crypto/x509/by_file.c +@@ -502,7 +458,6 @@ + $(OPENSSL_PATH)/crypto/x509/x_req.c + $(OPENSSL_PATH)/crypto/x509/x_x509.c + $(OPENSSL_PATH)/crypto/x509/x_x509a.c +- $(OPENSSL_PATH)/crypto/x509/x509_lcl.h + $(OPENSSL_PATH)/crypto/x509v3/pcy_cache.c + $(OPENSSL_PATH)/crypto/x509v3/pcy_data.c + $(OPENSSL_PATH)/crypto/x509v3/pcy_lib.c +@@ -540,11 +495,57 @@ + $(OPENSSL_PATH)/crypto/x509v3/v3_tlsf.c + $(OPENSSL_PATH)/crypto/x509v3/v3_utl.c + $(OPENSSL_PATH)/crypto/x509v3/v3err.c ++ $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h ++ $(OPENSSL_PATH)/crypto/dh/dh_locl.h ++ $(OPENSSL_PATH)/crypto/bio/bio_lcl.h ++ $(OPENSSL_PATH)/crypto/conf/conf_def.h ++ $(OPENSSL_PATH)/crypto/conf/conf_lcl.h ++ $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h ++ $(OPENSSL_PATH)/crypto/sha/sha_locl.h ++ $(OPENSSL_PATH)/crypto/md5/md5_locl.h ++ $(OPENSSL_PATH)/crypto/store/store_locl.h ++ $(OPENSSL_PATH)/crypto/dso/dso_locl.h ++ $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h ++ $(OPENSSL_PATH)/crypto/arm_arch.h ++ $(OPENSSL_PATH)/crypto/mips_arch.h ++ $(OPENSSL_PATH)/crypto/ppc_arch.h ++ $(OPENSSL_PATH)/crypto/s390x_arch.h ++ $(OPENSSL_PATH)/crypto/sparc_arch.h ++ $(OPENSSL_PATH)/crypto/vms_rms.h ++ $(OPENSSL_PATH)/crypto/bn/bn_lcl.h ++ $(OPENSSL_PATH)/crypto/bn/bn_prime.h ++ $(OPENSSL_PATH)/crypto/bn/rsaz_exp.h ++ $(OPENSSL_PATH)/crypto/ui/ui_locl.h ++ $(OPENSSL_PATH)/crypto/md4/md4_locl.h ++ $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h ++ $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h ++ $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h ++ $(OPENSSL_PATH)/crypto/asn1/charmap.h ++ $(OPENSSL_PATH)/crypto/asn1/standard_methods.h ++ $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h ++ $(OPENSSL_PATH)/crypto/evp/evp_locl.h ++ $(OPENSSL_PATH)/crypto/rand/rand_lcl.h ++ $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h ++ $(OPENSSL_PATH)/crypto/modes/modes_lcl.h ++ $(OPENSSL_PATH)/crypto/comp/comp_lcl.h ++ $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h ++ $(OPENSSL_PATH)/crypto/x509/x509_lcl.h ++ $(OPENSSL_PATH)/crypto/async/arch/async_null.h ++ $(OPENSSL_PATH)/crypto/async/arch/async_posix.h ++ $(OPENSSL_PATH)/crypto/async/arch/async_win.h ++ $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h ++ $(OPENSSL_PATH)/crypto/des/des_locl.h ++ $(OPENSSL_PATH)/crypto/des/spr.h ++ $(OPENSSL_PATH)/crypto/siphash/siphash_local.h ++ $(OPENSSL_PATH)/crypto/aes/aes_locl.h ++ $(OPENSSL_PATH)/crypto/async/async_locl.h ++ $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h + $(OPENSSL_PATH)/crypto/x509v3/pcy_int.h +- $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h + $(OPENSSL_PATH)/crypto/x509v3/standard_exts.h +- $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h +- $(OPENSSL_PATH)/ms/uplink.h ++ $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h ++ $(OPENSSL_PATH)/crypto/objects/obj_dat.h ++ $(OPENSSL_PATH)/crypto/objects/obj_lcl.h ++ $(OPENSSL_PATH)/crypto/objects/obj_xref.h + $(OPENSSL_PATH)/ssl/bio_ssl.c + $(OPENSSL_PATH)/ssl/d1_lib.c + $(OPENSSL_PATH)/ssl/d1_msg.c +@@ -589,13 +590,13 @@ + $(OPENSSL_PATH)/ssl/t1_trce.c + $(OPENSSL_PATH)/ssl/tls13_enc.c + $(OPENSSL_PATH)/ssl/tls_srp.c +- $(OPENSSL_PATH)/ssl/record/record_locl.h + $(OPENSSL_PATH)/ssl/statem/statem.h + $(OPENSSL_PATH)/ssl/statem/statem_locl.h ++ $(OPENSSL_PATH)/ssl/packet_locl.h ++ $(OPENSSL_PATH)/ssl/ssl_cert_table.h + $(OPENSSL_PATH)/ssl/ssl_locl.h + $(OPENSSL_PATH)/ssl/record/record.h +- $(OPENSSL_PATH)/ssl/ssl_cert_table.h +- $(OPENSSL_PATH)/ssl/packet_locl.h ++ $(OPENSSL_PATH)/ssl/record/record_locl.h + # Autogenerated files list ends here + + ossl_store.c +diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +index 8134b45eda..a1bb560255 100644 +--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf ++++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +@@ -33,9 +33,7 @@ + $(OPENSSL_PATH)/crypto/aes/aes_misc.c + $(OPENSSL_PATH)/crypto/aes/aes_ofb.c + $(OPENSSL_PATH)/crypto/aes/aes_wrap.c +- $(OPENSSL_PATH)/crypto/aes/aes_locl.h + $(OPENSSL_PATH)/crypto/aria/aria.c +- $(OPENSSL_PATH)/crypto/arm_arch.h + $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c + $(OPENSSL_PATH)/crypto/asn1/a_d2i_fp.c + $(OPENSSL_PATH)/crypto/asn1/a_digest.c +@@ -100,21 +98,12 @@ + $(OPENSSL_PATH)/crypto/asn1/x_sig.c + $(OPENSSL_PATH)/crypto/asn1/x_spki.c + $(OPENSSL_PATH)/crypto/asn1/x_val.c +- $(OPENSSL_PATH)/crypto/asn1/standard_methods.h +- $(OPENSSL_PATH)/crypto/asn1/charmap.h +- $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h +- $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h +- $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h + $(OPENSSL_PATH)/crypto/async/arch/async_null.c + $(OPENSSL_PATH)/crypto/async/arch/async_posix.c + $(OPENSSL_PATH)/crypto/async/arch/async_win.c +- $(OPENSSL_PATH)/crypto/async/arch/async_posix.h +- $(OPENSSL_PATH)/crypto/async/arch/async_null.h +- $(OPENSSL_PATH)/crypto/async/arch/async_win.h + $(OPENSSL_PATH)/crypto/async/async.c + $(OPENSSL_PATH)/crypto/async/async_err.c + $(OPENSSL_PATH)/crypto/async/async_wait.c +- $(OPENSSL_PATH)/crypto/async/async_locl.h + $(OPENSSL_PATH)/crypto/bio/b_addr.c + $(OPENSSL_PATH)/crypto/bio/b_dump.c + $(OPENSSL_PATH)/crypto/bio/b_sock.c +@@ -137,7 +126,6 @@ + $(OPENSSL_PATH)/crypto/bio/bss_mem.c + $(OPENSSL_PATH)/crypto/bio/bss_null.c + $(OPENSSL_PATH)/crypto/bio/bss_sock.c +- $(OPENSSL_PATH)/crypto/bio/bio_lcl.h + $(OPENSSL_PATH)/crypto/bn/bn_add.c + $(OPENSSL_PATH)/crypto/bn/bn_asm.c + $(OPENSSL_PATH)/crypto/bn/bn_blind.c +@@ -169,9 +157,6 @@ + $(OPENSSL_PATH)/crypto/bn/bn_srp.c + $(OPENSSL_PATH)/crypto/bn/bn_word.c + $(OPENSSL_PATH)/crypto/bn/bn_x931p.c +- $(OPENSSL_PATH)/crypto/bn/rsaz_exp.h +- $(OPENSSL_PATH)/crypto/bn/bn_prime.h +- $(OPENSSL_PATH)/crypto/bn/bn_lcl.h + $(OPENSSL_PATH)/crypto/buffer/buf_err.c + $(OPENSSL_PATH)/crypto/buffer/buffer.c + $(OPENSSL_PATH)/crypto/cmac/cm_ameth.c +@@ -180,7 +165,6 @@ + $(OPENSSL_PATH)/crypto/comp/c_zlib.c + $(OPENSSL_PATH)/crypto/comp/comp_err.c + $(OPENSSL_PATH)/crypto/comp/comp_lib.c +- $(OPENSSL_PATH)/crypto/comp/comp_lcl.h + $(OPENSSL_PATH)/crypto/conf/conf_api.c + $(OPENSSL_PATH)/crypto/conf/conf_def.c + $(OPENSSL_PATH)/crypto/conf/conf_err.c +@@ -189,8 +173,6 @@ + $(OPENSSL_PATH)/crypto/conf/conf_mod.c + $(OPENSSL_PATH)/crypto/conf/conf_sap.c + $(OPENSSL_PATH)/crypto/conf/conf_ssl.c +- $(OPENSSL_PATH)/crypto/conf/conf_lcl.h +- $(OPENSSL_PATH)/crypto/conf/conf_def.h + $(OPENSSL_PATH)/crypto/cpt_err.c + $(OPENSSL_PATH)/crypto/cryptlib.c + $(OPENSSL_PATH)/crypto/ctype.c +@@ -214,8 +196,6 @@ + $(OPENSSL_PATH)/crypto/des/set_key.c + $(OPENSSL_PATH)/crypto/des/str2key.c + $(OPENSSL_PATH)/crypto/des/xcbc_enc.c +- $(OPENSSL_PATH)/crypto/des/spr.h +- $(OPENSSL_PATH)/crypto/des/des_locl.h + $(OPENSSL_PATH)/crypto/dh/dh_ameth.c + $(OPENSSL_PATH)/crypto/dh/dh_asn1.c + $(OPENSSL_PATH)/crypto/dh/dh_check.c +@@ -230,7 +210,6 @@ + $(OPENSSL_PATH)/crypto/dh/dh_prn.c + $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c + $(OPENSSL_PATH)/crypto/dh/dh_rfc7919.c +- $(OPENSSL_PATH)/crypto/dh/dh_locl.h + $(OPENSSL_PATH)/crypto/dso/dso_dl.c + $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c + $(OPENSSL_PATH)/crypto/dso/dso_err.c +@@ -238,7 +217,6 @@ + $(OPENSSL_PATH)/crypto/dso/dso_openssl.c + $(OPENSSL_PATH)/crypto/dso/dso_vms.c + $(OPENSSL_PATH)/crypto/dso/dso_win32.c +- $(OPENSSL_PATH)/crypto/dso/dso_locl.h + $(OPENSSL_PATH)/crypto/ebcdic.c + $(OPENSSL_PATH)/crypto/err/err.c + $(OPENSSL_PATH)/crypto/err/err_prn.c +@@ -280,7 +258,6 @@ + $(OPENSSL_PATH)/crypto/evp/evp_pkey.c + $(OPENSSL_PATH)/crypto/evp/m_md2.c + $(OPENSSL_PATH)/crypto/evp/m_md4.c +- $(OPENSSL_PATH)/crypto/md4/md4_locl.h + $(OPENSSL_PATH)/crypto/evp/m_md5.c + $(OPENSSL_PATH)/crypto/evp/m_md5_sha1.c + $(OPENSSL_PATH)/crypto/evp/m_mdc2.c +@@ -304,13 +281,11 @@ + $(OPENSSL_PATH)/crypto/evp/pmeth_fn.c + $(OPENSSL_PATH)/crypto/evp/pmeth_gn.c + $(OPENSSL_PATH)/crypto/evp/pmeth_lib.c +- $(OPENSSL_PATH)/crypto/evp/evp_locl.h + $(OPENSSL_PATH)/crypto/ex_data.c + $(OPENSSL_PATH)/crypto/getenv.c + $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c + $(OPENSSL_PATH)/crypto/hmac/hm_pmeth.c + $(OPENSSL_PATH)/crypto/hmac/hmac.c +- $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h + $(OPENSSL_PATH)/crypto/init.c + $(OPENSSL_PATH)/crypto/kdf/hkdf.c + $(OPENSSL_PATH)/crypto/kdf/kdf_err.c +@@ -318,12 +293,10 @@ + $(OPENSSL_PATH)/crypto/kdf/tls1_prf.c + $(OPENSSL_PATH)/crypto/lhash/lh_stats.c + $(OPENSSL_PATH)/crypto/lhash/lhash.c +- $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h + $(OPENSSL_PATH)/crypto/md4/md4_dgst.c + $(OPENSSL_PATH)/crypto/md4/md4_one.c + $(OPENSSL_PATH)/crypto/md5/md5_dgst.c + $(OPENSSL_PATH)/crypto/md5/md5_one.c +- $(OPENSSL_PATH)/crypto/md5/md5_locl.h + $(OPENSSL_PATH)/crypto/mem.c + $(OPENSSL_PATH)/crypto/mem_clr.c + $(OPENSSL_PATH)/crypto/mem_dbg.c +@@ -338,7 +311,6 @@ + $(OPENSSL_PATH)/crypto/modes/ofb128.c + $(OPENSSL_PATH)/crypto/modes/wrap128.c + $(OPENSSL_PATH)/crypto/modes/xts128.c +- $(OPENSSL_PATH)/crypto/modes/modes_lcl.h + $(OPENSSL_PATH)/crypto/o_dir.c + $(OPENSSL_PATH)/crypto/o_fips.c + $(OPENSSL_PATH)/crypto/o_fopen.c +@@ -350,9 +322,6 @@ + $(OPENSSL_PATH)/crypto/objects/obj_err.c + $(OPENSSL_PATH)/crypto/objects/obj_lib.c + $(OPENSSL_PATH)/crypto/objects/obj_xref.c +- $(OPENSSL_PATH)/crypto/objects/obj_dat.h +- $(OPENSSL_PATH)/crypto/objects/obj_xref.h +- $(OPENSSL_PATH)/crypto/objects/obj_lcl.h + $(OPENSSL_PATH)/crypto/ocsp/ocsp_asn.c + $(OPENSSL_PATH)/crypto/ocsp/ocsp_cl.c + $(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c +@@ -363,7 +332,6 @@ + $(OPENSSL_PATH)/crypto/ocsp/ocsp_srv.c + $(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c + $(OPENSSL_PATH)/crypto/ocsp/v3_ocsp.c +- $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h + $(OPENSSL_PATH)/crypto/pem/pem_all.c + $(OPENSSL_PATH)/crypto/pem/pem_err.c + $(OPENSSL_PATH)/crypto/pem/pem_info.c +@@ -399,8 +367,6 @@ + $(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c + $(OPENSSL_PATH)/crypto/pkcs7/pk7_smime.c + $(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c +- $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h +- $(OPENSSL_PATH)/crypto/ppc_arch.h + $(OPENSSL_PATH)/crypto/rand/drbg_ctr.c + $(OPENSSL_PATH)/crypto/rand/drbg_lib.c + $(OPENSSL_PATH)/crypto/rand/rand_egd.c +@@ -409,10 +375,8 @@ + $(OPENSSL_PATH)/crypto/rand/rand_unix.c + $(OPENSSL_PATH)/crypto/rand/rand_vms.c + $(OPENSSL_PATH)/crypto/rand/rand_win.c +- $(OPENSSL_PATH)/crypto/rand/rand_lcl.h + $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c + $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c +- $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h + $(OPENSSL_PATH)/crypto/rsa/rsa_ameth.c + $(OPENSSL_PATH)/crypto/rsa/rsa_asn1.c + $(OPENSSL_PATH)/crypto/rsa/rsa_chk.c +@@ -435,24 +399,18 @@ + $(OPENSSL_PATH)/crypto/rsa/rsa_ssl.c + $(OPENSSL_PATH)/crypto/rsa/rsa_x931.c + $(OPENSSL_PATH)/crypto/rsa/rsa_x931g.c +- $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h + $(OPENSSL_PATH)/crypto/sha/keccak1600.c + $(OPENSSL_PATH)/crypto/sha/sha1_one.c + $(OPENSSL_PATH)/crypto/sha/sha1dgst.c + $(OPENSSL_PATH)/crypto/sha/sha256.c + $(OPENSSL_PATH)/crypto/sha/sha512.c +- $(OPENSSL_PATH)/crypto/sha/sha_locl.h + $(OPENSSL_PATH)/crypto/siphash/siphash.c + $(OPENSSL_PATH)/crypto/siphash/siphash_ameth.c + $(OPENSSL_PATH)/crypto/siphash/siphash_pmeth.c +- $(OPENSSL_PATH)/crypto/siphash/siphash_local.h + $(OPENSSL_PATH)/crypto/sm3/m_sm3.c + $(OPENSSL_PATH)/crypto/sm3/sm3.c +- $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h + $(OPENSSL_PATH)/crypto/sm4/sm4.c + $(OPENSSL_PATH)/crypto/stack/stack.c +- $(OPENSSL_PATH)/crypto/s390x_arch.h +- $(OPENSSL_PATH)/crypto/sparc_arch.h + $(OPENSSL_PATH)/crypto/threads_none.c + $(OPENSSL_PATH)/crypto/threads_pthread.c + $(OPENSSL_PATH)/crypto/threads_win.c +@@ -462,9 +420,7 @@ + $(OPENSSL_PATH)/crypto/ui/ui_null.c + $(OPENSSL_PATH)/crypto/ui/ui_openssl.c + $(OPENSSL_PATH)/crypto/ui/ui_util.c +- $(OPENSSL_PATH)/crypto/ui/ui_locl.h + $(OPENSSL_PATH)/crypto/uid.c +- $(OPENSSL_PATH)/crypto/vms_rms.h + $(OPENSSL_PATH)/crypto/x509/by_dir.c + $(OPENSSL_PATH)/crypto/x509/by_file.c + $(OPENSSL_PATH)/crypto/x509/t_crl.c +@@ -501,7 +457,6 @@ + $(OPENSSL_PATH)/crypto/x509/x_req.c + $(OPENSSL_PATH)/crypto/x509/x_x509.c + $(OPENSSL_PATH)/crypto/x509/x_x509a.c +- $(OPENSSL_PATH)/crypto/x509/x509_lcl.h + $(OPENSSL_PATH)/crypto/x509v3/pcy_cache.c + $(OPENSSL_PATH)/crypto/x509v3/pcy_data.c + $(OPENSSL_PATH)/crypto/x509v3/pcy_lib.c +@@ -539,10 +494,57 @@ + $(OPENSSL_PATH)/crypto/x509v3/v3_tlsf.c + $(OPENSSL_PATH)/crypto/x509v3/v3_utl.c + $(OPENSSL_PATH)/crypto/x509v3/v3err.c ++ $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h ++ $(OPENSSL_PATH)/crypto/dh/dh_locl.h ++ $(OPENSSL_PATH)/crypto/bio/bio_lcl.h ++ $(OPENSSL_PATH)/crypto/conf/conf_def.h ++ $(OPENSSL_PATH)/crypto/conf/conf_lcl.h ++ $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h ++ $(OPENSSL_PATH)/crypto/sha/sha_locl.h ++ $(OPENSSL_PATH)/crypto/md5/md5_locl.h ++ $(OPENSSL_PATH)/crypto/store/store_locl.h ++ $(OPENSSL_PATH)/crypto/dso/dso_locl.h ++ $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h ++ $(OPENSSL_PATH)/crypto/arm_arch.h ++ $(OPENSSL_PATH)/crypto/mips_arch.h ++ $(OPENSSL_PATH)/crypto/ppc_arch.h ++ $(OPENSSL_PATH)/crypto/s390x_arch.h ++ $(OPENSSL_PATH)/crypto/sparc_arch.h ++ $(OPENSSL_PATH)/crypto/vms_rms.h ++ $(OPENSSL_PATH)/crypto/bn/bn_lcl.h ++ $(OPENSSL_PATH)/crypto/bn/bn_prime.h ++ $(OPENSSL_PATH)/crypto/bn/rsaz_exp.h ++ $(OPENSSL_PATH)/crypto/ui/ui_locl.h ++ $(OPENSSL_PATH)/crypto/md4/md4_locl.h ++ $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h ++ $(OPENSSL_PATH)/crypto/asn1/asn1_item_list.h ++ $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h ++ $(OPENSSL_PATH)/crypto/asn1/charmap.h ++ $(OPENSSL_PATH)/crypto/asn1/standard_methods.h ++ $(OPENSSL_PATH)/crypto/asn1/tbl_standard.h ++ $(OPENSSL_PATH)/crypto/evp/evp_locl.h ++ $(OPENSSL_PATH)/crypto/rand/rand_lcl.h ++ $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h ++ $(OPENSSL_PATH)/crypto/modes/modes_lcl.h ++ $(OPENSSL_PATH)/crypto/comp/comp_lcl.h ++ $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h ++ $(OPENSSL_PATH)/crypto/x509/x509_lcl.h ++ $(OPENSSL_PATH)/crypto/async/arch/async_null.h ++ $(OPENSSL_PATH)/crypto/async/arch/async_posix.h ++ $(OPENSSL_PATH)/crypto/async/arch/async_win.h ++ $(OPENSSL_PATH)/crypto/sm3/sm3_locl.h ++ $(OPENSSL_PATH)/crypto/des/des_locl.h ++ $(OPENSSL_PATH)/crypto/des/spr.h ++ $(OPENSSL_PATH)/crypto/siphash/siphash_local.h ++ $(OPENSSL_PATH)/crypto/aes/aes_locl.h ++ $(OPENSSL_PATH)/crypto/async/async_locl.h ++ $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h + $(OPENSSL_PATH)/crypto/x509v3/pcy_int.h +- $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h + $(OPENSSL_PATH)/crypto/x509v3/standard_exts.h +- $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h ++ $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h ++ $(OPENSSL_PATH)/crypto/objects/obj_dat.h ++ $(OPENSSL_PATH)/crypto/objects/obj_lcl.h ++ $(OPENSSL_PATH)/crypto/objects/obj_xref.h + # Autogenerated files list ends here + buildinf.h + rand_pool_noise.h +diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl b/CryptoPkg/Library/OpensslLib/process_files.pl +index e13c0acb4d..4fe54cd808 100755 +--- a/CryptoPkg/Library/OpensslLib/process_files.pl ++++ b/CryptoPkg/Library/OpensslLib/process_files.pl +@@ -144,6 +144,34 @@ foreach my $product ((@{$unified_info{libraries}}, + } + } + ++ ++# ++# Update the perl script to generate the missing header files ++# ++my @dir_list = (); ++for (keys %{$unified_info{dirinfo}}){ ++ push @dir_list,$_; ++} ++ ++my $dir = getcwd(); ++my @files = (); ++my @headers = (); ++chdir ("openssl"); ++foreach(@dir_list){ ++ @files = glob($_."/*.h"); ++ push @headers, @files; ++} ++chdir ($dir); ++ ++foreach (@headers){ ++ if(/ssl/){ ++ push @sslfilelist, ' $(OPENSSL_PATH)/' . $_ . "\r\n"; ++ next; ++ } ++ push @cryptofilelist, ' $(OPENSSL_PATH)/' . $_ . "\r\n"; ++} ++ ++ + # + # Update OpensslLib.inf with autogenerated file list + # +-- +2.19.1 + diff --git a/0002-CryptoPkg-Upgrade-OpenSSL-to-1.1.1d.patch b/0002-CryptoPkg-Upgrade-OpenSSL-to-1.1.1d.patch new file mode 100644 index 0000000000000000000000000000000000000000..3619b3f7cb85747bc17cc1d0c016bb2b106e5707 --- /dev/null +++ b/0002-CryptoPkg-Upgrade-OpenSSL-to-1.1.1d.patch @@ -0,0 +1,149 @@ +From 69cdca469d5c071ca99f0ab45b7b06192095b652 Mon Sep 17 00:00:00 2001 +From: Shenglei Zhang +Date: Mon, 21 Oct 2019 15:53:42 +0800 +Subject: [PATCH 2/4] CryptoPkg: Upgrade OpenSSL to 1.1.1d + +Upgrade openssl from 1.1.1b to 1.1.1d. +Something needs to be noticed is that, there is a bug existing in the +released 1_1_1d version(894da2fb7ed5d314ee5c2fc9fd2d9b8b74111596), +which causes build failure. So we switch the code base to a usable +version, which is 2 commits later than the stable tag. +Now we use the version c3656cc594daac8167721dde7220f0e59ae146fc. +This log is to fix the build failure. +https://bugzilla.tianocore.org/show_bug.cgi?id=2226 + +Besides, the absense of "DSO_NONE" in dso_conf.h causes build failure +in OvmfPkg. So update process_files.pl to generate information from +"crypto/include/internal/dso_conf.h.in". + +shm.h and utsname.h are added to avoid GCC build failure. + +Cc: Jian J Wang +Cc: Xiaoyu Lu +Cc: Liming Gao +Signed-off-by: Shenglei Zhang +Reviewed-by: Jian J Wang +Reviewed-by: Laszlo Ersek +Tested-by: Laszlo Ersek +--- + .gitmodules | 3 --- + CryptoPkg/Library/Include/internal/dso_conf.h | 16 ++++++++++++++++ + CryptoPkg/Library/Include/sys/shm.h | 9 +++++++++ + CryptoPkg/Library/Include/sys/utsname.h | 9 +++++++++ + CryptoPkg/Library/OpensslLib/process_files.pl | 17 +++++++++++++++-- + 5 files changed, 49 insertions(+), 5 deletions(-) + create mode 100644 CryptoPkg/Library/Include/sys/shm.h + create mode 100644 CryptoPkg/Library/Include/sys/utsname.h + +diff --git a/.gitmodules b/.gitmodules +index 508f0c1828..6deabd1f16 100644 +--- a/.gitmodules ++++ b/.gitmodules +@@ -1,6 +1,3 @@ +-[submodule "CryptoPkg/Library/OpensslLib/openssl"] +- path = CryptoPkg/Library/OpensslLib/openssl +- url = https://github.com/openssl/openssl + [submodule "SoftFloat"] + path = ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 + url = https://github.com/ucb-bar/berkeley-softfloat-3.git +diff --git a/CryptoPkg/Library/Include/internal/dso_conf.h b/CryptoPkg/Library/Include/internal/dso_conf.h +index e69de29bb2..43c891588b 100644 +--- a/CryptoPkg/Library/Include/internal/dso_conf.h ++++ b/CryptoPkg/Library/Include/internal/dso_conf.h +@@ -0,0 +1,16 @@ ++/* WARNING: do not edit! */ ++/* Generated from crypto/include/internal/dso_conf.h.in */ ++/* ++ * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. ++ * ++ * Licensed under the OpenSSL license (the "License"). You may not use ++ * this file except in compliance with the License. You can obtain a copy ++ * in the file LICENSE in the source distribution or at ++ * https://www.openssl.org/source/license.html ++ */ ++ ++#ifndef HEADER_DSO_CONF_H ++# define HEADER_DSO_CONF_H ++# define DSO_NONE ++# define DSO_EXTENSION ".so" ++#endif +diff --git a/CryptoPkg/Library/Include/sys/shm.h b/CryptoPkg/Library/Include/sys/shm.h +new file mode 100644 +index 0000000000..dc0b8e81c8 +--- /dev/null ++++ b/CryptoPkg/Library/Include/sys/shm.h +@@ -0,0 +1,9 @@ ++/** @file ++ Include file to support building the third-party cryptographic library. ++ ++Copyright (c) 2019, Intel Corporation. All rights reserved.
++SPDX-License-Identifier: BSD-2-Clause-Patent ++ ++**/ ++ ++#include +diff --git a/CryptoPkg/Library/Include/sys/utsname.h b/CryptoPkg/Library/Include/sys/utsname.h +new file mode 100644 +index 0000000000..dc0b8e81c8 +--- /dev/null ++++ b/CryptoPkg/Library/Include/sys/utsname.h +@@ -0,0 +1,9 @@ ++/** @file ++ Include file to support building the third-party cryptographic library. ++ ++Copyright (c) 2019, Intel Corporation. All rights reserved.
++SPDX-License-Identifier: BSD-2-Clause-Patent ++ ++**/ ++ ++#include +diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl b/CryptoPkg/Library/OpensslLib/process_files.pl +index 4fe54cd808..bbcfa0d0e7 100755 +--- a/CryptoPkg/Library/OpensslLib/process_files.pl ++++ b/CryptoPkg/Library/OpensslLib/process_files.pl +@@ -2,7 +2,7 @@ + # + # This script runs the OpenSSL Configure script, then processes the + # resulting file list into our local OpensslLib[Crypto].inf and also +-# takes a copy of opensslconf.h. ++# takes copies of opensslconf.h and dso_conf.h. + # + # This only needs to be done once by a developer when updating to a + # new version of OpenSSL (or changing options, etc.). Normal users +@@ -106,6 +106,14 @@ BEGIN { + ) == 0 || + die "Failed to generate opensslconf.h!\n"; + ++ # Generate dso_conf.h per config data ++ system( ++ "perl -I. -Mconfigdata util/dofile.pl " . ++ "crypto/include/internal/dso_conf.h.in " . ++ "> include/internal/dso_conf.h" ++ ) == 0 || ++ die "Failed to generate dso_conf.h!\n"; ++ + chdir($basedir) || + die "Cannot change to base directory \"" . $basedir . "\""; + +@@ -249,12 +257,17 @@ rename( $new_inf_file, $inf_file ) || + print "Done!"; + + # +-# Copy opensslconf.h generated from OpenSSL Configuration ++# Copy opensslconf.h and dso_conf.h generated from OpenSSL Configuration + # + print "\n--> Duplicating opensslconf.h into Include/openssl ... "; + copy($OPENSSL_PATH . "/include/openssl/opensslconf.h", + $OPENSSL_PATH . "/../../Include/openssl/") || + die "Cannot copy opensslconf.h!"; ++print "Done!"; ++print "\n--> Duplicating dso_conf.h into Include/internal ... "; ++copy($OPENSSL_PATH . "/include/internal/dso_conf.h", ++ $OPENSSL_PATH . "/../../Include/internal/") || ++ die "Cannot copy dso_conf.h!"; + print "Done!\n"; + + print "\nProcessing Files Done!\n"; +-- +2.19.1 + diff --git a/0003-CryptoPkg-OpensslLib-improve-INF-file-consistency.patch b/0003-CryptoPkg-OpensslLib-improve-INF-file-consistency.patch new file mode 100644 index 0000000000000000000000000000000000000000..2aa11309a700419aeff0e3200d723fb70a52972a --- /dev/null +++ b/0003-CryptoPkg-OpensslLib-improve-INF-file-consistency.patch @@ -0,0 +1,61 @@ +From bb9add51feac285a940882b3ea73723ecc77802e Mon Sep 17 00:00:00 2001 +From: Laszlo Ersek +Date: Thu, 21 Nov 2019 08:46:10 +0100 +Subject: [PATCH 3/4] CryptoPkg/OpensslLib: improve INF file consistency + +When diffing "OpensslLib.inf" against "OpensslLibCrypto.inf", the *only* +differences should be: + +- BASE_NAME, MODULE_UNI_FILE, and FILE_GUID are expected to differ, in + [Defines]; + +- "OpensslLib.inf" is expected to list "$(OPENSSL_PATH)/ssl/..." source + files in the auto-generated part of the [Sources] section. + +Commit 8906f076de35 ("CryptoPkg/OpensslLib: Add missing header files in +INF file", 2019-08-16) broke that invariant, by adding "buildinf.h" and +"rand_pool_noise.h" in different order to both INF files. + +Fix that order in "OpensslLib.inf" now. (Note that this does not +re-establish full consistency between both INF files -- it just highlights +another problem, which we'll fix in the next patch.) + +Cc: Jian J Wang +Cc: Leif Lindholm +Cc: Shenglei Zhang +Cc: Xiaoyu Lu +Fixes: 8906f076de35b222a7d62bcf6ed1a4a2498a5791 +Signed-off-by: Laszlo Ersek +Reviewed-by: Jian J Wang +Reviewed-by: Philippe Mathieu-Daude +Reviewed-by: Leif Lindholm +--- + CryptoPkg/Library/OpensslLib/OpensslLib.inf | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf +index dd873a0dcd..f832b53ff5 100644 +--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf ++++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf +@@ -22,8 +22,6 @@ + # + + [Sources] +- buildinf.h +- rand_pool_noise.h + $(OPENSSL_PATH)/e_os.h + # Autogenerated files list starts here + $(OPENSSL_PATH)/crypto/aes/aes_cbc.c +@@ -598,7 +596,8 @@ + $(OPENSSL_PATH)/ssl/record/record.h + $(OPENSSL_PATH)/ssl/record/record_locl.h + # Autogenerated files list ends here +- ++ buildinf.h ++ rand_pool_noise.h + ossl_store.c + rand_pool.c + +-- +2.19.1 + diff --git a/0004-CryptoPkg-OpensslLib.inf-list-OpenSSL-local-header-m.patch b/0004-CryptoPkg-OpensslLib.inf-list-OpenSSL-local-header-m.patch new file mode 100644 index 0000000000000000000000000000000000000000..43fa59b94a622b38b94ca0e0c9b264fc1bb59828 --- /dev/null +++ b/0004-CryptoPkg-OpensslLib.inf-list-OpenSSL-local-header-m.patch @@ -0,0 +1,49 @@ +From e00127a37348e5808d84ce7281bff6ca4db74907 Mon Sep 17 00:00:00 2001 +From: Laszlo Ersek +Date: Thu, 21 Nov 2019 09:01:10 +0100 +Subject: [PATCH 4/4] CryptoPkg/OpensslLib.inf: list OpenSSL local header + "ms/uplink.h" + +Commit 8906f076de35 ("CryptoPkg/OpensslLib: Add missing header files in +INF file", 2019-08-16) incorrectly placed "ms/uplink.h" in the +auto-generated part of [Sources], in "OpensslLib.inf". + +("ms/uplink.h" was added in the right spot in "OpensslLibCrypto.inf".) + +Subsequently, when commit 9f4fbd56d430 ("CryptoPkg/OpensslLib: Update +process_files.pl to generate .h files", 2019-10-30) re-generated that part +of "OpensslLib.inf", the "ms/uplink.h" file reference was lost. This +triggers a warning from the "build" utility now. + +Name the header file in the right spot in [Sources]. + +This change makes "OpensslLib.inf" consistent with "OpensslLibCrypto.inf". + +Cc: Jian J Wang +Cc: Leif Lindholm +Cc: Shenglei Zhang +Cc: Xiaoyu Lu +Fixes: 8906f076de35b222a7d62bcf6ed1a4a2498a5791 +Signed-off-by: Laszlo Ersek +Reviewed-by: Jian J Wang +Reviewed-by: Philippe Mathieu-Daude +Reviewed-by: Leif Lindholm +--- + CryptoPkg/Library/OpensslLib/OpensslLib.inf | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf +index f832b53ff5..1743213caa 100644 +--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf ++++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf +@@ -23,6 +23,7 @@ + + [Sources] + $(OPENSSL_PATH)/e_os.h ++ $(OPENSSL_PATH)/ms/uplink.h + # Autogenerated files list starts here + $(OPENSSL_PATH)/crypto/aes/aes_cbc.c + $(OPENSSL_PATH)/crypto/aes/aes_cfb.c +-- +2.19.1 + diff --git a/0005-crypto-threads_none.c-fix-syntax-error-in-openssl_ge.patch b/0005-crypto-threads_none.c-fix-syntax-error-in-openssl_ge.patch new file mode 100644 index 0000000000000000000000000000000000000000..211cedae34707eb86c35ced796d2710ddb379ad9 --- /dev/null +++ b/0005-crypto-threads_none.c-fix-syntax-error-in-openssl_ge.patch @@ -0,0 +1,30 @@ +From c3656cc594daac8167721dde7220f0e59ae146fc Mon Sep 17 00:00:00 2001 +From: "Dr. Matthias St. Pierre" +Date: Wed, 11 Sep 2019 10:25:43 +0200 +Subject: [PATCH] crypto/threads_none.c: fix syntax error in + openssl_get_fork_id() + +Fixes #9858 + +Reviewed-by: Matt Caswell +(Merged from https://github.com/openssl/openssl/pull/9860) +--- + crypto/threads_none.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CryptoPkg/Library/OpensslLib/openssl/crypto/threads_none.c b/CryptoPkg/Library/OpensslLib/openssl/crypto/threads_none.c +index aabf0e0dc0..aaaaae872a 100644 +--- a/CryptoPkg/Library/OpensslLib/openssl/crypto/threads_none.c ++++ b/CryptoPkg/Library/OpensslLib/openssl/crypto/threads_none.c +@@ -143,7 +143,7 @@ int openssl_get_fork_id(void) + # if defined(OPENSSL_SYS_UNIX) + return getpid(); + # else +- return return 0; ++ return 0; + # endif + } + #endif +-- +2.19.1 + diff --git a/edk2.spec b/edk2.spec index 68fe6d367f59d25f39fae9a5ab8c1bad725c06e6..8b586f0da19082bdea6c0e8fd16084d849ae9605 100644 --- a/edk2.spec +++ b/edk2.spec @@ -1,16 +1,23 @@ %global stable_date 201908 %global release_tag edk2-stable%{stable_date} -%global openssl_version 1.1.1c +%global openssl_version 1.1.1d %global _python_bytecompile_extra 0 Name: edk2 Version: %{stable_date} -Release: 4 +Release: 5 Summary: EFI Development Kit II License: BSD-2-Clause-Patent URL: https://github.com/tianocore/edk2 Source0: edk2-%{release_tag}.tar.gz -Source1: openssl-%{openssl_version}-hobbled.tar.xz +Source1: openssl-%{openssl_version}.tar.gz +Patch1: 0001-CryptoPkg-OpensslLib-Update-process_files.pl-to-gene.patch +Patch2: 0002-CryptoPkg-Upgrade-OpenSSL-to-1.1.1d.patch +Patch3: 0003-CryptoPkg-OpensslLib-improve-INF-file-consistency.patch +Patch4: 0004-CryptoPkg-OpensslLib.inf-list-OpenSSL-local-header-m.patch +# This patch is an openssl upstream patch to fix build error +Patch5: 0005-crypto-threads_none.c-fix-syntax-error-in-openssl_ge.patch + BuildRequires: acpica-tools gcc gcc-c++ libuuid-devel python3 bc nasm %description @@ -59,8 +66,9 @@ EFI Development Kit II Open Virtual Machine Firmware (ia32) %endif %prep -%autosetup -n edk2-%{release_tag} -p1 -tar -Jxf %{SOURCE1} -C CryptoPkg/Library/OpensslLib/openssl --strip-components=1 +%setup -n edk2-%{release_tag} +tar -xf %{SOURCE1} -C CryptoPkg/Library/OpensslLib/openssl --strip-components=1 +%autopatch -p1 %build NCPUS=`/usr/bin/getconf _NPROCESSORS_ONLN` @@ -202,6 +210,9 @@ chmod +x %{buildroot}%{_bindir}/Rsa2048Sha256GenerateKeys %endif %changelog +* Mon Dec 30 2019 Heyi Guo - 201908-5 +- Upgrade openssl to 1.1.1d + * Tue Nov 26 2019 openEuler Buildteam - 201908-4 - add build requires of nasm diff --git a/openssl-1.1.1c-hobbled.tar.xz b/openssl-1.1.1d.tar.gz similarity index 41% rename from openssl-1.1.1c-hobbled.tar.xz rename to openssl-1.1.1d.tar.gz index d14f9bf6520a2cc1c9b44851540ebf422bf1cc31..216017a51bdb35aecaf6f72f192420a3bbe5a0cc 100644 Binary files a/openssl-1.1.1c-hobbled.tar.xz and b/openssl-1.1.1d.tar.gz differ