public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: devel@edk2.groups.io, christopher.j.zurcher@intel.com
Subject: Re: [edk2-devel] [PATCH 1/1] CryptoPkg/OpensslLib: Remove "no-autoalginit" flag from OpenSSL build
Date: Fri, 14 Feb 2020 00:29:21 +0100	[thread overview]
Message-ID: <dbb00771-2d00-1951-f2fd-abc313e7cf31@redhat.com> (raw)
In-Reply-To: <20200212234100.28300-2-christopher.j.zurcher@intel.com>

Hi Christopher,

(1) Please CC the CryptoPkg maintainers on CryptoPkg patches.

On 02/13/20 00:41, Zurcher, Christopher J wrote:
> This is required for interfaces such as EVP to retrieve algorithms
> by name.

(2) Apologies, I don't understand this explanation. There don't seem to
be any users for whatever is being enabled in this patch in the edk2
tree. Can you please elaborate? (Not just for me in this thread, but in
the commit message.)

> 
> This commit also adds the "sort" keyword to the header file parsing loop
> so the .inf files aren't randomized after every run of process_files.pl.

(3) That's a great idea, but it should be split to a separate patch. I'd
suggest first introducing the sorted generation (without any change to
the set of files built).

And then the effects of the "no-autoalginit" removal can be seen
clearly, without being hidden by the reordering.


> ---
>  CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 64 ++++++++++----------
>  CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 60 +++++++++---------
>  CryptoPkg/Library/Include/openssl/opensslconf.h   |  3 -
>  CryptoPkg/Library/OpensslLib/process_files.pl     |  5 +-
>  4 files changed, 64 insertions(+), 68 deletions(-)
> 
> diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> index 3fa52f5543..5caffdb71e 100644
> --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
> @@ -494,57 +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/aes/aes_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/async_locl.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/bio/bio_lcl.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/comp/comp_lcl.h
> +  $(OPENSSL_PATH)/crypto/conf/conf_def.h
> +  $(OPENSSL_PATH)/crypto/conf/conf_lcl.h
>    $(OPENSSL_PATH)/crypto/des/des_locl.h
>    $(OPENSSL_PATH)/crypto/des/spr.h
> +  $(OPENSSL_PATH)/crypto/dh/dh_locl.h
> +  $(OPENSSL_PATH)/crypto/dso/dso_locl.h
> +  $(OPENSSL_PATH)/crypto/evp/evp_locl.h
> +  $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.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/rand/rand_lcl.h
> +  $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h
> +  $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h
> +  $(OPENSSL_PATH)/crypto/sha/sha_locl.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/sm3/sm3_locl.h
> +  $(OPENSSL_PATH)/crypto/store/store_locl.h
> +  $(OPENSSL_PATH)/crypto/ui/ui_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)/crypto/x509v3/standard_exts.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 +589,13 @@
>    $(OPENSSL_PATH)/ssl/t1_trce.c
>    $(OPENSSL_PATH)/ssl/tls13_enc.c
>    $(OPENSSL_PATH)/ssl/tls_srp.c
> -  $(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/record/record_locl.h
> +  $(OPENSSL_PATH)/ssl/statem/statem.h
> +  $(OPENSSL_PATH)/ssl/statem/statem_locl.h
>  # Autogenerated files list ends here
>    buildinf.h
>    rand_pool_noise.h
> diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> index f1f9fbb938..11a9563c49 100644
> --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
> @@ -494,57 +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/aes/aes_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/async_locl.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/bio/bio_lcl.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/comp/comp_lcl.h
> +  $(OPENSSL_PATH)/crypto/conf/conf_def.h
> +  $(OPENSSL_PATH)/crypto/conf/conf_lcl.h
>    $(OPENSSL_PATH)/crypto/des/des_locl.h
>    $(OPENSSL_PATH)/crypto/des/spr.h
> +  $(OPENSSL_PATH)/crypto/dh/dh_locl.h
> +  $(OPENSSL_PATH)/crypto/dso/dso_locl.h
> +  $(OPENSSL_PATH)/crypto/evp/evp_locl.h
> +  $(OPENSSL_PATH)/crypto/hmac/hmac_lcl.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/rand/rand_lcl.h
> +  $(OPENSSL_PATH)/crypto/rc4/rc4_locl.h
> +  $(OPENSSL_PATH)/crypto/rsa/rsa_locl.h
> +  $(OPENSSL_PATH)/crypto/sha/sha_locl.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/sm3/sm3_locl.h
> +  $(OPENSSL_PATH)/crypto/store/store_locl.h
> +  $(OPENSSL_PATH)/crypto/ui/ui_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)/crypto/x509v3/standard_exts.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/Include/openssl/opensslconf.h b/CryptoPkg/Library/Include/openssl/opensslconf.h
> index 2b4d538e92..bd34e53ef2 100644
> --- a/CryptoPkg/Library/Include/openssl/opensslconf.h
> +++ b/CryptoPkg/Library/Include/openssl/opensslconf.h
> @@ -109,9 +109,6 @@ extern "C" {
>  #ifndef OPENSSL_NO_ASYNC
>  # define OPENSSL_NO_ASYNC
>  #endif
> -#ifndef OPENSSL_NO_AUTOALGINIT
> -# define OPENSSL_NO_AUTOALGINIT
> -#endif
>  #ifndef OPENSSL_NO_AUTOERRINIT
>  # define OPENSSL_NO_AUTOERRINIT
>  #endif
> diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl b/CryptoPkg/Library/OpensslLib/process_files.pl
> index bbcfa0d0e7..4ba25da407 100755
> --- a/CryptoPkg/Library/OpensslLib/process_files.pl
> +++ b/CryptoPkg/Library/OpensslLib/process_files.pl
> @@ -51,9 +51,8 @@ BEGIN {
>                  "no-afalgeng",
>                  "no-asm",
>                  "no-async",
> -                "no-autoalginit",
>                  "no-autoerrinit",
> -                "no-autoload-config",
> +                "no-autoload-config",

(4) What changed here ("no-autoload-config")?

Thanks,
Laszlo

>                  "no-bf",
>                  "no-blake2",
>                  "no-camellia",
> @@ -157,7 +156,7 @@ foreach my $product ((@{$unified_info{libraries}},
>  # Update the perl script to generate the missing header files
>  #
>  my @dir_list = ();
> -for (keys %{$unified_info{dirinfo}}){
> +for (sort keys %{$unified_info{dirinfo}}){
>    push @dir_list,$_;
>  }
>  
> 


  reply	other threads:[~2020-02-13 23:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-12 23:40 [PATCH 0/1] Remove "no-autoalginit" flag from OpenSSL build Zurcher, Christopher J
2020-02-12 23:41 ` [PATCH 1/1] CryptoPkg/OpensslLib: " Zurcher, Christopher J
2020-02-13 23:29   ` Laszlo Ersek [this message]
2020-02-13 23:39     ` [edk2-devel] " Zurcher, Christopher J

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=dbb00771-2d00-1951-f2fd-abc313e7cf31@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