From nobody Fri Dec 19 20:23:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+113225+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1704443876429683.3329234192248; Fri, 5 Jan 2024 00:37:56 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=OoZHEBXIVqr/O1pZbbEtRb4drMa3rW5TI4/K8vQybh8=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1704443876; v=1; b=IaeTHhCh5tT8KqUAOgrknqJmshnkbKixO7If16l+0uSVA2J3mrwRfvaFUHNnHeAacJp0hkMf vwQLtBQQ0c8YDKhltUDNMm4zN1umyI1rDhQOzvpQgdSj1zYJ3MC4WR/zvhz6n9AHiyITUrdr8Jn 2gG4PdW+VG8kzkqC8wpJCLeE= X-Received: by 127.0.0.2 with SMTP id QHBrYY1788612xydO2rTTokp; Fri, 05 Jan 2024 00:37:56 -0800 X-Received: from NAM04-BN8-obe.outbound.protection.outlook.com (NAM04-BN8-obe.outbound.protection.outlook.com [40.107.100.44]) by mx.groups.io with SMTP id smtpd.web10.19663.1704443874687298797 for ; Fri, 05 Jan 2024 00:37:54 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q2yEetZxfiY9ewxHYXiMVYW9eNUDemT7p+bdh+f4I10wOajLBFn3L2xvS0y9D2GJc/6aY+fZWR1KWtOIpK+AwXg5TOcCdqOLnj+9L8Q1sTPExXgU6VPK1OvCoymc4zaysnhTusPC+UZnd0Ut3P4b2KgpeokwXXrFpq4ke/jFxF0cQxCDfdr0i9E/4Dot13KxbgyXoL35Oh2YfO/wNgs+qwSGSnua07V3nxHxeituq8ZrKUaWB/FBa6rHGBFbyPK83/flWayz+Iv75azbvsgYk+81RPjsz86F+ZuPu9WD0qFDpcE4MpEAB107tKq7STrhSaq1GKt2FjDcQPABr95FhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9cw+69muXsuVJsBJ6NyOKvXmUCWal+sEIeIl8NsoTdI=; b=nZVFKAkPZQxkCFvIHOXmt6J9eqbvP1oXv3LV3pU0kA2A2SY52wNGT8DdezBnGBvwIlXZUjVQwxgo8X0PcW5jHEo36Gof5cGehGsFdt8a0Fb1v0hW2VFwpFV4ZQON0zW0aGw+q0UNgtgaPqQZPvMtvm41CNREczHZpU5WG/m2ea1kJbLDohnMu7N0dwpBVWPVVRbiU/w0RVjRwTbjQUrXAwLc25SSdv0ZpiRiq8WLsfMlzaO3dDmWMBcap4pZ/mg/t9LbXsjMZy095NcpbLvG/EbaIJvKFpnMjyxrqt2lsVinAv1M6ICqifQBghkRb14NxxD6v2E3iulFw7T7lVqRVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from SJ0PR03CA0192.namprd03.prod.outlook.com (2603:10b6:a03:2ef::17) by CH2PR12MB4247.namprd12.prod.outlook.com (2603:10b6:610:7c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.17; Fri, 5 Jan 2024 08:37:48 +0000 X-Received: from SJ1PEPF00001CEB.namprd03.prod.outlook.com (2603:10b6:a03:2ef:cafe::c6) by SJ0PR03CA0192.outlook.office365.com (2603:10b6:a03:2ef::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.15 via Frontend Transport; Fri, 5 Jan 2024 08:37:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+113225+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF00001CEB.mail.protection.outlook.com (10.167.242.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7159.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:47 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 5 Jan 2024 02:37:45 -0600 From: "Chang, Abner via groups.io" To: CC: Saloni Kasbekar , Zachary Clark-williams , Michael Brown , Nickle Wang , Igor Kulchytskyy Subject: [edk2-devel] [PATCH 1/5] NetwokrPkg/HttpDxe: Refactor TlsCreateChild Date: Fri, 5 Jan 2024 16:37:12 +0800 Message-ID: <20240105083716.340-2-abner.chang@amd.com> In-Reply-To: <20240105083716.340-1-abner.chang@amd.com> References: <20240105083716.340-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CEB:EE_|CH2PR12MB4247:EE_ X-MS-Office365-Filtering-Correlation-Id: 30e116c6-63db-45a6-b2cd-08dc0dc99897 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: wOp7DuuT566x6ZbPOkBelL5ZfiR8gta3pRi1F8VAAvORHOyvKK4mF21LroUiIFrDK1LqZyA2oATfaqNg/LdYqT2rqnPhKTHYveRGUbF7kD2ErQ+oBCx42QYDjGjEGouyWhByIiHz3pViZhT8g5EcbLj0ZPZYPhewCzgcDWaiL3CqKaI8DZxAX5cZXlhsQNEQaykEBT+zam+UiVSqRtve/DHg89wI9Av3H7C9cJjneAJ00G+ZZVHemzi19U7mz2mogUaccbqXYf4ecn/LjnN+MLpevfcgwM3IrdEz6e5/DygorPu4KPWdjam4JkFV4Y+FF4AN4CwcAPfPpm7ECvfXn1FL/lJTxbPSVu8LOvYA35VcVFoLpiMZhsC/8rfeRBt54TJvq8hFJwMAFXpj99bRyxriP7b2WBAZ/PfQoeFgjLnVXn7ztCRyvs76xoKUN0qIqWFaHuIxfBxYufdXURPOR6kzcDyg4NNxO8V/zg1SsZ6bInykAqAIL2KYVPZJaVmkYCiIoauOSpCsYKSVJN83KaDB7sxFBMjcEj03yz8oR9nZ/WDUB9NJ6t08Qi3wFjRHMPwBWd/s7CcOIwwpcpebrj62TIyy5036RHxdHjsVp+uADme0+Kizm2hT5hHvQl6Zeg4FbDUR2BR2s16csqpwlrzPzv4q6DjZ/AQ7fzex9PP/7ccXVjLl5LpvlggnSWAcDiOQU637FFn1WPPEWrdTULWC2NzD0315tlOj0xbCTGdaPgrozxQuaRk2yfxd97MO2FCs7KqeAggfHwvulcdBc+iviVMWCsaReJ9wGAgOXhah/BbjWtzaWFHP30oqSVf0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2024 08:37:47.8027 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 30e116c6-63db-45a6-b2cd-08dc0dc99897 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CEB.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4247 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: cqlylZ6NDnISbgBDwLAbCUxUx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1704443877632100003 Content-Type: text/plain; charset="utf-8" From: Abner Chang - Use HTTP instance as the parameter for TlsCreateChild function. - Install TLS protocol on the HTTP instance thats create TLS child. Signed-off-by: Abner Chang Cc: Saloni Kasbekar Cc: Zachary Clark-williams Cc: Michael Brown Cc: Nickle Wang Cc: Igor Kulchytskyy Reviewed-by: Michael Brown --- NetworkPkg/HttpDxe/HttpProto.h | 3 +- NetworkPkg/HttpDxe/HttpsSupport.h | 18 ++++--- NetworkPkg/HttpDxe/HttpImpl.c | 23 ++------- NetworkPkg/HttpDxe/HttpProto.c | 7 +-- NetworkPkg/HttpDxe/HttpsSupport.c | 78 ++++++++++++++++++------------- 5 files changed, 64 insertions(+), 65 deletions(-) diff --git a/NetworkPkg/HttpDxe/HttpProto.h b/NetworkPkg/HttpDxe/HttpProto.h index 012f1f4b467..7e77b389a78 100644 --- a/NetworkPkg/HttpDxe/HttpProto.h +++ b/NetworkPkg/HttpDxe/HttpProto.h @@ -3,6 +3,7 @@ =20 Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
+Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -171,7 +172,7 @@ typedef struct _HTTP_PROTOCOL { BOOLEAN UseHttps; =20 EFI_SERVICE_BINDING_PROTOCOL *TlsSb; - EFI_HANDLE TlsChildHandle; /// Tls ChildHandle + BOOLEAN TlsAlreadyCreated; TLS_CONFIG_DATA TlsConfigData; EFI_TLS_PROTOCOL *Tls; EFI_TLS_CONFIGURATION_PROTOCOL *TlsConfiguration; diff --git a/NetworkPkg/HttpDxe/HttpsSupport.h b/NetworkPkg/HttpDxe/HttpsSu= pport.h index 3c70825e8c3..5b44c7ac395 100644 --- a/NetworkPkg/HttpDxe/HttpsSupport.h +++ b/NetworkPkg/HttpDxe/HttpsSupport.h @@ -2,6 +2,7 @@ The header files of miscellaneous routines specific to Https for HttpDxe= driver. =20 Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -30,21 +31,18 @@ IsHttpsUrl ( /** Creates a Tls child handle, open EFI_TLS_PROTOCOL and EFI_TLS_CONFIGURAT= ION_PROTOCOL. =20 - @param[in] ImageHandle The firmware allocated handle for the = UEFI image. - @param[out] TlsSb Pointer to the TLS SERVICE_BINDING_PRO= TOCOL. - @param[out] TlsProto Pointer to the EFI_TLS_PROTOCOL instan= ce. - @param[out] TlsConfiguration Pointer to the EFI_TLS_CONFIGURATION_P= ROTOCOL instance. + @param[in] HttpInstance Pointer to HTTP_PROTOCOL structure. =20 - @return The child handle with opened EFI_TLS_PROTOCOL and EFI_TLS_CONFI= GURATION_PROTOCOL. + @return EFI_SUCCESS TLS child handle is returned in HttpInstance= ->TlsChildHandle + with opened EFI_TLS_PROTOCOL and EFI_TLS_CON= FIGURATION_PROTOCOL. + EFI_DEVICE_ERROR TLS service binding protocol is not found. + Otherwise Fail to create TLS chile handle. =20 **/ -EFI_HANDLE +EFI_STATUS EFIAPI TlsCreateChild ( - IN EFI_HANDLE ImageHandle, - OUT EFI_SERVICE_BINDING_PROTOCOL **TlsSb, - OUT EFI_TLS_PROTOCOL **TlsProto, - OUT EFI_TLS_CONFIGURATION_PROTOCOL **TlsConfiguration + IN HTTP_PROTOCOL *HttpInstance ); =20 /** diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c index 7c5c925cf78..6606c293421 100644 --- a/NetworkPkg/HttpDxe/HttpImpl.c +++ b/NetworkPkg/HttpDxe/HttpImpl.c @@ -3,6 +3,7 @@ =20 Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
+ Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -248,7 +249,6 @@ EfiHttpRequest ( HTTP_TOKEN_WRAP *Wrap; CHAR8 *FileUrl; UINTN RequestMsgSize; - EFI_HANDLE ImageHandle; =20 // // Initializations @@ -371,23 +371,10 @@ EfiHttpRequest ( // // Check whether we need to create Tls child and open the TLS protocol. // - if (HttpInstance->UseHttps && (HttpInstance->TlsChildHandle =3D=3D NUL= L)) { - // - // Use TlsSb to create Tls child and open the TLS protocol. - // - if (HttpInstance->LocalAddressIsIPv6) { - ImageHandle =3D HttpInstance->Service->Ip6DriverBindingHandle; - } else { - ImageHandle =3D HttpInstance->Service->Ip4DriverBindingHandle; - } - - HttpInstance->TlsChildHandle =3D TlsCreateChild ( - ImageHandle, - &(HttpInstance->TlsSb), - &(HttpInstance->Tls), - &(HttpInstance->TlsConfiguration) - ); - if (HttpInstance->TlsChildHandle =3D=3D NULL) { + if (HttpInstance->UseHttps && !HttpInstance->TlsAlreadyCreated) { + // Create TLS child for this HTTP instance. + Status =3D TlsCreateChild (HttpInstance); + if (EFI_ERROR (Status)) { return EFI_DEVICE_ERROR; } =20 diff --git a/NetworkPkg/HttpDxe/HttpProto.c b/NetworkPkg/HttpDxe/HttpProto.c index 7dfb82dd2e5..94900328ba9 100644 --- a/NetworkPkg/HttpDxe/HttpProto.c +++ b/NetworkPkg/HttpDxe/HttpProto.c @@ -3,6 +3,7 @@ =20 Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
+Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -852,12 +853,12 @@ HttpCleanProtocol ( NetMapClean (&HttpInstance->TxTokens); NetMapClean (&HttpInstance->RxTokens); =20 - if ((HttpInstance->TlsSb !=3D NULL) && (HttpInstance->TlsChildHandle != =3D NULL)) { + if ((HttpInstance->TlsSb !=3D NULL) && HttpInstance->TlsAlreadyCreated) { // // Destroy the TLS instance. // - HttpInstance->TlsSb->DestroyChild (HttpInstance->TlsSb, HttpInstance->= TlsChildHandle); - HttpInstance->TlsChildHandle =3D NULL; + HttpInstance->TlsSb->DestroyChild (HttpInstance->TlsSb, HttpInstance->= Handle); + HttpInstance->TlsAlreadyCreated =3D FALSE; } =20 if (HttpInstance->Tcp4ChildHandle !=3D NULL) { diff --git a/NetworkPkg/HttpDxe/HttpsSupport.c b/NetworkPkg/HttpDxe/HttpsSu= pport.c index 7330be42c00..a07323ff0bd 100644 --- a/NetworkPkg/HttpDxe/HttpsSupport.c +++ b/NetworkPkg/HttpDxe/HttpsSupport.c @@ -3,6 +3,7 @@ =20 Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
+Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -134,27 +135,31 @@ IsHttpsUrl ( /** Creates a Tls child handle, open EFI_TLS_PROTOCOL and EFI_TLS_CONFIGURAT= ION_PROTOCOL. =20 - @param[in] ImageHandle The firmware allocated handle for the = UEFI image. - @param[out] TlsSb Pointer to the TLS SERVICE_BINDING_PRO= TOCOL. - @param[out] TlsProto Pointer to the EFI_TLS_PROTOCOL instan= ce. - @param[out] TlsConfiguration Pointer to the EFI_TLS_CONFIGURATION_P= ROTOCOL instance. + @param[in] HttpInstance Pointer to HTTP_PROTOCOL structure. =20 - @return The child handle with opened EFI_TLS_PROTOCOL and EFI_TLS_CONFI= GURATION_PROTOCOL. + @return EFI_SUCCESS TLS child handle is returned in HttpInstance= ->TlsChildHandle + with opened EFI_TLS_PROTOCOL and EFI_TLS_CON= FIGURATION_PROTOCOL. + EFI_DEVICE_ERROR TLS service binding protocol is not found. + Otherwise Fail to create TLS chile handle. =20 **/ -EFI_HANDLE +EFI_STATUS EFIAPI TlsCreateChild ( - IN EFI_HANDLE ImageHandle, - OUT EFI_SERVICE_BINDING_PROTOCOL **TlsSb, - OUT EFI_TLS_PROTOCOL **TlsProto, - OUT EFI_TLS_CONFIGURATION_PROTOCOL **TlsConfiguration + IN HTTP_PROTOCOL *HttpInstance ) { + EFI_HANDLE ImageHandle; EFI_STATUS Status; - EFI_HANDLE TlsChildHandle; =20 - TlsChildHandle =3D 0; + // + // Use TlsSb to create Tls child and open the TLS protocol. + // + if (HttpInstance->LocalAddressIsIPv6) { + ImageHandle =3D HttpInstance->Service->Ip6DriverBindingHandle; + } else { + ImageHandle =3D HttpInstance->Service->Ip4DriverBindingHandle; + } =20 // // Locate TlsServiceBinding protocol. @@ -162,44 +167,51 @@ TlsCreateChild ( gBS->LocateProtocol ( &gEfiTlsServiceBindingProtocolGuid, NULL, - (VOID **)TlsSb + (VOID **)&HttpInstance->TlsSb ); - if (*TlsSb =3D=3D NULL) { - return NULL; + if (HttpInstance->TlsSb =3D=3D NULL) { + return EFI_DEVICE_ERROR; } =20 - Status =3D (*TlsSb)->CreateChild (*TlsSb, &TlsChildHandle); + // + // Create TLS protocol on HTTP handle, this creates the association betw= een HTTP and TLS + // for HTTP driver external usages. + // + Status =3D HttpInstance->TlsSb->CreateChild (HttpInstance->TlsSb, &HttpI= nstance->Handle); if (EFI_ERROR (Status)) { - return NULL; + return Status; } =20 - Status =3D gBS->OpenProtocol ( - TlsChildHandle, - &gEfiTlsProtocolGuid, - (VOID **)TlsProto, - ImageHandle, - TlsChildHandle, - EFI_OPEN_PROTOCOL_GET_PROTOCOL - ); + HttpInstance->TlsAlreadyCreated =3D TRUE; + Status =3D gBS->OpenProtocol ( + HttpInstance->Handle, + &gEfiTlsProtocolGuid, + (VOID **)&HttpInstance->Tls, + ImageHandle, + HttpInstance->Handle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); if (EFI_ERROR (Status)) { - (*TlsSb)->DestroyChild (*TlsSb, TlsChildHandle); - return NULL; + HttpInstance->TlsSb->DestroyChild (HttpInstance->TlsSb, HttpInstance->= Handle); + HttpInstance->TlsAlreadyCreated =3D FALSE; + return Status; } =20 Status =3D gBS->OpenProtocol ( - TlsChildHandle, + HttpInstance->Handle, &gEfiTlsConfigurationProtocolGuid, - (VOID **)TlsConfiguration, + (VOID **)&HttpInstance->TlsConfiguration, ImageHandle, - TlsChildHandle, + HttpInstance->Handle, EFI_OPEN_PROTOCOL_GET_PROTOCOL ); if (EFI_ERROR (Status)) { - (*TlsSb)->DestroyChild (*TlsSb, TlsChildHandle); - return NULL; + HttpInstance->TlsSb->DestroyChild (HttpInstance->TlsSb, HttpInstance->= Handle); + HttpInstance->TlsAlreadyCreated =3D FALSE; + return Status; } =20 - return TlsChildHandle; + return EFI_SUCCESS; } =20 /** --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113225): https://edk2.groups.io/g/devel/message/113225 Mute This Topic: https://groups.io/mt/103539578/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Dec 19 20:23:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+113226+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1704443876402852.3093833705847; Fri, 5 Jan 2024 00:37:56 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=tzch0YKChGYDsbp2CBy/X/WkKy2AlHiOAoSB2wc9ZJY=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1704443876; v=1; b=FRjPUlNse67cQWXV0E08kOF2qHZYkUs5R5aukBS6sB/Sq2jXiZuAsay8lv8zZ87OATHngm2d mKitQfHKk8q5eKP4SiEEi9nwdxhrVngdyNGyfZcAV8OkYullUDb3JuWQkAqgTfQzoiKE4//DaP5 vYZdHq3U0cMWca65drc8I+7Y= X-Received: by 127.0.0.2 with SMTP id FQKfYY1788612xyoa2qnzhaI; Fri, 05 Jan 2024 00:37:56 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.89]) by mx.groups.io with SMTP id smtpd.web11.19613.1704443874658695629 for ; Fri, 05 Jan 2024 00:37:54 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hhd7Nj1+cZWWUxSF85Riwhvhxn6pp5T7oQO6BGK6avrxHxLLz4KbuvWZgB5cqbn1tx/EU2bLRO85ZCns5klxnDOQni1eR+lYWeYslIR7hgecb7EDswuNr98DE0aFOIRxa1ZjTPrN70GUaIM4h4sOO5PLlNCNu9zgcoI7qCBTablxGpkwOBREf/0Aok5kpBuEFMLxryT6Eva8sZ3+7BXiLdPTHEFXOhX8nvmgZFycpo/+sXL4iMYniyy7uiVFbHcuoO9sSuo37+DsMM/DmhWUxt2vWuDrXh9oSSNKrEJI9ZuH7/1U/8ZhUjkPzhyDiqlgz4zDdvTlyJJp+tEJ45nsTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vPv4un6IxUc5HxqLEyG4dwh2Gk/KCGnwkKff2te0tcE=; b=kQ75y3pRcGfZPuENY3PJ6IEPeYiG712ZGnpeSF8ObNenlgWR6e1GOlqToM5uggK0eqVwhKTobhNG+k17fm9HCuNgGkTaB2KzoAnb6kYBx6RGORC9Fl4fZgrMESoEPZKP6ukmVEXKmPZ0gHQ+fCs4CYgXfVhGUdl0S8ggBl+p19Un7BfFiOkKtcY2xDQqbV6FdrorFJVEPw89HcTPWXNqPMhgzaJ5QdcDOqcq3YGhKhuEpVCjHi/VgfwlcLqJcR9YLbi3iDMGona6ErOnbYICFZQALGL3TLRWSG6P8EuixqDS4c4KFVZ9ZbBHxoPG5IweHAXtuW+M/PCEXgirt5kSTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from SJ0PR03CA0199.namprd03.prod.outlook.com (2603:10b6:a03:2ef::24) by PH7PR12MB7140.namprd12.prod.outlook.com (2603:10b6:510:200::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.16; Fri, 5 Jan 2024 08:37:50 +0000 X-Received: from SJ1PEPF00001CEB.namprd03.prod.outlook.com (2603:10b6:a03:2ef:cafe::aa) by SJ0PR03CA0199.outlook.office365.com (2603:10b6:a03:2ef::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.16 via Frontend Transport; Fri, 5 Jan 2024 08:37:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+113226+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF00001CEB.mail.protection.outlook.com (10.167.242.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7159.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:50 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 5 Jan 2024 02:37:47 -0600 From: "Chang, Abner via groups.io" To: CC: Saloni Kasbekar , Zachary Clark-williams , Michael Brown , Nickle Wang , Igor Kulchytskyy Subject: [edk2-devel] [PATCH 2/5] NetwokrPkg/HttpDxe: Consider TLS certificate not found as a success case Date: Fri, 5 Jan 2024 16:37:13 +0800 Message-ID: <20240105083716.340-3-abner.chang@amd.com> In-Reply-To: <20240105083716.340-1-abner.chang@amd.com> References: <20240105083716.340-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CEB:EE_|PH7PR12MB7140:EE_ X-MS-Office365-Filtering-Correlation-Id: 084a1329-91d9-4d01-8ff0-08dc0dc999f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: Xatrd53Q/TeaNF8D4M50tn2VgB4vQNTbKMeoDONUAV5mIpbkIWuWh/Ksk+gcbpMqjeg7Hx769glCkzllk7tnk9kpK3gI0JsFY2gyCN5W8KSJDJE4sFYrBb+Q+Us3wtcz/0oFW59idkVI/NVLZhkj3rq9Ex8ZS82rj+Q2wdJoFMKTXDmLh+y2PP41mtvMCcd9F1Pkf3Yo01DHsH0YEl8/3p7O8aGLnp8MClG82Z0weakhBoGtNzpwuxwdebHDu9nwdMDiq9KA0SmuytkLFIUJXgzDj+WtAWM6r0uOCKLG1k09SibVsvzVU3lq+ZbPRP5VPGbWmwXgnPByN5mAG7BwwsjiZTxbE5aAXlsLTIlhqDbYBZO1HLxiDdlnkhjSJt981xBUoTJ1z19+F3cg3/IzkrBK9bVYDNpby/Z07PSfRGr4GetGu6vTlRVPhhbGj5c8kg/36WJYnAmxzLiJzHE2lfE2XS6p2PLeZuHaDBNEjJL2x5PSMp1ln6R6fvrSwLNWOCUZda67XxlKiKNKkekA+RxCS20Fsz3HyEMATSfQ1yx0Vp6WDolmlrFzU0pWywAUNgGAsKIRLsduegV+6ky4i9v5WM7gYG1aCkXnSwDJ2Coxbl363yokDvw+t0hH/skmtiaWMot5s3DGl4HvEux2wXdFcxJIoOhqMjyq9Q0qv0prXvP1DapEa79EFb3eAyV3FPgo4g63C7zs+rQIbo0nGxSZZ7kIDGmKVrFwLkAeBNmdZQ/5woizeeexNKbLK/oSjwPZpSV+pLuhcdh7223isQ== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2024 08:37:50.1309 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 084a1329-91d9-4d01-8ff0-08dc0dc999f8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CEB.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7140 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: BHxJFZm28BjGdxh0ssUwPm5wx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1704443877586100001 Content-Type: text/plain; charset="utf-8" From: Abner Chang We still return EFI_SUCCESS to the caller when TlsConfigCertificate returns error, for the use case the platform doesn't require certificate for the specific HTTP session. This ensures HttpInitSession function still initiated and returns EFI_SUCCESS to the caller. The failure is pushed back to TLS DXE driver if the HTTP communication actually requires certificate. Signed-off-by: Abner Chang Cc: Saloni Kasbekar Cc: Zachary Clark-williams Cc: Michael Brown Cc: Nickle Wang Cc: Igor Kulchytskyy Reviewed-by: Michael Brown Reviewed-by: Saloni Kasbekar --- NetworkPkg/HttpDxe/HttpsSupport.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/NetworkPkg/HttpDxe/HttpsSupport.c b/NetworkPkg/HttpDxe/HttpsSu= pport.c index a07323ff0bd..04a830f7152 100644 --- a/NetworkPkg/HttpDxe/HttpsSupport.c +++ b/NetworkPkg/HttpDxe/HttpsSupport.c @@ -722,8 +722,21 @@ TlsConfigureSession ( // Status =3D TlsConfigCertificate (HttpInstance); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "TLS Certificate Config Error!\n")); - return Status; + if (Status =3D=3D EFI_NOT_FOUND) { + DEBUG((DEBUG_WARN, "TLS Certificate is not found on the system!\n")); + // + // We still return EFI_SUCCESS to the caller when TlsConfigCertifica= te + // returns error, for the use case the platform doesn't require + // certificate for the specific HTTP session. This ensures + // HttpInitSession function still initiated and returns EFI_SUCCESS = to + // the caller. The failure is pushed back to TLS DXE driver if the + // HTTP communication actually requires certificate. + // + Status =3D EFI_SUCCESS; + } else { + DEBUG((DEBUG_ERROR, "TLS Certificate Config Error!\n")); + return Status; + } } =20 // --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113226): https://edk2.groups.io/g/devel/message/113226 Mute This Topic: https://groups.io/mt/103539579/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Dec 19 20:23:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+113227+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1704443876806500.21375659657235; Fri, 5 Jan 2024 00:37:56 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=KZ3RpgDpG6pK5cF8gHnekGe28yFbPWoyPtrc+VzwxMc=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1704443876; v=1; b=rn2cNeGCxOnKV4rRg1t6qyg3GEKwQRJH31ETgytXJ3rV6auhn49cY2EvOZZXkNYSj+FI4E0R iBlFhiVXlyA5MzMdmj2y0NRZOYeLbpDfm1kQy/YNXpP3uNlDOrKeKZP5DZftJTL5tm3tJjoC4rK 9Xp2ho9YLnCiNI5wp/BhhF0g= X-Received: by 127.0.0.2 with SMTP id W0PPYY1788612xzTUsc5falF; Fri, 05 Jan 2024 00:37:56 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.87]) by mx.groups.io with SMTP id smtpd.web10.19665.1704443875209276715 for ; Fri, 05 Jan 2024 00:37:55 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=idyJ1ai4vQuNE1q8D7X+DJwj7tCzkUTRRp3Key2FKk5tQEsMnUX84MEhoh3mmiCXPXIL+f74qO8JXxMq+CRE7/QVarhQG/47jESwO+VSZ1cFMVCdtvLayYwgqOedJlXlyx52zM9zwh3bzJX/TdStRvVQSrfEOAqFVW9n2tQQTCLHe1yIOxeR+oe5JMqbtnyhQHN1DvT6YoXMhbeLGpjgonRwZlpRsIu60tj69vn+x4W8AvmZ5rLlmwJdmP8uGYq0g/qndcNgS6kqi9djGNzS28fkq07lpeXqvE9a3NEzKoNnVaDz5vL9YYArDshaKVBs3jFXuqz/9X8zl2dPnAYEUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sRVAndtzfj4ssvxOqhNyW8gVdRdhN1cRuUXIkzeSj0g=; b=DtfRQoj7XYJ1wSyK4S90ZRfHRcGX6/oY39/wbWgGhz13vVJ8JVQKDkuMLetB2xPOHJyaagkrmo5FeAvhqZQUZRzFSRasRwJSrhkNizrSGMD5HmKE5qyJ0U2of87PUpu3nFPapHe5qj8elXuVn5gr+GxdvPhpUgU8rfXFGHtiSYxcBH19re3zAM6Id5c2qWiSiZVd8S5UJmIZnJuev8HbGo/NgzM8CfzHvRqLLdPNUodiqaxHJjo6CI/xpyCXHgo44ZBS0xilPWszhixoTlPYki3Di7q0rKBUuyaLfG+ohkhK9nKA7ouInTn1Egy6RZDt3Jn5d66a13yP8wVGZQ2Agg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from SJ0PR13CA0222.namprd13.prod.outlook.com (2603:10b6:a03:2c1::17) by BL1PR12MB5030.namprd12.prod.outlook.com (2603:10b6:208:313::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.17; Fri, 5 Jan 2024 08:37:53 +0000 X-Received: from SJ1PEPF00001CE6.namprd03.prod.outlook.com (2603:10b6:a03:2c1:cafe::ac) by SJ0PR13CA0222.outlook.office365.com (2603:10b6:a03:2c1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+113227+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF00001CE6.mail.protection.outlook.com (10.167.242.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7159.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:52 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 5 Jan 2024 02:37:49 -0600 From: "Chang, Abner via groups.io" To: CC: Saloni Kasbekar , Zachary Clark-williams , Michael Brown , Nickle Wang , Igor Kulchytskyy Subject: [edk2-devel] [PATCH 3/5] NetwokrPkg/HttpDxe: Add HttpEventTlsConfigured HTTP callback event Date: Fri, 5 Jan 2024 16:37:14 +0800 Message-ID: <20240105083716.340-4-abner.chang@amd.com> In-Reply-To: <20240105083716.340-1-abner.chang@amd.com> References: <20240105083716.340-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE6:EE_|BL1PR12MB5030:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d1b3600-07af-41a3-cab8-08dc0dc99b44 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: mQ9IY0OxV2gA74xB4KfvrdOdWcGFu8FO9PxtehIOlUWgLfBlvZMR0f66p6r5KjbgTuRj3f3FQQkxublleiWNCyXpJPW7Fe1b4qDtyvRTM8d+win7/iQzbNAA5Wk56+wiG56tsDGGiSOiu73G9XNrdoB/1bC4807b9AHLYaHkSubjMwx/PLeuefQ1IAmWAZPYMzXXcL9RDLCNkRzci5IeFw93JgPjoHkBsmPYCj1scc+KCKTplx1wwuIvmwjZ2FxvQH0t6ul4OcMbEc+oEvwMgpb5IaJVCaxqFNklMb7I17IXTp/ZQD4SiwVzc98yor4QT3FFas8RqL0bbvWKPjaTWEgne3/0UljdwUHrrspEp/C/1+y3aZtTCBOFzlRjz+8dLlB5dUCl/lwt81JvyAyFi7R7LFOfuEZX/7NbbwwXVIDsw3QOH3v+PGuhDEqTewFsXD9MKQfBUCMXrw2MI3SLo+yxabBkX+znEaieit2bX0j8gLLCBHrXHZwwrb5Vo+4dJDotKusFi3nfmX++d2iEzU6jjwazIytmM4HCtaJtSFeAgiRk5gcHZN8xJyjIq8a45bAZh5452FD+8K8r2SifVhmuJaHMF0axJz7FWFrSTNxxjMqdZfXwhAGa53DKNvom7exZyfbmhrGiBdzes892W8VmcrCWz7zR82Z1jzxzHi+BBGfqoOj6sxXL0MVBHiGpPmQoEQOvvvEQ4Ly8cASXupqM7ZtlTA53Lsg8kqUxdG880iwaBnkExOgRiHYFmcjV5sEIQnetHNKtYJyh7K4MwQ== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2024 08:37:52.3082 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4d1b3600-07af-41a3-cab8-08dc0dc99b44 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CE6.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5030 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: pkOJrHgSHa0w36EZ9wcEPKkmx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1704443877587100002 Content-Type: text/plain; charset="utf-8" From: Abner Chang Add HttpEventTlsConfigured HTTP callback event and notify callback functions when TlsConfigureSession () returns. Signed-off-by: Abner Chang Cc: Saloni Kasbekar Cc: Zachary Clark-williams Cc: Michael Brown Cc: Nickle Wang Cc: Igor Kulchytskyy Reviewed-by: Michael Brown --- NetworkPkg/Include/Protocol/HttpCallback.h | 11 +++++++++++ NetworkPkg/HttpDxe/HttpProto.c | 1 + NetworkPkg/HttpDxe/HttpsSupport.c | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/NetworkPkg/Include/Protocol/HttpCallback.h b/NetworkPkg/Includ= e/Protocol/HttpCallback.h index 3accd2f8424..a785c972f8f 100644 --- a/NetworkPkg/Include/Protocol/HttpCallback.h +++ b/NetworkPkg/Include/Protocol/HttpCallback.h @@ -39,6 +39,17 @@ typedef enum { /// HttpEventConnectTcp, =20 + /// + /// The Status of Event to configure TLS configuration data. + /// EventStatus: + /// EFI_SUCCESS The TLS is configured successfully with the d= efault value. + /// EFI_INVALID_PARAMETER One or more input parameters to SetSessionDat= a() is invalid. + /// EFI_NOT_READY Current TLS session state is NOT EfiTlsSessio= nStateNotStarted. + /// EFI_NOT_FOUND Fail to get 'HttpTlsCipherList' variable. + /// Others Other error as indicated. + /// + HttpEventTlsConfigured, + /// /// The Status of Event to connect one TLS session by finishing the TLS = handshake process. /// EventStatus: diff --git a/NetworkPkg/HttpDxe/HttpProto.c b/NetworkPkg/HttpDxe/HttpProto.c index 94900328ba9..9c3b497dce2 100644 --- a/NetworkPkg/HttpDxe/HttpProto.c +++ b/NetworkPkg/HttpDxe/HttpProto.c @@ -1418,6 +1418,7 @@ HttpInitSession ( // if (TlsConfigure) { Status =3D TlsConfigureSession (HttpInstance); + HttpNotify (HttpEventTlsConfigured, Status); if (EFI_ERROR (Status)) { return Status; } diff --git a/NetworkPkg/HttpDxe/HttpsSupport.c b/NetworkPkg/HttpDxe/HttpsSu= pport.c index 04a830f7152..8d7bffe1e9c 100644 --- a/NetworkPkg/HttpDxe/HttpsSupport.c +++ b/NetworkPkg/HttpDxe/HttpsSupport.c @@ -723,7 +723,7 @@ TlsConfigureSession ( Status =3D TlsConfigCertificate (HttpInstance); if (EFI_ERROR (Status)) { if (Status =3D=3D EFI_NOT_FOUND) { - DEBUG((DEBUG_WARN, "TLS Certificate is not found on the system!\n")); + DEBUG ((DEBUG_WARN, "TLS Certificate is not found on the system!\n")= ); // // We still return EFI_SUCCESS to the caller when TlsConfigCertifica= te // returns error, for the use case the platform doesn't require @@ -734,7 +734,7 @@ TlsConfigureSession ( // Status =3D EFI_SUCCESS; } else { - DEBUG((DEBUG_ERROR, "TLS Certificate Config Error!\n")); + DEBUG ((DEBUG_ERROR, "TLS Certificate Config Error!\n")); return Status; } } --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113227): https://edk2.groups.io/g/devel/message/113227 Mute This Topic: https://groups.io/mt/103539580/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Dec 19 20:23:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+113228+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1704443877229867.2207325158469; Fri, 5 Jan 2024 00:37:57 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=/J0vqXDhqgE2Pf+JiHtfSyZtTITaB+wZAdBYTixsu+k=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1704443876; v=1; b=xDEm8ALNWbBt4INJHHhDy7MzS1wfazpetafYGHwE8D+QMZUBp0FvUGXxMVVPd3tKZb3zN5Qj xHaB1uUQu/Ckq2ji9PhQkz/sTkxYZrNebPSzqFqluOOseBNDJLU9rAY5Gt/pEqNGRdvdZ9yqZTS PAqE3QCD3BhdudrBCaJ/lkdk= X-Received: by 127.0.0.2 with SMTP id zjCpYY1788612xUicGhxNIo4; Fri, 05 Jan 2024 00:37:56 -0800 X-Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.87]) by mx.groups.io with SMTP id smtpd.web11.19615.1704443875783012141 for ; Fri, 05 Jan 2024 00:37:56 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R6goNDt8RYnWeVFWPsf0HnzsiV3GTKEfCesKlv1f5IudVhJmsodXryC3/IWBl3ZWV89olSwZ+7DAwY5UO8FgYYslBbk2zmZbOvqiLi2t40dqH+a+wKiIJDJTJnU/BXlPrfengHlQb0c59r+AsNRufU2eZu7y30feF0FSZIZyabutMVezTdXS7sK5X1NIq7XWfFMYFZGGT2cRVYq5sDQ7vA6XpPogwFiGyMBOlY+ihRiM/F/ndKK7DLh5Py9GCD89gDyNEN7zAw15FKM9qnRcnEAMQlHXt1IIgWoHK8oS0BGypxdbkf5qfahhL5uJNIfAgnH6xkGQm/NvVfqP0CNbnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uF1CtEBPB+rAMt+UaoYWHyzRwkvxGPYvDdPCi06ODUQ=; b=VNjBgV1TS+PWhCpdQ99OFo2pMdpLCZiGiDO3bwclTrCqjDKk5tM2XkgbBIlQY/BSSsmHVymJSzxYgLCzG6P4Z40c9GonovJb/aMYihDZ6wweE3qQKSRd6yXMoz5qTYDYJUqMBKh6NrIy2XnKfSk2Qj6MyykpZeWiegEnJuLpN/X/NG1v7SIXJKYnb7jWAxHvG8W4v7Z7ZfYeT/hbwF+0twnb/wIjaYo5RjiOTrs+6+puZzenVow0J/LTUPR8gGHuJMTUD0IhMokzriIQPgql5JxW93qeE9FPcS7SpfKIyht+KfEfA5tkjMiyPfEX10YwPLelYaxog+o6rQlZq1zl8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from SJ0PR13CA0224.namprd13.prod.outlook.com (2603:10b6:a03:2c1::19) by SA1PR12MB7102.namprd12.prod.outlook.com (2603:10b6:806:29f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.13; Fri, 5 Jan 2024 08:37:53 +0000 X-Received: from SJ1PEPF00001CE6.namprd03.prod.outlook.com (2603:10b6:a03:2c1:cafe::f5) by SJ0PR13CA0224.outlook.office365.com (2603:10b6:a03:2c1::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:53 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+113228+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF00001CE6.mail.protection.outlook.com (10.167.242.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7159.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:53 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 5 Jan 2024 02:37:51 -0600 From: "Chang, Abner via groups.io" To: CC: Nickle Wang , Igor Kulchytskyy Subject: [edk2-devel] [PATCH 4/5] RedfishPkg/RedfishRestExDxe: Implement EDKII_HTTP_CALLBACK_PROTOCOL Date: Fri, 5 Jan 2024 16:37:15 +0800 Message-ID: <20240105083716.340-5-abner.chang@amd.com> In-Reply-To: <20240105083716.340-1-abner.chang@amd.com> References: <20240105083716.340-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE6:EE_|SA1PR12MB7102:EE_ X-MS-Office365-Filtering-Correlation-Id: 932f2dc5-dde6-4a6b-4bde-08dc0dc99c08 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: qZUSJM35agYHLHUwVeUNF4kx5D0PHPgyFAZ8y3etnpVg2J4YfiAOgF9kHPHgWr9JBuHWD7hFV1j4yCZrFGr5m/E/5tDEp8eJ3F8EjZscVLq9/LBjCPpcfPfo1OXIDkLDUjvFeOLUSHNPF7ottvxk4/R0Iu4RL8HiQHFEfLGGZyAkoWXfw3kGpmwPNb2gZPnM9kLBF4+a+/oIcf7MrrQJbyU3hx2gRiJHUIPky4+e1ZCuL9lfQ333/zLqSZWPjVskDbXDbsTTuz842jx/KmEwkwrHRuTCOngY5SqZkMv+UnieqCKMp0xGm53AsKkW9IW23rQjz0p5ng0iI3qip/+YyWArFLv5yxzYRUsHLikZ9pF+YE3kXKPKl5V4YMznQZ2JtJT5mgNPIkDEk1PfYnV/7qa6+aHBn+iED1fAProOAG2P7AAcviSII4ETaUjKT+0DJH2uuFaY391wbOZBEw9GOhHDOKyACb1lmrtSrAHG7/XAIybMzbQP54IlSHR6U64/zWmAPVYud7N5dVphBOBG/kNcaZ1Nq6EAS76DkV8outJb4BYwC3fvcbRsipNZ5OU7khFJRVv3yc3hQBOpdDlrUDcU4d5LXAm8BOWHUWy88RanxCGnbYRDqUYK0WEsXzY6/YT6SqsZqyGjh2idgruwNGno65jIl9A8CTbV0PcP3OlPjVtpxPvENUJ2vTBb3z4h3AR01z6JazqwBLwXGZMVayOQtkfKZzY0JprzIlQKL3t/q0Fx4DmojmSP5yqq4qnWTXYeYaZ/ebDjVxhl8rp2IQ== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2024 08:37:53.5894 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 932f2dc5-dde6-4a6b-4bde-08dc0dc99c08 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CE6.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7102 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 4l46DDqbeE381NRopYGrVamlx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1704443879366100015 Content-Type: text/plain; charset="utf-8" From: Abner Chang Implement EDKII_HTTP_CALLBACK_PROTOCOL that listens to HttpEventTlsConfigured event for reconfiguring TLS configuration data. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy --- .../RedfishRestExDxe/RedfishRestExDxe.inf | 2 + .../RedfishRestExDxe/RedfishRestExDriver.h | 31 ++++++--- .../RedfishRestExDxe/RedfishRestExDriver.c | 69 +++++++++++++++++++ 3 files changed, 92 insertions(+), 10 deletions(-) diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf b/RedfishPkg/= RedfishRestExDxe/RedfishRestExDxe.inf index 64e6343bfbf..706d5a5f15e 100644 --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExDxe.inf @@ -57,6 +57,8 @@ gEfiHttpServiceBindingProtocolGuid ## TO_START gEfiHttpProtocolGuid ## TO_START gEfiDevicePathProtocolGuid ## TO_START + gEdkiiHttpCallbackProtocolGuid ## CONSUMES + gEfiTlsProtocolGuid ## CONSUMES =20 [Pcd] gEfiRedfishPkgTokenSpaceGuid.PcdRedfishRestExServiceAccessModeInBand ## = CONSUMES diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.h b/RedfishPkg= /RedfishRestExDxe/RedfishRestExDriver.h index 6b94e5814c4..8d2b9ecb80b 100644 --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.h +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.h @@ -32,6 +32,8 @@ #include #include #include +#include +#include =20 /// /// Protocol instances @@ -67,6 +69,9 @@ typedef struct _RESTEX_INSTANCE RESTEX_INSTANCE; #define RESTEX_INSTANCE_FROM_THIS(a) \ CR (a, RESTEX_INSTANCE, RestEx, RESTEX_INSTANCE_SIGNATURE) =20 +#define RESTEX_INSTANCE_FROM_HTTP_CALLBACK(a) \ + CR (a, RESTEX_INSTANCE, HttpCallbakFunction, RESTEX_INSTANCE_SIGNATURE) + #define RESTEX_STATE_UNCONFIGED 0 #define RESTEX_STATE_CONFIGED 1 =20 @@ -94,25 +99,31 @@ struct _RESTEX_SERVICE { #define RESTEX_INSTANCE_FLAGS_TCP_ERROR_RETRY 0x00000002 =20 struct _RESTEX_INSTANCE { - UINT32 Signature; - LIST_ENTRY Link; + UINT32 Signature; + LIST_ENTRY Link; =20 - EFI_REST_EX_PROTOCOL RestEx; + EFI_REST_EX_PROTOCOL RestEx; =20 - INTN State; - BOOLEAN InDestroy; + INTN State; + BOOLEAN InDestroy; =20 - RESTEX_SERVICE *Service; - EFI_HANDLE ChildHandle; + RESTEX_SERVICE *Service; + EFI_HANDLE ChildHandle; =20 - EFI_REST_EX_CONFIG_DATA ConfigData; + EFI_REST_EX_CONFIG_DATA ConfigData; =20 // // HTTP_IO to access the HTTP service // - HTTP_IO HttpIo; + HTTP_IO HttpIo; + + // + // EDKII_HTTP_CALLBACK_PROTOCOL that listens to + // HttpEventInitSession event. + // + EDKII_HTTP_CALLBACK_PROTOCOL HttpCallbakFunction; =20 - UINT32 Flags; + UINT32 Flags; }; =20 typedef struct { diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c b/RedfishPkg= /RedfishRestExDxe/RedfishRestExDriver.c index 7036aed4268..9a20c90d49a 100644 --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c @@ -585,6 +585,53 @@ RedfishRestExDriverBindingStop ( return Status; } =20 +/** + Callback function that is invoked when HTTP event occurs. + + @param[in] This Pointer to the EDKII_HTTP_CALLBACK_PROTO= COL instance. + @param[in] Event The event that occurs in the current sta= te. + @param[in] EventStatus The Status of Event, EFI_SUCCESS or othe= r errors. +**/ +VOID +EFIAPI +RestExHttpCallback ( + IN EDKII_HTTP_CALLBACK_PROTOCOL *This, + IN EDKII_HTTP_CALLBACK_EVENT Event, + IN EFI_STATUS EventStatus + ) +{ + EFI_STATUS Status; + EFI_TLS_PROTOCOL *TlsProtocol; + RESTEX_INSTANCE *Instance; + EFI_TLS_VERIFY TlsVerifyMethod; + + if ((Event =3D=3D HttpEventTlsConfigured) && (EventStatus =3D=3D EFI_SUC= CESS)) { + // Reconfigure TLS configuration data. + Instance =3D RESTEX_INSTANCE_FROM_HTTP_CALLBACK (This); + Status =3D gBS->HandleProtocol ( + Instance->HttpIo.Handle, + &gEfiTlsProtocolGuid, + (VOID **)&TlsProtocol + ); + if (EFI_ERROR (Status)) { + return; + } + + TlsVerifyMethod =3D EFI_TLS_VERIFY_NONE; + Status =3D TlsProtocol->SetSessionData ( + TlsProtocol, + EfiTlsVerifyMethod, + &TlsVerifyMethod, + sizeof (EFI_TLS_VERIFY) + ); + if (!EFI_ERROR (Status)) { + DEBUG ((DEBUG_MANAGEABILITY, "%a: REST EX reconfigures TLS verify me= thod.\n", __func__)); + } + } + + return; +} + /** Creates a child handle and installs a protocol. =20 @@ -699,6 +746,19 @@ RedfishRestExServiceBindingCreateChild ( goto ON_ERROR; } =20 + // Initial HTTP callback funciton on this REST EX instance + Instance->HttpCallbakFunction.Callback =3D RestExHttpCallback; + Status =3D gBS->InstallProtocolInterface= ( + &Instance->HttpIo.Handle, + &gEdkiiHttpCallbackProto= colGuid, + EFI_NATIVE_INTERFACE, + &Instance->HttpCallbakFu= nction + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: Fail to install HttpCallbakFunction.\n", __f= unc__)); + goto ON_ERROR; + } + // // Add it to the parent's child list. // @@ -812,6 +872,15 @@ RedfishRestExServiceBindingDestroyChild ( RestEx ); =20 + // + // Uninstall the HTTP callback protocol. + // + Status =3D gBS->UninstallProtocolInterface ( + Instance->HttpIo.Handle, + &gEdkiiHttpCallbackProtocolGuid, + &Instance->HttpCallbakFunction + ); + OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); =20 if (EFI_ERROR (Status)) { --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113228): https://edk2.groups.io/g/devel/message/113228 Mute This Topic: https://groups.io/mt/103539581/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Dec 19 20:23:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+113229+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1704443880454717.0353005424874; Fri, 5 Jan 2024 00:38:00 -0800 (PST) Return-Path: DKIM-Signature: a=rsa-sha256; bh=0iXJNo1PylC0Hx051KqIt4ZaVHWO9RWdSLpjIwvPat4=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1704443880; v=1; b=DNr+5JmPq9KmE81pwjQCZ8UDP2yI18G3nCI5abDrHfk0HeyBWnoeSOUkRKWiP7KUO3RNRnb/ aLfQZGzFCuCsaw+pNEfbkLGnhW+QXZ3RZkEM5IToNnSXuaiIPGu43LllFtzgYE7BkckTZUuWXHU FUzpN+GZGLi/yjF1LL1aOrUo= X-Received: by 127.0.0.2 with SMTP id mZ1QYY1788612xkEBX09ITYk; Fri, 05 Jan 2024 00:38:00 -0800 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.77]) by mx.groups.io with SMTP id smtpd.web11.19617.1704443879554121992 for ; Fri, 05 Jan 2024 00:37:59 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dRMC0f7YS/vDdcw9IUMgxTdNSu5PO/ebI4ZB/+c2Cni4NdAOisXTT8s9BzYAxeXsysJhFvIHQdQfRD8LJl+txlTVulUCbo4b7IvgNvoBYcYLJZnG9I42TMGzfJULozesGWVBRP1KMfmr7++msmZepUQCKdJn5+13EzADuW+8Us68fIpBzn8kFzGoYRIzuEPEWNqzWbSUBhPKy+BC4UwH7qvOoRew4JXyTIjhiYySNpTmqcyePcNeMssvDIAOeRNHrf1o4xt1CgLHhhMMVrSaLVHh31WFngRTjzPLMIBY9Ibeq/IltUfGqvmiICUJVvnEIwWT30RDaXiNGpDShy5FNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fbpikEAIWrf9xgslAZ/imtopLv+AlzkkyygW9YgWZGg=; b=fPwfzIPKOpbw7bc1Vs2xfTrtQNpXSCxcVrSVNAsAxDMvnFQKXjluoSKxAR6nG6q8kah/0KRZ/9QORwqI2oNCm0Q/PrHiZCozRJKDclLl4Ljj7S54q6JJGEehymGxDOyhGhpNSmbxSv5J/o1Mqt/bSdVhapoQDQYQrubEfm/T9nUhxTIg5cGtkZI9lhkj/6WXJK5Iy4Iqi27MbZqWuruFBuuRPSNJxlALy0XUEk+Ifz3s3nxhG85Cl65mQ8IzElmhAjhVrkcpZDtUlSzYJ41hZYBPS3wyQrC7w/UM4lhF7AXIS0HvVc6o7Cf3J5hmxj2HSjOV8k3+sef6QJoZAS4hnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from SJ0PR05CA0080.namprd05.prod.outlook.com (2603:10b6:a03:332::25) by LV8PR12MB9452.namprd12.prod.outlook.com (2603:10b6:408:200::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.13; Fri, 5 Jan 2024 08:37:56 +0000 X-Received: from SJ1PEPF00001CE5.namprd03.prod.outlook.com (2603:10b6:a03:332:cafe::3b) by SJ0PR05CA0080.outlook.office365.com (2603:10b6:a03:332::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+113229+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF00001CE5.mail.protection.outlook.com (10.167.242.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7159.9 via Frontend Transport; Fri, 5 Jan 2024 08:37:55 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 5 Jan 2024 02:37:53 -0600 From: "Chang, Abner via groups.io" To: CC: Nickle Wang , Igor Kulchytskyy Subject: [edk2-devel] [PATCH 5/5] RedfishPkg/RedfishRestExDxe: Update Supported function Date: Fri, 5 Jan 2024 16:37:16 +0800 Message-ID: <20240105083716.340-6-abner.chang@amd.com> In-Reply-To: <20240105083716.340-1-abner.chang@amd.com> References: <20240105083716.340-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE5:EE_|LV8PR12MB9452:EE_ X-MS-Office365-Filtering-Correlation-Id: 345d5765-21b8-4f08-e0d1-08dc0dc99d3e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: VTxCEbZe2dnGNCx2kBdFz+KavchLlSwK8hfdWLNa/vjv1K7R4y+kczcTddZI19uzpeH0D/d1D+SGRn+mUt55giE9eV8ooRJ/0RemjiCuCWntpbo07i5k0GFdOwmPVnzn6hXwl6qnPJs1SIsnPEESLSGwAhK7oEimeWvDxB+H5j+naWsXrzSmuvqa5V/F3jazF4nmhMVOyvLEZ8gTeoC09jPBOItsfj+HxLnd+cowQe5Y1i8CRXNXqC82x2GbpBaFy1BEtWM0JXC76izbCsI4DVsUaB9wtBZJDv53RQ7z+vUro+j6dLAotBaFJ0IU7hkHqBe40g07t1wEwUlbQVcuZWVpoI91JL4QK7Vfz45xJ6ITbz6WozEDcU42iE2emwquAuiMyZB84p85QkKViBUdQ2U69zYh4WlUroLMjm4CwjN9PZuSEa0uh9pHUqlg5LobfoIwrNVN//x2H+thh5EXuDysFYIpsBSeME+T58zKswaIbgYV1z0BpWyhkNaKm4Gy4uDDy85bz/mQjUiDay8d3A0iYLqRMlOzWpmtqBJ1upxi6dB1yZdmfx0loR7uNuTINo1zrNEb6MHEdExawtKai/8SSpp7/d0HR4wtkTH/u+8g68ZzLvSkRVdFY6unQ+Y9E5I/xyzxd2HnC7zFjgdGYon62Lyp3dCCJqjdqaTrAFRy6OBoOypXW2MIgWA7AKpnBRLL+ghnutP+p7GgMYN9h4r2V4QbnJti8q55P0Rca6VQLXFBrOI2uW2w3rdlsE2JBcxkOIq7rLntF+wQAw8GQw== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2024 08:37:55.6092 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 345d5765-21b8-4f08-e0d1-08dc0dc99d3e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CE5.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9452 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: NBeuckSBF7okwfnlHGgqqbm9x1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1704443881375100017 Content-Type: text/plain; charset="utf-8" From: Abner Chang Update Supported function to check it the given controller handle is already started. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy --- RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c b/RedfishPkg= /RedfishRestExDxe/RedfishRestExDriver.c index 9a20c90d49a..38bcf28d993 100644 --- a/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c +++ b/RedfishPkg/RedfishRestExDxe/RedfishRestExDriver.c @@ -356,6 +356,21 @@ RedfishRestExDriverBindingSupported ( IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) { + EFI_STATUS Status; + UINT32 *Id; + + Status =3D gBS->OpenProtocol ( + ControllerHandle, + &gEfiCallerIdGuid, + (VOID **)&Id, + This->DriverBindingHandle, + ControllerHandle, + EFI_OPEN_PROTOCOL_GET_PROTOCOL + ); + if (!EFI_ERROR (Status)) { + return EFI_ALREADY_STARTED; + } + // // Test for the HttpServiceBinding Protocol. // --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113229): https://edk2.groups.io/g/devel/message/113229 Mute This Topic: https://groups.io/mt/103539584/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-