diff options
author | Michael D Kinney <michael.d.kinney@intel.com> | 2022-10-03 14:38:13 -0700 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-10-24 07:49:43 +0000 |
commit | dd00f92b2ff8e9fcddb261b1ee45e237dfe0b71c (patch) | |
tree | 2c34ac9583e167863e8604debea3b5b9c6517efb /CryptoPkg/Library | |
parent | 961fadf60c02d0e52c805508852949e25cea44f4 (diff) | |
download | edk2-dd00f92b2ff8e9fcddb261b1ee45e237dfe0b71c.tar.gz edk2-dd00f92b2ff8e9fcddb261b1ee45e237dfe0b71c.tar.bz2 edk2-dd00f92b2ff8e9fcddb261b1ee45e237dfe0b71c.zip |
CryptoPkg/Library: Cleanup BaseCryptLib and TlsLib
* Move SysCall/inet_pton.c from BaseCryptLib to TlsLib. The functions
in this file are only used by TlsLib instances and not any CryptLib
instances.
* Fix type mismatch in call to FreePool() in TlsConfig.c
* Remove use of gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled from
TslLib and CryptLib instances
* Add missing *Null.c files to SecCryptLib.inf and RuntimeCryptLib.inf.
* Remove ARM and AARCH64 sections from SmmCryptLib.inf that does not
support those architectures.
* Add missing PrintLib dependencies to [LibraryClasses] sections of
CryptLib INF files
* Remove extra library classes from [LibraryClasses] sections of
CryptLib INF files
* Remove unnecessary warning disables from [BuildOptions] sections of
TlsLib and CryptLib INF files
* Remove RVCT support from SecCryptLib.inf
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Christopher Zurcher <christopher.zurcher@microsoft.com>
Cc: Rebecca Cran <quic_rcran@quicinc.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Diffstat (limited to 'CryptoPkg/Library')
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 10 | ||||
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf | 8 | ||||
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/Pem/CryptPem.c | 4 | ||||
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c | 4 | ||||
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 9 | ||||
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf | 12 | ||||
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf | 12 | ||||
-rw-r--r-- | CryptoPkg/Library/TlsLib/SysCall/inet_pton.c (renamed from CryptoPkg/Library/BaseCryptLib/SysCall/inet_pton.c) | 0 | ||||
-rw-r--r-- | CryptoPkg/Library/TlsLib/TlsConfig.c | 12 | ||||
-rw-r--r-- | CryptoPkg/Library/TlsLib/TlsLib.inf | 12 |
10 files changed, 13 insertions, 70 deletions
diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf index 8896e47095..213813cad9 100644 --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf @@ -54,15 +54,13 @@ Pk/CryptTs.c
Pk/CryptRsaPss.c
Pk/CryptRsaPssSign.c
- Pk/CryptEcNull.c |*|*|*|!gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
- Pk/CryptEc.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
+ Pk/CryptEc.c
Pem/CryptPem.c
Bn/CryptBn.c
SysCall/CrtWrapper.c
SysCall/TimerWrapper.c
SysCall/BaseMemAllocation.c
- SysCall/inet_pton.c
[Sources.Ia32]
Rand/CryptRandTsc.c
@@ -96,19 +94,13 @@ IntrinsicLib
PrintLib
-[FixedPcd]
- gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
-
#
# Remove these [BuildOptions] after this library is cleaned up
#
[BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
- # C4090: 'function' : different 'const' qualifiers
#
- MSFT:*_*_*_CC_FLAGS = /wd4090
-
GCC:*_CLANG35_*_CC_FLAGS = -std=c99
GCC:*_CLANG38_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf index 3799780c9f..b1629647f9 100644 --- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf @@ -79,9 +79,7 @@ DebugLib
OpensslLib
IntrinsicLib
-
-[FixedPcd]
- gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
+ PrintLib
#
# Remove these [BuildOptions] after this library is cleaned up
@@ -89,11 +87,7 @@ [BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
- # C4090: 'function' : different 'const' qualifiers
- # C4718: 'function call' : recursive call has no side effects, deleting
#
- MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718
-
GCC:*_CLANG35_*_CC_FLAGS = -std=c99
GCC:*_CLANG38_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/Pem/CryptPem.c b/CryptoPkg/Library/BaseCryptLib/Pem/CryptPem.c index 559a6b4df0..d64cf3d680 100644 --- a/CryptoPkg/Library/BaseCryptLib/Pem/CryptPem.c +++ b/CryptoPkg/Library/BaseCryptLib/Pem/CryptPem.c @@ -153,7 +153,6 @@ EcGetPrivateKeyFromPem ( OUT VOID **EcContext
)
{
- #if FixedPcdGetBool (PcdOpensslEcEnabled)
BOOLEAN Status;
BIO *PemBio;
@@ -209,7 +208,4 @@ _Exit: BIO_free (PemBio);
return Status;
- #else
- return FALSE;
- #endif
}
diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c b/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c index 1d91ac3b0f..2333157e0d 100644 --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c @@ -881,7 +881,6 @@ EcGetPublicKeyFromX509 ( OUT VOID **EcContext
)
{
- #if FixedPcdGetBool (PcdOpensslEcEnabled)
BOOLEAN Status;
EVP_PKEY *Pkey;
X509 *X509Cert;
@@ -935,9 +934,6 @@ _Exit: }
return Status;
- #else
- return FALSE;
- #endif
}
/**
diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf index bb66604e32..07dbc0e7a8 100644 --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf @@ -60,7 +60,9 @@ Pk/CryptTsNull.c
Pk/CryptRsaPssNull.c
Pk/CryptRsaPssSignNull.c
+ Pk/CryptEcNull.c
Pem/CryptPem.c
+ Bn/CryptBnNull.c
SysCall/CrtWrapper.c
SysCall/TimerWrapper.c
@@ -91,26 +93,19 @@ [LibraryClasses]
BaseLib
BaseMemoryLib
- UefiBootServicesTableLib
UefiRuntimeServicesTableLib
DebugLib
OpensslLib
IntrinsicLib
PrintLib
-[FixedPcd]
- gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
-
#
# Remove these [BuildOptions] after this library is cleaned up
#
[BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
- # C4090: 'function' : different 'const' qualifiers
#
- MSFT:*_*_*_CC_FLAGS = /wd4090
-
GCC:*_CLANG35_*_CC_FLAGS = -std=c99
GCC:*_CLANG38_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf index 4f652be46a..4ad59b7bbc 100644 --- a/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf @@ -38,6 +38,7 @@ Hmac/CryptHmacNull.c
Kdf/CryptHkdfNull.c
Cipher/CryptAesNull.c
+ Cipher/CryptAeadAesGcmNull.c
Pk/CryptRsaBasicNull.c
Pk/CryptRsaExtNull.c
Pk/CryptPkcs1OaepNull.c
@@ -53,6 +54,8 @@ Rand/CryptRandNull.c
Pk/CryptRsaPssNull.c
Pk/CryptRsaPssSignNull.c
+ Pk/CryptEcNull.c
+ Bn/CryptBnNull.c
SysCall/CrtWrapper.c
SysCall/ConstantTimeClock.c
@@ -69,6 +72,7 @@ DebugLib
OpensslLib
IntrinsicLib
+ PrintLib
#
# Remove these [BuildOptions] after this library is cleaned up
@@ -76,15 +80,7 @@ [BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
- # C4090: 'function' : different 'const' qualifiers
- # C4718: 'function call' : recursive call has no side effects, deleting
#
- MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718
-
- # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
- # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline"
- RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
-
GCC:*_CLANG35_*_CC_FLAGS = -std=c99
GCC:*_CLANG38_*_CC_FLAGS = -std=c99
GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf index 9318052a51..0af7a3f96e 100644 --- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf @@ -74,19 +74,12 @@ [Sources.X64]
Rand/CryptRandTsc.c
-[Sources.ARM]
- Rand/CryptRand.c
-
-[Sources.AARCH64]
- Rand/CryptRand.c
-
[Packages]
MdePkg/MdePkg.dec
CryptoPkg/CryptoPkg.dec
[LibraryClasses]
BaseLib
- IoLib
BaseMemoryLib
MemoryAllocationLib
OpensslLib
@@ -95,18 +88,13 @@ MmServicesTableLib
SynchronizationLib
-[FixedPcd]
- gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
-
#
# Remove these [BuildOptions] after this library is cleaned up
#
[BuildOptions]
#
# suppress the following warnings so we do not break the build with warnings-as-errors:
- # C4090: 'function' : different 'const' qualifiers
#
- MSFT:*_*_*_CC_FLAGS = /wd4090
XCODE:*_*_*_CC_FLAGS = -mmmx -msse -std=c99
diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/inet_pton.c b/CryptoPkg/Library/TlsLib/SysCall/inet_pton.c index c61f34e734..c61f34e734 100644 --- a/CryptoPkg/Library/BaseCryptLib/SysCall/inet_pton.c +++ b/CryptoPkg/Library/TlsLib/SysCall/inet_pton.c diff --git a/CryptoPkg/Library/TlsLib/TlsConfig.c b/CryptoPkg/Library/TlsLib/TlsConfig.c index dbe1f06529..60559de4a7 100644 --- a/CryptoPkg/Library/TlsLib/TlsConfig.c +++ b/CryptoPkg/Library/TlsLib/TlsConfig.c @@ -478,7 +478,7 @@ FreeCipherString: FreePool (CipherString);
FreeMappedCipher:
- FreePool (MappedCipher);
+ FreePool ((VOID *)MappedCipher);
return Status;
}
@@ -1136,9 +1136,6 @@ TlsSetEcCurve ( IN UINTN DataSize
)
{
- #if !FixedPcdGetBool (PcdOpensslEcEnabled)
- return EFI_UNSUPPORTED;
- #else
TLS_CONNECTION *TlsConn;
EC_KEY *EcKey;
INT32 Nid;
@@ -1170,23 +1167,22 @@ TlsSetEcCurve ( }
if (SSL_set1_curves (TlsConn->Ssl, &Nid, 1) != 1) {
- return EFI_INVALID_PARAMETER;
+ return EFI_UNSUPPORTED;
}
EcKey = EC_KEY_new_by_curve_name (Nid);
if (EcKey == NULL) {
- return EFI_INVALID_PARAMETER;
+ return EFI_UNSUPPORTED;
}
Ret = SSL_set_tmp_ecdh (TlsConn->Ssl, EcKey);
EC_KEY_free (EcKey);
if (Ret != 1) {
- return EFI_INVALID_PARAMETER;
+ return EFI_UNSUPPORTED;
}
return EFI_SUCCESS;
- #endif
}
/**
diff --git a/CryptoPkg/Library/TlsLib/TlsLib.inf b/CryptoPkg/Library/TlsLib/TlsLib.inf index 20b0ea6832..4e7b3e535a 100644 --- a/CryptoPkg/Library/TlsLib/TlsLib.inf +++ b/CryptoPkg/Library/TlsLib/TlsLib.inf @@ -28,6 +28,7 @@ TlsInit.c
TlsConfig.c
TlsProcess.c
+ SysCall/inet_pton.c
[Packages]
MdePkg/MdePkg.dec
@@ -41,14 +42,3 @@ MemoryAllocationLib
OpensslLib
SafeIntLib
-
-[FixedPcd]
- gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled
-
-[BuildOptions]
- #
- # suppress the following warnings so we do not break the build with warnings-as-errors:
- # C4090: 'function' : different 'const' qualifiers
- #
- MSFT:*_*_*_CC_FLAGS = /wd4090
-
|