Has there been any thought to upstream the libOpenSSL changes? It would be nice to be able to grab a current OpenSSL tarball and have it include UEFI support, and not have to patch it each time. Having the patches in truck also makes the main OpenSSL developers aware of how their changes impact UEFI-centric codepaths, which they are currently blind to.
The previous OpenSSL patch was apparently not acceptable to them. I hope some consideration has been made for this patch. Thanks, Lee On 06/05/2015 09:11 AM, Long, Qin wrote: > Copy that. Thanks biesheuvel. > I will double-check the GCC building. > > > Best Regards & Thanks, > LONG, Qin > > -----Original Message----- > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > Sent: Friday, June 5, 2015 5:20 PM > To: edk2-devel@lists.sourceforge.net > Subject: Re: [edk2] [patch 3/3] [CryptoPkg] Updates some support header files and wrapper files to support openssl-1.0.2a build, and correct some openssl API usages when handling ASN.1 en/decoding. > > Hello Long Qin, > > This patch breaks the build on GCC due to UINT8* variables being passed as 'const unsigned char*' parameters. > Please see below. > > On 5 June 2015 at 03:06, qlong <qin.l...@intel.com> wrote: >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Long Qin <qin.l...@intel.com> >> Signed-off-by: qlong <qin.l...@intel.com> >> --- >> CryptoPkg/Include/OpenSslSupport.h | 8 +++++++- >> CryptoPkg/Include/memory.h | 16 ++++++++++++++++ >> CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c | 6 ++++-- >> CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7Sign.c | 10 +++++----- >> CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7Verify.c | 9 +++++---- >> CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c | 10 +++++++--- >> CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c | 6 ++++-- >> 7 files changed, 48 insertions(+), 17 deletions(-) create mode >> 100644 CryptoPkg/Include/memory.h >> > [...] >> diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c >> b/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c >> index 4ce2b06..9ace5e6 100644 >> --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c >> +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c >> @@ -9,7 +9,7 @@ >> AuthenticodeVerify() will get PE/COFF Authenticode and will do basic check for >> data structure. >> >> -Copyright (c) 2011 - 2014, Intel Corporation. All rights >> reserved.<BR> >> +Copyright (c) 2011 - 2015, Intel Corporation. All rights >> +reserved.<BR> >> This program and the accompanying materials are licensed and made >> available under the terms and conditions of the BSD License which >> accompanies this distribution. The full text of the license may be >> found at @@ -72,6 +72,7 @@ AuthenticodeVerify ( { >> BOOLEAN Status; >> PKCS7 *Pkcs7; >> + UINT8 *Temp; > > CONST UINT8 *Temp; > >> CONST UINT8 *OrigAuthData; >> UINT8 *SpcIndirectDataContent; >> UINT8 Asn1Byte; >> @@ -96,7 +97,8 @@ AuthenticodeVerify ( >> // >> // Retrieve & Parse PKCS#7 Data (DER encoding) from Authenticode Signature >> // >> - Pkcs7 = d2i_PKCS7 (NULL, &AuthData, (int)DataSize); >> + Temp = (UINT8 *)AuthData; >> + Pkcs7 = d2i_PKCS7 (NULL, &Temp, (int)DataSize); >> if (Pkcs7 == NULL) { >> goto _Exit; >> } > > [...] > >> diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7Verify.c >> b/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7Verify.c >> index a9665d5..06e4bb2 100644 >> --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7Verify.c >> +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7Verify.c > [...] >> @@ -618,7 +618,8 @@ Pkcs7Verify ( >> // >> // Read DER-encoded root certificate and Construct X509 Certificate >> // >> - Cert = d2i_X509 (NULL, &TrustedCert, (long) CertLength); >> + Temp = (UINT8 *)TrustedCert; >> + Cert = d2i_X509 (NULL, &Temp, (long) CertLength); > > Same here: temp should be declared as CONST UINT8* > >> if (Cert == NULL) { >> goto _Exit; >> } > [...] >> diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c >> b/CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c >> index e4b5a84..7456755 100644 >> --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c >> +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c > [...] >> @@ -441,6 +441,7 @@ TimestampTokenVerify ( >> CONST UINT8 *TokenTemp; >> PKCS7 *Pkcs7; >> X509 *Cert; >> + UINT8 *CertTemp; > > Same here > >> X509_STORE *CertStore; >> BIO *OutBio; >> UINT8 *TstData; >> @@ -490,7 +491,8 @@ TimestampTokenVerify ( >> // >> // Read the trusted TSA certificate (DER-encoded), and Construct X509 Certificate. >> // >> - Cert = d2i_X509 (NULL, &TsaCert, (long) CertSize); >> + CertTemp = (UINT8 *)TsaCert; >> + Cert = d2i_X509 (NULL, &CertTemp, (long) CertSize); >> if (Cert == NULL) { >> goto _Exit; >> } > [...] >> diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c >> b/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c >> index 29efc42..66f79da 100644 >> --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c >> +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c >> @@ -1,7 +1,7 @@ >> /** @file >> X.509 Certificate Handler Wrapper Implementation over OpenSSL. >> >> -Copyright (c) 2010 - 2014, Intel Corporation. All rights >> reserved.<BR> >> +Copyright (c) 2010 - 2015, Intel Corporation. All rights >> +reserved.<BR> >> This program and the accompanying materials are licensed and made >> available under the terms and conditions of the BSD License which >> accompanies this distribution. The full text of the license may be >> found at @@ -39,6 +39,7 @@ X509ConstructCertificate ( >> ) >> { >> X509 *X509Cert; >> + UINT8 *Temp; > > ... and here > >> >> // >> // Check input parameters. >> @@ -50,7 +51,8 @@ X509ConstructCertificate ( >> // >> // Read DER-encoded X509 Certificate and Construct X509 object. >> // >> - X509Cert = d2i_X509 (NULL, &Cert, (long) CertSize); >> + Temp = (UINT8 *)Cert; >> + X509Cert = d2i_X509 (NULL, &Temp, (long) CertSize); >> if (X509Cert == NULL) { >> return FALSE; >> } > > > Thanks, > Ard. > > ------------------------------------------------------------------------------ > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel