Ok. You can rb me, but I don't maintain that pkg so... Reviewed-by Jaben Carsey <[email protected]>
-Jaben > On Apr 25, 2016, at 11:17 AM, El-Haj-Mahmoud, Samer > <[email protected]> wrote: > > Thanks Jaben. I did notice this and tried to submit the patch with the > modified subject (using git send-email with both --subject and --compose), > but that didn't work for some reason. > > Some answers below... > > > -----Original Message----- > From: Carsey, Jaben [mailto:[email protected]] > Sent: Monday, April 25, 2016 12:54 PM > To: El-Haj-Mahmoud, Samer <[email protected]>; > [email protected] > Cc: El-Haj-Mahmoud, Samer <[email protected]>; Wu, Jiaxin > <[email protected]>; Carsey, Jaben <[email protected]> > Subject: RE: [edk2] [PATCH] CryptoPkg: Fix TLS Lib issue when certificate is > added to store multiple times > > Samer, > > Note: This is not in the EDK2 yet, but in the staging... change [PATCH] to > [Staging/HTTPS-TLS PATCH] (or something like that per the rules...) > > 2 questions inline also. > > -Jaben > >> -----Original Message----- >> From: edk2-devel [mailto:[email protected]] On Behalf Of >> Samer El-Haj-Mahmoud >> Sent: Monday, April 25, 2016 10:15 AM >> To: [email protected] >> Cc: Samer El-Haj-Mahmoud <[email protected]>; Wu, Jiaxin >> <[email protected]> >> Subject: [edk2] [PATCH] CryptoPkg: Fix TLS Lib issue when certificate >> is added to store multiple times >> >> Removed unnecessary error condition in TLS Lib that that would report >> an error if a certificate is being added to the X509_STORE more than once. >> This causes HTTPS to fail on second attempt with the same certificate. >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Samer El-Haj-Mahmoud <[email protected]> >> Signed-off-by: Thomas Palmer <[email protected]> >> --- >> CryptoPkg/Library/TlsLib/TlsLib.c | 15 +++++++++++++-- >> 1 file changed, 13 insertions(+), 2 deletions(-) >> >> diff --git a/CryptoPkg/Library/TlsLib/TlsLib.c >> b/CryptoPkg/Library/TlsLib/TlsLib.c >> index e661375..0818653 100644 >> --- a/CryptoPkg/Library/TlsLib/TlsLib.c >> +++ b/CryptoPkg/Library/TlsLib/TlsLib.c >> @@ -2,6 +2,7 @@ >> SSL/TLS Library Wrapper Implementation over OpenSSL. >> >> Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> >> +(C) Copyright 2016 Hewlett Packard Enterprise Development LP<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 @@ -16,6 +17,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF >> ANY KIND, EITHER EXPRESS OR IMPLIED. >> >> #include <openssl/ssl.h> >> #include <openssl/bio.h> >> +#include <openssl/err.h> >> >> #define MAX_BUFFER_SIZE 32768 >> >> @@ -1429,6 +1431,7 @@ TlsSetCaCertificate ( >> EFI_STATUS Status; >> TLS_CONNECTION *TlsConn; >> INTN Ret; >> + unsigned long ErrorCode; >> >> BioCert = NULL; >> Cert = NULL; >> @@ -1481,8 +1484,16 @@ TlsSetCaCertificate ( >> >> Ret = X509_STORE_add_cert (X509Store, Cert); >> if (Ret != 1) { > > [Jaben] do we want to leave hardcoded things like this 1? > [Samer] Did not want to make additional changes in this patch. Could consider > including it in a future cleanup patch, but the oepnSSL / crypto code is > using 0 (for error) and 1 (for OK) all over the place > > >> - Status = EFI_ABORTED; >> - goto ON_EXIT; >> + ErrorCode = ERR_peek_last_error (); >> + // >> + // Ignore "already in table" errors >> + // >> + if (!(ERR_GET_FUNC (ErrorCode) == X509_F_X509_STORE_ADD_CERT && >> + ERR_GET_REASON (ErrorCode) == >> X509_R_CERT_ALREADY_IN_HASH_TABLE)) { >> + Status = EFI_ABORTED; >> + goto ON_EXIT; >> + } >> + >> } >> >> X509_STORE_set_flags ( > > [Jaben] Is there a reason to still change the flags on the cert? > [Samer] Did not want to make additional changes in this patch. This patch is > to fix a specific error. The next patch I will submit (after this one is > cleared) has some cleanup, and includes moving the store flags set to the > init function. > >> -- >> 2.6.3.windows.1 >> >> _______________________________________________ >> edk2-devel mailing list >> [email protected] >> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

