NetworkPkg/HttpDxe: Refactor TlsCreateChild

- 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 <abner.chang@amd.com>
Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
Cc: Michael Brown <mcb30@ipxe.org>
Cc: Nickle Wang <nicklew@nvidia.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Reviewed-by: Michael Brown <mcb30@ipxe.org>
Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
This commit is contained in:
Abner Chang
2023-12-30 14:42:05 +08:00
committed by mergify[bot]
parent edba0779ba
commit 0abd598e3f
5 changed files with 67 additions and 68 deletions

View File

@@ -2,6 +2,7 @@
The header files of miscellaneous routines specific to Https for HttpDxe driver.
Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -30,21 +31,18 @@ IsHttpsUrl (
/**
Creates a Tls child handle, open EFI_TLS_PROTOCOL and EFI_TLS_CONFIGURATION_PROTOCOL.
@param[in] ImageHandle The firmware allocated handle for the UEFI image.
@param[out] TlsSb Pointer to the TLS SERVICE_BINDING_PROTOCOL.
@param[out] TlsProto Pointer to the EFI_TLS_PROTOCOL instance.
@param[out] TlsConfiguration Pointer to the EFI_TLS_CONFIGURATION_PROTOCOL instance.
@param[in] HttpInstance Pointer to HTTP_PROTOCOL structure.
@return The child handle with opened EFI_TLS_PROTOCOL and EFI_TLS_CONFIGURATION_PROTOCOL.
@return EFI_SUCCESS TLS child handle is returned in HttpInstance->TlsChildHandle
with opened EFI_TLS_PROTOCOL and EFI_TLS_CONFIGURATION_PROTOCOL.
EFI_DEVICE_ERROR TLS service binding protocol is not found.
Otherwise Fail to create TLS chile handle.
**/
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
);
/**