public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: devel@edk2.groups.io, christian.rodriguez@intel.com
Cc: Jian Wang <jian.j.wang@intel.com>, Ting Ye <ting.ye@intel.com>,
	Yonghong Zhu <yonghong.zhu@intel.com>
Subject: Re: [edk2-devel] [PATCH] OpensslLib: Missing local header files in [Sources] section of .INFs
Date: Wed, 22 May 2019 11:29:47 +0200	[thread overview]
Message-ID: <9cafa2c6-ae2b-2e20-153c-8f886affa448@redhat.com> (raw)
In-Reply-To: <20190521190351.13984-1-christian.rodriguez@intel.com>

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 <christian.rodriguez@intel.com>
> Cc: Jian Wang <jian.j.wang@intel.com>
> Cc: Ting Ye <ting.ye@intel.com>
> Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
>  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;
>      }
> 


      reply	other threads:[~2019-05-22  9:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-21 19:03 [PATCH] OpensslLib: Missing local header files in [Sources] section of .INFs Christian Rodriguez
2019-05-22  9:29 ` Laszlo Ersek [this message]

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=9cafa2c6-ae2b-2e20-153c-8f886affa448@redhat.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