From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: redhat.com, ip: 209.132.183.28, mailfrom: lersek@redhat.com) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by groups.io with SMTP; Wed, 22 May 2019 02:29:51 -0700 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5F0028552A; Wed, 22 May 2019 09:29:50 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-230.rdu2.redhat.com [10.10.120.230]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9929860BE5; Wed, 22 May 2019 09:29:48 +0000 (UTC) Subject: Re: [edk2-devel] [PATCH] OpensslLib: Missing local header files in [Sources] section of .INFs To: devel@edk2.groups.io, christian.rodriguez@intel.com Cc: Jian Wang , Ting Ye , Yonghong Zhu References: <20190521190351.13984-1-christian.rodriguez@intel.com> From: "Laszlo Ersek" Message-ID: <9cafa2c6-ae2b-2e20-153c-8f886affa448@redhat.com> Date: Wed, 22 May 2019 11:29:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190521190351.13984-1-christian.rodriguez@intel.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Wed, 22 May 2019 09:29:50 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 05/21/19 21:03, Christian Rodriguez wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1821 > > Update OpenSSL autogeneration script for .INFs because some > OpenSSL local headers are missing from [Sources] section of > OpensslLib.inf and OpensslLibCrypto.inf. Update OpensslLib.inf and > OpensslLibCrypto.inf using the updated script. Enforce compilance > of Edk2 INF Spec 3.9, which states, All HII Unicode format files > must be listed in [Sources] section. Not functional issue, just compilance. > > Signed-off-by: Christian Rodriguez > Cc: Jian Wang > Cc: Ting Ye > Cc: Yonghong Zhu > --- > CryptoPkg/Library/OpensslLib/OpensslLib.inf | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > CryptoPkg/Library/OpensslLib/process_files.pl | 49 +++++++++++++++++++++++++++++++++++++++++++++++-- > 3 files changed, 389 insertions(+), 2 deletions(-) Side comment: when formatting patches for edk2, I recommend the following options: --stat=1000 --stat-graph-width=20 That prevents any pathname from being truncated, while keeping the stat lines reasonably short. On topic: this change conflicts with the on-going OpenSSL 1.1.1b rebase. I suggest that we postpone this bugfix until OpenSSL 1.1.1b is consumed -- especially because we're now considering delaying the upcoming stable tag until OpenSSL 1.1.1b is ready (and perhaps we'll even change the organizing principle behind releases from "time" to "features"). I'd request that we please hold this patch for now. (Comments in disagreement are welcome of course.) If we agree, I'd suggest marking TianoCore#1821 dependent on TianoCore#1089. Thanks! Laszlo > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > index 530ac5f110..359c22a09f 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf > @@ -513,6 +513,180 @@ > $(OPENSSL_PATH)/ssl/t1_reneg.c > $(OPENSSL_PATH)/ssl/t1_trce.c > $(OPENSSL_PATH)/ssl/tls_srp.c > + buildinf.h > + $(OPENSSL_PATH)/include/internal/asn1t.h > + $(OPENSSL_PATH)/include/internal/bio.h > + $(OPENSSL_PATH)/include/internal/comp.h > + $(OPENSSL_PATH)/include/internal/conf.h > + $(OPENSSL_PATH)/include/internal/constant_time_locl.h > + $(OPENSSL_PATH)/include/internal/dane.h > + $(OPENSSL_PATH)/include/internal/dso.h > + $(OPENSSL_PATH)/include/internal/err.h > + $(OPENSSL_PATH)/include/internal/numbers.h > + $(OPENSSL_PATH)/include/internal/o_dir.h > + $(OPENSSL_PATH)/include/internal/o_str.h > + $(OPENSSL_PATH)/include/internal/sslconf.h > + $(OPENSSL_PATH)/include/internal/thread_once.h > + $(OPENSSL_PATH)/include/openssl/aes.h > + $(OPENSSL_PATH)/include/openssl/asn1.h > + $(OPENSSL_PATH)/include/openssl/asn1t.h > + $(OPENSSL_PATH)/include/openssl/asn1_mac.h > + $(OPENSSL_PATH)/include/openssl/async.h > + $(OPENSSL_PATH)/include/openssl/bio.h > + $(OPENSSL_PATH)/include/openssl/blowfish.h > + $(OPENSSL_PATH)/include/openssl/bn.h > + $(OPENSSL_PATH)/include/openssl/buffer.h > + $(OPENSSL_PATH)/include/openssl/camellia.h > + $(OPENSSL_PATH)/include/openssl/cast.h > + $(OPENSSL_PATH)/include/openssl/cmac.h > + $(OPENSSL_PATH)/include/openssl/cms.h > + $(OPENSSL_PATH)/include/openssl/comp.h > + $(OPENSSL_PATH)/include/openssl/conf.h > + $(OPENSSL_PATH)/include/openssl/conf_api.h > + $(OPENSSL_PATH)/include/openssl/crypto.h > + $(OPENSSL_PATH)/include/openssl/ct.h > + $(OPENSSL_PATH)/include/openssl/des.h > + $(OPENSSL_PATH)/include/openssl/dh.h > + $(OPENSSL_PATH)/include/openssl/dsa.h > + $(OPENSSL_PATH)/include/openssl/dtls1.h > + $(OPENSSL_PATH)/include/openssl/ebcdic.h > + $(OPENSSL_PATH)/include/openssl/ec.h > + $(OPENSSL_PATH)/include/openssl/ecdh.h > + $(OPENSSL_PATH)/include/openssl/ecdsa.h > + $(OPENSSL_PATH)/include/openssl/engine.h > + $(OPENSSL_PATH)/include/openssl/err.h > + $(OPENSSL_PATH)/include/openssl/evp.h > + $(OPENSSL_PATH)/include/openssl/e_os2.h > + $(OPENSSL_PATH)/include/openssl/hmac.h > + $(OPENSSL_PATH)/include/openssl/idea.h > + $(OPENSSL_PATH)/include/openssl/kdf.h > + $(OPENSSL_PATH)/include/openssl/lhash.h > + $(OPENSSL_PATH)/include/openssl/md2.h > + $(OPENSSL_PATH)/include/openssl/md4.h > + $(OPENSSL_PATH)/include/openssl/md5.h > + $(OPENSSL_PATH)/include/openssl/mdc2.h > + $(OPENSSL_PATH)/include/openssl/modes.h > + $(OPENSSL_PATH)/include/openssl/objects.h > + $(OPENSSL_PATH)/include/openssl/obj_mac.h > + $(OPENSSL_PATH)/include/openssl/ocsp.h > + $(OPENSSL_PATH)/include/openssl/opensslconf.h > + $(OPENSSL_PATH)/include/openssl/opensslv.h > + $(OPENSSL_PATH)/include/openssl/ossl_typ.h > + $(OPENSSL_PATH)/include/openssl/pem.h > + $(OPENSSL_PATH)/include/openssl/pem2.h > + $(OPENSSL_PATH)/include/openssl/pkcs12.h > + $(OPENSSL_PATH)/include/openssl/pkcs7.h > + $(OPENSSL_PATH)/include/openssl/rand.h > + $(OPENSSL_PATH)/include/openssl/rc2.h > + $(OPENSSL_PATH)/include/openssl/rc4.h > + $(OPENSSL_PATH)/include/openssl/rc5.h > + $(OPENSSL_PATH)/include/openssl/ripemd.h > + $(OPENSSL_PATH)/include/openssl/rsa.h > + $(OPENSSL_PATH)/include/openssl/safestack.h > + $(OPENSSL_PATH)/include/openssl/seed.h > + $(OPENSSL_PATH)/include/openssl/sha.h > + $(OPENSSL_PATH)/include/openssl/srp.h > + $(OPENSSL_PATH)/include/openssl/srtp.h > + $(OPENSSL_PATH)/include/openssl/ssl.h > + $(OPENSSL_PATH)/include/openssl/ssl2.h > + $(OPENSSL_PATH)/include/openssl/ssl3.h > + $(OPENSSL_PATH)/include/openssl/stack.h > + $(OPENSSL_PATH)/include/openssl/symhacks.h > + $(OPENSSL_PATH)/include/openssl/tls1.h > + $(OPENSSL_PATH)/include/openssl/ts.h > + $(OPENSSL_PATH)/include/openssl/txt_db.h > + $(OPENSSL_PATH)/include/openssl/ui.h > + $(OPENSSL_PATH)/include/openssl/whrlpool.h > + $(OPENSSL_PATH)/include/openssl/x509.h > + $(OPENSSL_PATH)/include/openssl/x509v3.h > + $(OPENSSL_PATH)/include/openssl/x509_vfy.h > + $(OPENSSL_PATH)/crypto/aes/aes_locl.h > + $(OPENSSL_PATH)/crypto/arm_arch.h > + $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h > + $(OPENSSL_PATH)/crypto/asn1/charmap.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/async/async_locl.h > + $(OPENSSL_PATH)/crypto/bf/bf_locl.h > + $(OPENSSL_PATH)/crypto/bf/bf_pi.h > + $(OPENSSL_PATH)/crypto/bio/bio_lcl.h > + $(OPENSSL_PATH)/crypto/blake2/blake2_impl.h > + $(OPENSSL_PATH)/crypto/blake2/blake2_locl.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/camellia/cmll_locl.h > + $(OPENSSL_PATH)/crypto/cast/cast_lcl.h > + $(OPENSSL_PATH)/crypto/cast/cast_s.h > + $(OPENSSL_PATH)/crypto/cms/cms_lcl.h > + $(OPENSSL_PATH)/crypto/comp/comp_lcl.h > + $(OPENSSL_PATH)/crypto/conf/conf_def.h > + $(OPENSSL_PATH)/crypto/conf/conf_lcl.h > + $(OPENSSL_PATH)/crypto/ct/ct_locl.h > + $(OPENSSL_PATH)/crypto/des/des_locl.h > + $(OPENSSL_PATH)/crypto/des/rpc_des.h > + $(OPENSSL_PATH)/crypto/des/spr.h > + $(OPENSSL_PATH)/crypto/dh/dh_locl.h > + $(OPENSSL_PATH)/crypto/dsa/dsa_locl.h > + $(OPENSSL_PATH)/crypto/dso/dso_locl.h > + $(OPENSSL_PATH)/crypto/ec/ec_lcl.h > + $(OPENSSL_PATH)/crypto/engine/eng_int.h > + $(OPENSSL_PATH)/crypto/evp/evp_locl.h > + $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h > + $(OPENSSL_PATH)/crypto/idea/idea_lcl.h > + $(OPENSSL_PATH)/crypto/include/internal/asn1_int.h > + $(OPENSSL_PATH)/crypto/include/internal/async.h > + $(OPENSSL_PATH)/crypto/include/internal/bn_dh.h > + $(OPENSSL_PATH)/crypto/include/internal/bn_int.h > + $(OPENSSL_PATH)/crypto/include/internal/bn_srp.h > + $(OPENSSL_PATH)/crypto/include/internal/chacha.h > + $(OPENSSL_PATH)/crypto/include/internal/cryptlib.h > + $(OPENSSL_PATH)/crypto/include/internal/cryptlib_int.h > + $(OPENSSL_PATH)/crypto/include/internal/engine.h > + $(OPENSSL_PATH)/crypto/include/internal/err_int.h > + $(OPENSSL_PATH)/crypto/include/internal/evp_int.h > + $(OPENSSL_PATH)/crypto/include/internal/lhash.h > + $(OPENSSL_PATH)/crypto/include/internal/md32_common.h > + $(OPENSSL_PATH)/crypto/include/internal/objects.h > + $(OPENSSL_PATH)/crypto/include/internal/poly1305.h > + $(OPENSSL_PATH)/crypto/include/internal/rand.h > + $(OPENSSL_PATH)/crypto/include/internal/x509_int.h > + $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h > + $(OPENSSL_PATH)/crypto/md4/md4_locl.h > + $(OPENSSL_PATH)/crypto/md5/md5_locl.h > + $(OPENSSL_PATH)/crypto/modes/modes_lcl.h > + $(OPENSSL_PATH)/crypto/objects/obj_dat.h > + $(OPENSSL_PATH)/crypto/objects/obj_lcl.h > + $(OPENSSL_PATH)/crypto/objects/obj_xref.h > + $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h > + $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h > + $(OPENSSL_PATH)/crypto/ppc_arch.h > + $(OPENSSL_PATH)/crypto/rand/rand_lcl.h > + $(OPENSSL_PATH)/crypto/rc2/rc2_locl.h > + $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h > + $(OPENSSL_PATH)/crypto/rc5/rc5_locl.h > + $(OPENSSL_PATH)/crypto/ripemd/rmdconst.h > + $(OPENSSL_PATH)/crypto/ripemd/rmd_locl.h > + $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h > + $(OPENSSL_PATH)/crypto/seed/seed_locl.h > + $(OPENSSL_PATH)/crypto/sha/sha_locl.h > + $(OPENSSL_PATH)/crypto/sparc_arch.h > + $(OPENSSL_PATH)/crypto/ts/ts_lcl.h > + $(OPENSSL_PATH)/crypto/ui/ui_locl.h > + $(OPENSSL_PATH)/crypto/vms_rms.h > + $(OPENSSL_PATH)/crypto/whrlpool/wp_locl.h > + $(OPENSSL_PATH)/crypto/x509/x509_lcl.h > + $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h > + $(OPENSSL_PATH)/crypto/x509v3/pcy_int.h > + $(OPENSSL_PATH)/ms/tlhelp32.h > + $(OPENSSL_PATH)/ms/uplink.h > + $(OPENSSL_PATH)/ssl/packet_locl.h > + $(OPENSSL_PATH)/ssl/record/record.h > + $(OPENSSL_PATH)/ssl/record/record_locl.h > + $(OPENSSL_PATH)/ssl/ssl_locl.h > + $(OPENSSL_PATH)/ssl/statem/statem.h > + $(OPENSSL_PATH)/ssl/statem/statem_locl.h > # Autogenerated files list ends here > > [Packages] > diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > index 2310100988..f5a0141674 100644 > --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf > @@ -474,6 +474,174 @@ > $(OPENSSL_PATH)/crypto/x509v3/v3_tlsf.c > $(OPENSSL_PATH)/crypto/x509v3/v3_utl.c > $(OPENSSL_PATH)/crypto/x509v3/v3err.c > + buildinf.h > + $(OPENSSL_PATH)/include/internal/asn1t.h > + $(OPENSSL_PATH)/include/internal/bio.h > + $(OPENSSL_PATH)/include/internal/comp.h > + $(OPENSSL_PATH)/include/internal/conf.h > + $(OPENSSL_PATH)/include/internal/constant_time_locl.h > + $(OPENSSL_PATH)/include/internal/dane.h > + $(OPENSSL_PATH)/include/internal/dso.h > + $(OPENSSL_PATH)/include/internal/err.h > + $(OPENSSL_PATH)/include/internal/numbers.h > + $(OPENSSL_PATH)/include/internal/o_dir.h > + $(OPENSSL_PATH)/include/internal/o_str.h > + $(OPENSSL_PATH)/include/internal/sslconf.h > + $(OPENSSL_PATH)/include/internal/thread_once.h > + $(OPENSSL_PATH)/include/openssl/aes.h > + $(OPENSSL_PATH)/include/openssl/asn1.h > + $(OPENSSL_PATH)/include/openssl/asn1t.h > + $(OPENSSL_PATH)/include/openssl/asn1_mac.h > + $(OPENSSL_PATH)/include/openssl/async.h > + $(OPENSSL_PATH)/include/openssl/bio.h > + $(OPENSSL_PATH)/include/openssl/blowfish.h > + $(OPENSSL_PATH)/include/openssl/bn.h > + $(OPENSSL_PATH)/include/openssl/buffer.h > + $(OPENSSL_PATH)/include/openssl/camellia.h > + $(OPENSSL_PATH)/include/openssl/cast.h > + $(OPENSSL_PATH)/include/openssl/cmac.h > + $(OPENSSL_PATH)/include/openssl/cms.h > + $(OPENSSL_PATH)/include/openssl/comp.h > + $(OPENSSL_PATH)/include/openssl/conf.h > + $(OPENSSL_PATH)/include/openssl/conf_api.h > + $(OPENSSL_PATH)/include/openssl/crypto.h > + $(OPENSSL_PATH)/include/openssl/ct.h > + $(OPENSSL_PATH)/include/openssl/des.h > + $(OPENSSL_PATH)/include/openssl/dh.h > + $(OPENSSL_PATH)/include/openssl/dsa.h > + $(OPENSSL_PATH)/include/openssl/dtls1.h > + $(OPENSSL_PATH)/include/openssl/ebcdic.h > + $(OPENSSL_PATH)/include/openssl/ec.h > + $(OPENSSL_PATH)/include/openssl/ecdh.h > + $(OPENSSL_PATH)/include/openssl/ecdsa.h > + $(OPENSSL_PATH)/include/openssl/engine.h > + $(OPENSSL_PATH)/include/openssl/err.h > + $(OPENSSL_PATH)/include/openssl/evp.h > + $(OPENSSL_PATH)/include/openssl/e_os2.h > + $(OPENSSL_PATH)/include/openssl/hmac.h > + $(OPENSSL_PATH)/include/openssl/idea.h > + $(OPENSSL_PATH)/include/openssl/kdf.h > + $(OPENSSL_PATH)/include/openssl/lhash.h > + $(OPENSSL_PATH)/include/openssl/md2.h > + $(OPENSSL_PATH)/include/openssl/md4.h > + $(OPENSSL_PATH)/include/openssl/md5.h > + $(OPENSSL_PATH)/include/openssl/mdc2.h > + $(OPENSSL_PATH)/include/openssl/modes.h > + $(OPENSSL_PATH)/include/openssl/objects.h > + $(OPENSSL_PATH)/include/openssl/obj_mac.h > + $(OPENSSL_PATH)/include/openssl/ocsp.h > + $(OPENSSL_PATH)/include/openssl/opensslconf.h > + $(OPENSSL_PATH)/include/openssl/opensslv.h > + $(OPENSSL_PATH)/include/openssl/ossl_typ.h > + $(OPENSSL_PATH)/include/openssl/pem.h > + $(OPENSSL_PATH)/include/openssl/pem2.h > + $(OPENSSL_PATH)/include/openssl/pkcs12.h > + $(OPENSSL_PATH)/include/openssl/pkcs7.h > + $(OPENSSL_PATH)/include/openssl/rand.h > + $(OPENSSL_PATH)/include/openssl/rc2.h > + $(OPENSSL_PATH)/include/openssl/rc4.h > + $(OPENSSL_PATH)/include/openssl/rc5.h > + $(OPENSSL_PATH)/include/openssl/ripemd.h > + $(OPENSSL_PATH)/include/openssl/rsa.h > + $(OPENSSL_PATH)/include/openssl/safestack.h > + $(OPENSSL_PATH)/include/openssl/seed.h > + $(OPENSSL_PATH)/include/openssl/sha.h > + $(OPENSSL_PATH)/include/openssl/srp.h > + $(OPENSSL_PATH)/include/openssl/srtp.h > + $(OPENSSL_PATH)/include/openssl/ssl.h > + $(OPENSSL_PATH)/include/openssl/ssl2.h > + $(OPENSSL_PATH)/include/openssl/ssl3.h > + $(OPENSSL_PATH)/include/openssl/stack.h > + $(OPENSSL_PATH)/include/openssl/symhacks.h > + $(OPENSSL_PATH)/include/openssl/tls1.h > + $(OPENSSL_PATH)/include/openssl/ts.h > + $(OPENSSL_PATH)/include/openssl/txt_db.h > + $(OPENSSL_PATH)/include/openssl/ui.h > + $(OPENSSL_PATH)/include/openssl/whrlpool.h > + $(OPENSSL_PATH)/include/openssl/x509.h > + $(OPENSSL_PATH)/include/openssl/x509v3.h > + $(OPENSSL_PATH)/include/openssl/x509_vfy.h > + $(OPENSSL_PATH)/crypto/aes/aes_locl.h > + $(OPENSSL_PATH)/crypto/arm_arch.h > + $(OPENSSL_PATH)/crypto/asn1/asn1_locl.h > + $(OPENSSL_PATH)/crypto/asn1/charmap.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/async/async_locl.h > + $(OPENSSL_PATH)/crypto/bf/bf_locl.h > + $(OPENSSL_PATH)/crypto/bf/bf_pi.h > + $(OPENSSL_PATH)/crypto/bio/bio_lcl.h > + $(OPENSSL_PATH)/crypto/blake2/blake2_impl.h > + $(OPENSSL_PATH)/crypto/blake2/blake2_locl.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/camellia/cmll_locl.h > + $(OPENSSL_PATH)/crypto/cast/cast_lcl.h > + $(OPENSSL_PATH)/crypto/cast/cast_s.h > + $(OPENSSL_PATH)/crypto/cms/cms_lcl.h > + $(OPENSSL_PATH)/crypto/comp/comp_lcl.h > + $(OPENSSL_PATH)/crypto/conf/conf_def.h > + $(OPENSSL_PATH)/crypto/conf/conf_lcl.h > + $(OPENSSL_PATH)/crypto/ct/ct_locl.h > + $(OPENSSL_PATH)/crypto/des/des_locl.h > + $(OPENSSL_PATH)/crypto/des/rpc_des.h > + $(OPENSSL_PATH)/crypto/des/spr.h > + $(OPENSSL_PATH)/crypto/dh/dh_locl.h > + $(OPENSSL_PATH)/crypto/dsa/dsa_locl.h > + $(OPENSSL_PATH)/crypto/dso/dso_locl.h > + $(OPENSSL_PATH)/crypto/ec/ec_lcl.h > + $(OPENSSL_PATH)/crypto/engine/eng_int.h > + $(OPENSSL_PATH)/crypto/evp/evp_locl.h > + $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.h > + $(OPENSSL_PATH)/crypto/idea/idea_lcl.h > + $(OPENSSL_PATH)/crypto/include/internal/asn1_int.h > + $(OPENSSL_PATH)/crypto/include/internal/async.h > + $(OPENSSL_PATH)/crypto/include/internal/bn_dh.h > + $(OPENSSL_PATH)/crypto/include/internal/bn_int.h > + $(OPENSSL_PATH)/crypto/include/internal/bn_srp.h > + $(OPENSSL_PATH)/crypto/include/internal/chacha.h > + $(OPENSSL_PATH)/crypto/include/internal/cryptlib.h > + $(OPENSSL_PATH)/crypto/include/internal/cryptlib_int.h > + $(OPENSSL_PATH)/crypto/include/internal/engine.h > + $(OPENSSL_PATH)/crypto/include/internal/err_int.h > + $(OPENSSL_PATH)/crypto/include/internal/evp_int.h > + $(OPENSSL_PATH)/crypto/include/internal/lhash.h > + $(OPENSSL_PATH)/crypto/include/internal/md32_common.h > + $(OPENSSL_PATH)/crypto/include/internal/objects.h > + $(OPENSSL_PATH)/crypto/include/internal/poly1305.h > + $(OPENSSL_PATH)/crypto/include/internal/rand.h > + $(OPENSSL_PATH)/crypto/include/internal/x509_int.h > + $(OPENSSL_PATH)/crypto/lhash/lhash_lcl.h > + $(OPENSSL_PATH)/crypto/md4/md4_locl.h > + $(OPENSSL_PATH)/crypto/md5/md5_locl.h > + $(OPENSSL_PATH)/crypto/modes/modes_lcl.h > + $(OPENSSL_PATH)/crypto/objects/obj_dat.h > + $(OPENSSL_PATH)/crypto/objects/obj_lcl.h > + $(OPENSSL_PATH)/crypto/objects/obj_xref.h > + $(OPENSSL_PATH)/crypto/ocsp/ocsp_lcl.h > + $(OPENSSL_PATH)/crypto/pkcs12/p12_lcl.h > + $(OPENSSL_PATH)/crypto/ppc_arch.h > + $(OPENSSL_PATH)/crypto/rand/rand_lcl.h > + $(OPENSSL_PATH)/crypto/rc2/rc2_locl.h > + $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h > + $(OPENSSL_PATH)/crypto/rc5/rc5_locl.h > + $(OPENSSL_PATH)/crypto/ripemd/rmdconst.h > + $(OPENSSL_PATH)/crypto/ripemd/rmd_locl.h > + $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h > + $(OPENSSL_PATH)/crypto/seed/seed_locl.h > + $(OPENSSL_PATH)/crypto/sha/sha_locl.h > + $(OPENSSL_PATH)/crypto/sparc_arch.h > + $(OPENSSL_PATH)/crypto/ts/ts_lcl.h > + $(OPENSSL_PATH)/crypto/ui/ui_locl.h > + $(OPENSSL_PATH)/crypto/vms_rms.h > + $(OPENSSL_PATH)/crypto/whrlpool/wp_locl.h > + $(OPENSSL_PATH)/crypto/x509/x509_lcl.h > + $(OPENSSL_PATH)/crypto/x509v3/ext_dat.h > + $(OPENSSL_PATH)/crypto/x509v3/pcy_int.h > + $(OPENSSL_PATH)/ms/tlhelp32.h > + $(OPENSSL_PATH)/ms/uplink.h > # Autogenerated files list ends here > > [Packages] > diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl b/CryptoPkg/Library/OpensslLib/process_files.pl > index f6e1f43641..67416c098b 100755 > --- a/CryptoPkg/Library/OpensslLib/process_files.pl > +++ b/CryptoPkg/Library/OpensslLib/process_files.pl > @@ -115,12 +115,18 @@ BEGIN { > # Retrieve file lists from OpenSSL configdata > # > use configdata qw/%unified_info/; > +use Cwd qw(cwd getcwd); > +use Cwd; > > my @cryptofilelist = (); > my @sslfilelist = (); > +my %includedirset = (); > foreach my $product ((@{$unified_info{libraries}}, > @{$unified_info{engines}})) { > foreach my $o (@{$unified_info{sources}->{$product}}) { > + foreach my $inc (@{%{$unified_info{includes}}{$o}}) { > + $includedirset{$inc} = 1; > + } > foreach my $s (@{$unified_info{sources}->{$o}}) { > next if ($unified_info{generate}->{$s}); > next if $s =~ "crypto/bio/b_print.c"; > @@ -133,6 +139,45 @@ foreach my $product ((@{$unified_info{libraries}}, > } > } > > +my $fullpathcwd = getcwd . '/' . $OPENSSL_PATH . '/'; > +my $cwdpath = getcwd . '/'; > +my @sslincludefilelist = (); > +my @cryptoincludefilelist = (); > +# Current working directory header files > +foreach my $file (split (/\n/, `find . -maxdepth 1 -name "*.h"`)) { > + # Normalize path > + my @filearray = split("$cwdpath", Cwd::realpath($file)); > + my $pathstring = $filearray[1]; > + my $path = ' ' . $pathstring . "\r\n"; > + push @cryptoincludefilelist, $path; > +} > +# Header files below $OPENSSL_PATH > +foreach my $dir (keys %includedirset) { > + foreach my $file (split (/\n/, `find $OPENSSL_PATH/$dir/ -name "*.h"`)) { > + # Normalize path > + my @filearray = split("$fullpathcwd", Cwd::realpath($file)); > + my $pathstring = $filearray[1]; > + my $path = ' $(OPENSSL_PATH)/' . $pathstring . "\r\n"; > + # Don't reuse duplicates > + next if ( $path ~~ @cryptoincludefilelist ); > + next if ( $path ~~ @sslincludefilelist ); > + # Ignore these types > + next if ( $path =~ "test" ); > + next if ( $path =~ "apps" ); > + next if ( $path =~ "engines" ); > + next if ( $path =~ "fuzz" ); > + next if ( $path =~ "os-dep" ); > + next if ( $path =~ "e_os.h" ); > + # Sperate Ssl only headers > + if ( $path =~ "/ssl/" ) { > + push @sslincludefilelist, $path; > + next; > + } > + push @cryptoincludefilelist, $path; > + } > +} > + > + > # > # Update OpensslLib.inf with autogenerated file list > # > @@ -141,7 +186,7 @@ my $subbing = 0; > print "\n--> Updating OpensslLib.inf ... "; > foreach (@inf) { > if ( $_ =~ "# Autogenerated files list starts here" ) { > - push @new_inf, $_, @cryptofilelist, @sslfilelist; > + push @new_inf, $_, @cryptofilelist, @sslfilelist, @cryptoincludefilelist, @sslincludefilelist; > $subbing = 1; > next; > } > @@ -184,7 +229,7 @@ $subbing = 0; > print "\n--> Updating OpensslLibCrypto.inf ... "; > foreach (@inf) { > if ( $_ =~ "# Autogenerated files list starts here" ) { > - push @new_inf, $_, @cryptofilelist; > + push @new_inf, $_, @cryptofilelist, @cryptoincludefilelist; > $subbing = 1; > next; > } >