From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.120]) by mx.groups.io with SMTP id smtpd.web09.5144.1581636567418794115 for ; Thu, 13 Feb 2020 15:29:27 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=YXOFEDeU; spf=pass (domain: redhat.com, ip: 205.139.110.120, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1581636566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=f1exG5X5pZQUEyEbZSJoUQ8w/B9OYsHQ99fnKZLZXQE=; b=YXOFEDeUgv9gC9i3Zii213xgSr0ZGXLk1cStBbdgJQaKVhQK8zoW77qQRqDoMnBbdnYP3t gXXg/UjcgKR2yezK61GilMlJsqPTpc0UvG0BFLs9qP4awwb80kbCXIikV0O4xL4XPyYT5/ bksVHJV2HBCWvFrpvCK6MztixW/NI+o= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-258-ArMontVdNP-3CXHq-l3QFg-1; Thu, 13 Feb 2020 18:29:24 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B08288010CB; Thu, 13 Feb 2020 23:29:23 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-117-23.ams2.redhat.com [10.36.117.23]) by smtp.corp.redhat.com (Postfix) with ESMTP id A525F5C100; Thu, 13 Feb 2020 23:29:22 +0000 (UTC) Subject: Re: [edk2-devel] [PATCH 1/1] CryptoPkg/OpensslLib: Remove "no-autoalginit" flag from OpenSSL build To: devel@edk2.groups.io, christopher.j.zurcher@intel.com References: <20200212234100.28300-1-christopher.j.zurcher@intel.com> <20200212234100.28300-2-christopher.j.zurcher@intel.com> From: "Laszlo Ersek" Message-ID: Date: Fri, 14 Feb 2020 00:29:21 +0100 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: <20200212234100.28300-2-christopher.j.zurcher@intel.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-MC-Unique: ArMontVdNP-3CXHq-l3QFg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit 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,$_; > } > >