From 26754b37075909f3eed8f5666835c2c3d6146987 Mon Sep 17 00:00:00 2001 From: Wenxing Hou Date: Mon, 21 Aug 2023 10:25:43 +0800 Subject: CryptoPkg: Add Mbedtls submodule in CI Change CI for new Mbedtls submodule. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4177 Cc: Jiewen Yao Cc: Yi Li Cc: Xiaoyu Lu Cc: Guomin Jiang Signed-off-by: Wenxing Hou Reviewed-by: Yi Li Reviewed-by: Michael D Kinney --- .pytool/CISettings.py | 2 ++ CryptoPkg/CryptoPkg.ci.yaml | 12 +++++++++++- CryptoPkg/CryptoPkg.dec | 3 ++- CryptoPkg/CryptoPkg.dsc | 8 ++++++++ CryptoPkg/Private/Library/MbedTlsLib.h | 12 ++++++++++++ 5 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 CryptoPkg/Private/Library/MbedTlsLib.h diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py index 6fb7342f81..c5803a877c 100644 --- a/.pytool/CISettings.py +++ b/.pytool/CISettings.py @@ -199,6 +199,8 @@ class Settings(CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManag "MdePkg/Library/BaseFdtLib/libfdt", False)) rs.append(RequiredSubmodule( "MdePkg/Library/MipiSysTLib/mipisyst", False)) + rs.append(RequiredSubmodule( + "CryptoPkg/Library/MbedTlsLib/mbedtls", False)) return rs def GetName(self): diff --git a/CryptoPkg/CryptoPkg.ci.yaml b/CryptoPkg/CryptoPkg.ci.yaml index 59ba56d41e..967612230d 100644 --- a/CryptoPkg/CryptoPkg.ci.yaml +++ b/CryptoPkg/CryptoPkg.ci.yaml @@ -38,10 +38,20 @@ # This has OpenSSL interfaces that aren't UEFI spec compliant "Library/BaseCryptLib/Hash/CryptParallelHash.h", "Library/Include/fcntl.h", + # This has Mbedtls interfaces that aren't UEFI spec compliant + "Library/Include/stdint.h", + "Library/Include/stubs-32.h", # These directories contain auto-generated OpenSSL content "Library/OpensslLib", "Library/IntrinsicLib", - "Library/BaseCryptLib/Pk/CryptPkcs7VerifyBase.c" + "Library/BaseCryptLib/Pk/CryptPkcs7VerifyBase.c", + # mbedtls + "Library/MbedTlsLib/mbedtls", + # This has mbedtls interfaces that aren't UEFI spec compliant + "Library/MbedTlsLib/EcSm2Null.c", + "Library/MbedTlsLib/CrtWrapper.c", + "Library/MbedTlsLib/Include/mbedtls/mbedtls_config.h", + "Library/BaseCryptLibMbedTls/SysCall" ] }, "CompilerPlugin": { diff --git a/CryptoPkg/CryptoPkg.dec b/CryptoPkg/CryptoPkg.dec index a5fa81a338..e613b6b1ae 100644 --- a/CryptoPkg/CryptoPkg.dec +++ b/CryptoPkg/CryptoPkg.dec @@ -28,9 +28,9 @@ Library/OpensslLib/OpensslGen/include Library/OpensslLib/OpensslGen/providers/common/include Library/MbedTlsLib/Include - Library/MbedTlsLib/mbedtls Library/MbedTlsLib/mbedtls/include Library/MbedTlsLib/mbedtls/include/mbedtls + Library/MbedTlsLib/mbedtls/library [LibraryClasses] ## @libraryclass Provides basic library functions for cryptographic primitives. @@ -49,6 +49,7 @@ ## @libraryclass Provides library functions from the openssl project. # OpensslLib|Private/Library/OpensslLib.h + MbedTlsLib|Private/Library/MbedTlsLib.h ## @libraryclass Provides compiler intrinsic functions required to link openssl project. # diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc index a55dcb9668..6a0104a3bb 100644 --- a/CryptoPkg/CryptoPkg.dsc +++ b/CryptoPkg/CryptoPkg.dsc @@ -364,6 +364,14 @@ CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf + CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf + CryptoPkg/Library/BaseCryptLibMbedTls/SecCryptLib.inf + CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf + CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf + CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf + CryptoPkg/Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf + CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf + CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf CryptoPkg/Library/TlsLib/TlsLib.inf diff --git a/CryptoPkg/Private/Library/MbedTlsLib.h b/CryptoPkg/Private/Library/MbedTlsLib.h new file mode 100644 index 0000000000..30517a76d3 --- /dev/null +++ b/CryptoPkg/Private/Library/MbedTlsLib.h @@ -0,0 +1,12 @@ +/** @file + MbedTlsLib class with APIs from the mbedtls project + + Copyright (c) 2023, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef MBEDTLS_LIB_H_ +#define MBEDTLS_LIB_H_ + +#endif -- cgit v1.2.3