Fix CVE-2023-45229、CVE-2023-45230、CVE-2023-45231、CVE-2023-45232、CVE-2023-45233、CVE-2023-45234、CVE-2023-45235 Signed-off-by: yexiao <yexiao7@huawei.com> (cherry picked from commit aa6a1dc11863945714f63746d5f1159ed3ede3e7)
155 lines
6.7 KiB
Diff
155 lines
6.7 KiB
Diff
From 623554389e1733dac86045d7e0b9503c3f7224c1 Mon Sep 17 00:00:00 2001
|
|
From: "Doug Flick via groups.io" <dougflick=microsoft.com@groups.io>
|
|
Date: Fri, 26 Jan 2024 05:54:44 +0800
|
|
Subject: [PATCH 02/19] NetworkPkg: : Add Unit tests to CI and create Host Test
|
|
DSC
|
|
|
|
Adds Host Based testing to the NetworkPkg
|
|
|
|
Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
|
|
Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
|
|
|
|
Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
|
|
Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
|
|
|
|
reference: https://github.com/tianocore/edk2/pull/5352
|
|
Signed-off-by: yexiao <yexiao7@huawei.com>
|
|
---
|
|
NetworkPkg/NetworkPkg.ci.yaml | 7 +-
|
|
NetworkPkg/Test/NetworkPkgHostTest.dsc | 98 ++++++++++++++++++++++++++
|
|
2 files changed, 104 insertions(+), 1 deletion(-)
|
|
create mode 100644 NetworkPkg/Test/NetworkPkgHostTest.dsc
|
|
|
|
diff --git a/NetworkPkg/NetworkPkg.ci.yaml b/NetworkPkg/NetworkPkg.ci.yaml
|
|
index 07dc7abd..3ecc7dca 100644
|
|
--- a/NetworkPkg/NetworkPkg.ci.yaml
|
|
+++ b/NetworkPkg/NetworkPkg.ci.yaml
|
|
@@ -24,6 +24,9 @@
|
|
"CompilerPlugin": {
|
|
"DscPath": "NetworkPkg.dsc"
|
|
},
|
|
+ "HostUnitTestCompilerPlugin": {
|
|
+ "DscPath": "Test/NetworkPkgHostTest.dsc"
|
|
+ },
|
|
"CharEncodingCheck": {
|
|
"IgnoreFiles": []
|
|
},
|
|
@@ -35,7 +38,9 @@
|
|
"CryptoPkg/CryptoPkg.dec"
|
|
],
|
|
# For host based unit tests
|
|
- "AcceptableDependencies-HOST_APPLICATION":[],
|
|
+ "AcceptableDependencies-HOST_APPLICATION":[
|
|
+ UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
|
+ ],
|
|
# For UEFI shell based apps
|
|
"AcceptableDependencies-UEFI_APPLICATION":[
|
|
"ShellPkg/ShellPkg.dec"
|
|
diff --git a/NetworkPkg/Test/NetworkPkgHostTest.dsc b/NetworkPkg/Test/NetworkPkgHostTest.dsc
|
|
new file mode 100644
|
|
index 00000000..b74b2048
|
|
--- /dev/null
|
|
+++ b/NetworkPkg/Test/NetworkPkgHostTest.dsc
|
|
@@ -0,0 +1,98 @@
|
|
+## @file
|
|
+# NetworkPkgHostTest DSC file used to build host-based unit tests.
|
|
+#
|
|
+# Copyright (c) Microsoft Corporation.<BR>
|
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
+#
|
|
+##
|
|
+[Defines]
|
|
+ PLATFORM_NAME = NetworkPkgHostTest
|
|
+ PLATFORM_GUID = 3b68324e-fc07-4d49-9520-9347ede65879
|
|
+ PLATFORM_VERSION = 0.1
|
|
+ DSC_SPECIFICATION = 0x00010005
|
|
+ OUTPUT_DIRECTORY = Build/NetworkPkg/HostTest
|
|
+ SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64
|
|
+ BUILD_TARGETS = NOOPT
|
|
+ SKUID_IDENTIFIER = DEFAULT
|
|
+
|
|
+!include UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc
|
|
+[Packages]
|
|
+ MdePkg/MdePkg.dec
|
|
+ UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec
|
|
+
|
|
+[Components]
|
|
+ #
|
|
+ # Build HOST_APPLICATION that tests NetworkPkg
|
|
+ #
|
|
+
|
|
+# Despite these library classes being listed in [LibraryClasses] below, they are not needed for the host-based unit tests.
|
|
+[LibraryClasses]
|
|
+ NetLib|NetworkPkg/Library/DxeNetLib/DxeNetLib.inf
|
|
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
|
+ BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
|
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
+ UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
+ UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
+ UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
|
+ UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
+ UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
|
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
|
|
+ TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
|
+ PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
|
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
+ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
+ DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
|
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
|
|
+ RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
|
|
+ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
|
|
+!ifdef CONTINUOUS_INTEGRATION
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
|
|
+ TlsLib|CryptoPkg/Library/TlsLibNull/TlsLibNull.inf
|
|
+!else
|
|
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
|
+ TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
|
|
+!endif
|
|
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
|
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
|
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
|
+ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
+
|
|
+!if $(TOOL_CHAIN_TAG) == VS2019 or $(TOOL_CHAIN_TAG) == VS2022
|
|
+[LibraryClasses.X64]
|
|
+ # Provide StackCookie support lib so that we can link to /GS exports for VS builds
|
|
+ RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
|
|
+!endif
|
|
+
|
|
+[LibraryClasses.common.UEFI_DRIVER]
|
|
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
|
|
+ DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
|
|
+[LibraryClasses.common.UEFI_APPLICATION]
|
|
+ DebugLib|MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf
|
|
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
|
|
+[LibraryClasses.ARM, LibraryClasses.AARCH64]
|
|
+ #
|
|
+ # It is not possible to prevent ARM compiler calls to generic intrinsic functions.
|
|
+ # This library provides the instrinsic functions generated by a given compiler.
|
|
+ # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
|
|
+ #
|
|
+!if $(TOOL_CHAIN_TAG) != VS2017 and $(TOOL_CHAIN_TAG) != VS2015 and $(TOOL_CHAIN_TAG) != VS2019
|
|
+ NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
|
|
+!endif
|
|
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
|
+[LibraryClasses.ARM]
|
|
+ RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+[LibraryClasses.RISCV64]
|
|
+ RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
|
+
|
|
+[PcdsFixedAtBuild]
|
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2
|
|
+ gEfiNetworkPkgTokenSpaceGuid.PcdDhcp6UidType|0x4
|
|
--
|
|
2.33.0
|
|
|