From a6325660cadb0a9e7578d1717e3d191795ebae82 Mon Sep 17 00:00:00 2001 From: htt1997 Date: Wed, 22 Feb 2023 15:20:30 +0800 Subject: [PATCH] fix googletest warning Signed-off-by: htt1997 --- .../googletest/cmake/internal_utils.cmake | 4 +- .../huks/libhukssdk/include/hks_config.h | 228 ++++++++++++++++++ .../huks/libhukssdk/include/hks_log.h | 64 +++++ .../huks/libhukssdk/include/huks_hdi.h | 89 +++++++ 4 files changed, 383 insertions(+), 2 deletions(-) create mode 100644 mock/innerkits/huks/libhukssdk/include/hks_config.h create mode 100644 mock/innerkits/huks/libhukssdk/include/hks_log.h create mode 100644 mock/innerkits/huks/libhukssdk/include/huks_hdi.h diff --git a/googletest/googletest/cmake/internal_utils.cmake b/googletest/googletest/cmake/internal_utils.cmake index 8d8d60a8..d059cd9a 100644 --- a/googletest/googletest/cmake/internal_utils.cmake +++ b/googletest/googletest/cmake/internal_utils.cmake @@ -84,13 +84,13 @@ macro(config_compiler_and_linker) # Ensure MSVC treats source files as UTF-8 encoded. set(cxx_base_flags "${cxx_base_flags} -utf-8") elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(cxx_base_flags "-Wall -Wshadow -Werror -Wconversion") + set(cxx_base_flags "-Wall -Werror -Wconversion") set(cxx_exception_flags "-fexceptions") set(cxx_no_exception_flags "-fno-exceptions") set(cxx_strict_flags "-W -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wredundant-decls") set(cxx_no_rtti_flags "-fno-rtti") elseif (CMAKE_COMPILER_IS_GNUCXX) - set(cxx_base_flags "-Wall -Wshadow -Werror") + set(cxx_base_flags "-Wall -Werror") if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0.0) set(cxx_base_flags "${cxx_base_flags} -Wno-error=dangling-else") endif() diff --git a/mock/innerkits/huks/libhukssdk/include/hks_config.h b/mock/innerkits/huks/libhukssdk/include/hks_config.h new file mode 100644 index 00000000..398f8710 --- /dev/null +++ b/mock/innerkits/huks/libhukssdk/include/hks_config.h @@ -0,0 +1,228 @@ +/* + * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HKS_CONFIG_H +#define HKS_CONFIG_H + +#define HKS_SUPPORT_POSIX + +#define HKS_SUPPORT_THREAD + +#define HKS_LOG_ENGINE_LOG_CORE +#define HKS_ENABLE_LOG_PUBLIC + +#define HKS_SUPPORT_API_ATTEST_KEY + +#define HKS_SUPPORT_ACCESS_TOKEN + +/* AES */ +#define HKS_SUPPORT_AES_C +#define HKS_SUPPORT_AES_GENERATE_KEY +#define HKS_SUPPORT_AES_CBC_NOPADDING +#define HKS_SUPPORT_AES_CBC_PKCS7 +#define HKS_SUPPORT_AES_GCM +#define HKS_SUPPORT_AES_CTR_NOPADDING +#define HKS_SUPPORT_AES_ECB_NOPADDING +#define HKS_SUPPORT_AES_ECB_PKCS7PADDING + +/* BN */ +#define HKS_SUPPORT_BN_C + +/* ECC */ +#define HKS_SUPPORT_ECC_C +#define HKS_SUPPORT_ECC_GENERATE_KEY +#define HKS_SUPPORT_ECC_GET_PUBLIC_KEY + +#define HKS_SUPPORT_ECDH_C +#define HKS_SUPPORT_ECDH_AGREE_KEY + +#define HKS_SUPPORT_ECDSA_C +#define HKS_SUPPORT_ECDSA_SIGN_VERIFY + +/* ED25519 */ +#define HKS_SUPPORT_ED25519_C +#define HKS_SUPPORT_ED25519_GENERATE_KEY +#define HKS_SUPPORT_ED25519_SIGN_VERIFY +#define HKS_SUPPORT_ED2519_GET_PUBLIC_KEY + +/* HASH */ +#define HKS_SUPPORT_HASH_C +#define HKS_SUPPORT_HASH_SHA1 +#define HKS_SUPPORT_HASH_SHA224 +#define HKS_SUPPORT_HASH_SHA256 +#define HKS_SUPPORT_HASH_SHA384 +#define HKS_SUPPORT_HASH_SHA512 +#define HKS_SUPPORT_HASH_MD5 + +/* HMAC */ +#define HKS_SUPPORT_HMAC_C +#define HKS_SUPPORT_HMAC_GENERATE_KEY +#define HKS_SUPPORT_HMAC_SHA1 +#define HKS_SUPPORT_HMAC_SHA224 +#define HKS_SUPPORT_HMAC_SHA256 +#define HKS_SUPPORT_HMAC_SHA384 +#define HKS_SUPPORT_HMAC_SHA512 + +/* KDF */ +#define HKS_SUPPORT_KDF_C +#define HKS_SUPPORT_KDF_PBKDF2 +#define HKS_SUPPORT_KDF_HKDF + +/* RSA */ +#define HKS_SUPPORT_RSA_C +#define HKS_SUPPORT_RSA_GENERATE_KEY +#define HKS_SUPPORT_RSA_CRYPT +#define HKS_SUPPORT_RSA_SIGN_VERIFY +#define HKS_SUPPORT_RSA_GET_PUBLIC_KEY +#define HKS_SUPPORT_RSA_ECB_NOPADDING +#define HKS_SUPPORT_RSA_ECB_PKCS1PADDING +#define HKS_SUPPORT_RSA_ECB_OAEPPADDING_SHA1MGF1 +#define HKS_SUPPORT_RSA_ECB_OAEPPADDING_SHA224MGF1 +#define HKS_SUPPORT_RSA_ECB_OAEPPADDING_SHA256MGF1 +#define HKS_SUPPORT_RSA_ECB_OAEPPADDING_SHA384MGF1 +#define HKS_SUPPORT_RSA_ECB_OAEPPADDING_SHA512MGF1 +#define HKS_SUPPORT_RSA_ECB_OEAPPADDING +#define HKS_SUPPORT_RSA_PSS + +/* DH */ +#define HKS_SUPPORT_DH_C +#define HKS_SUPPORT_DH_GENERATE_KEY +#define HKS_SUPPORT_DH_AGREE_KEY +#define HKS_SUPPORT_DH_GET_PUBLIC_KEY + +/* DSA */ +#define HKS_SUPPORT_DSA_C +#define HKS_SUPPORT_DSA_GENERATE_KEY +#define HKS_SUPPORT_DSA_SIGN_VERIFY +#define HKS_SUPPORT_DSA_GET_PUBLIC_KEY + +/* X25519 */ +#define HKS_SUPPORT_X25519_C +#define HKS_SUPPORT_X25519_GENERATE_KEY +#define HKS_SUPPORT_X25519_AGREE_KEY +#define HKS_SUPPORT_X25519_GET_PUBLIC_KEY + +#define HKS_SUPPORT_ED25519_TO_X25519 + +/* SM2 */ +#ifdef HKS_SUPPORT_ECC_C +#define HKS_SUPPORT_SM2_C +#define HKS_SUPPORT_SM2_SIGN_VERIFY +#ifdef HKS_SUPPORT_ECC_GENERATE_KEY +#define HKS_SUPPORT_SM2_GENERATE_KEY +#endif +#ifdef HKS_SUPPORT_ECC_GET_PUBLIC_KEY +#define HKS_SUPPORT_SM2_GET_PUBLIC_KEY +#endif +#endif + +/* SM3 */ +#define HKS_SUPPORT_SM3_C +#define HKS_SUPPORT_SM3_GENERATE_KEY +#if defined(HKS_SUPPORT_SM3_C) && defined(HKS_SUPPORT_HMAC_C) +#define HKS_SUPPORT_HMAC_SM3 +#endif +#if defined(HKS_SUPPORT_SM3_C) && defined(HKS_SUPPORT_HASH_C) +#define HKS_SUPPORT_HASH_SM3 +#endif + +/* SM4 */ +#define HKS_SUPPORT_SM4_C +#define HKS_SUPPORT_SM4_GENERATE_KEY +#define HKS_SUPPORT_SM4_CBC_NOPADDING +#define HKS_SUPPORT_SM4_CBC_PKCS7 +#define HKS_SUPPORT_SM4_CTR_NOPADDING +#define HKS_SUPPORT_SM4_ECB_NOPADDING +#define HKS_SUPPORT_SM4_ECB_PKCS7 + +/* enable cfi */ +#define HKS_SUPPORT_CFI + +#if defined(_SUPPORT_HKS_TEE_) && defined(HKS_SUPPORT_HMAC_GENERATE_KEY) +#define HKS_SUPPORT_GET_AT_KEY +#endif + +#if defined(HKS_SUPPORT_AES_GENERATE_KEY) || defined(HKS_SUPPORT_DH_GENERATE_KEY) || \ + defined(HKS_SUPPORT_DSA_GENERATE_KEY) || defined(HKS_SUPPORT_ECC_GENERATE_KEY) || \ + defined(HKS_SUPPORT_ED25519_GENERATE_KEY) || defined(HKS_SUPPORT_HMAC_GENERATE_KEY) || \ + defined(HKS_SUPPORT_RSA_GENERATE_KEY) || defined(HKS_SUPPORT_X25519_GENERATE_KEY) || \ + defined(HKS_SUPPORT_SM2_GENERATE_KEY) || defined(HKS_SUPPORT_SM3_GENERATE_KEY) || \ + defined(HKS_SUPPORT_SM4_GENERATE_KEY) +#define HKS_SUPPORT_API_GENERATE_KEY +#define HKS_SUPPORT_API_DELETE_KEY +#define HKS_SUPPORT_API_GET_KEY_PARAM_SET +#define HKS_SUPPORT_API_KEY_EXIST +#endif + +#if defined(HKS_SUPPORT_ECC_C) || defined(HKS_SUPPORT_RSA_C) || defined(HKS_SUPPORT_ED25519_C) || \ + defined(HKS_SUPPORT_X25519_C) || defined(HKS_SUPPORT_AES_C) || defined(HKS_SUPPORT_DSA_C) || \ + defined(HKS_SUPPORT_DH_C) || defined(HKS_SUPPORT_SM2_C) +#define HKS_SUPPORT_API_IMPORT +#endif + +#if defined(HKS_SUPPORT_ECC_C) || defined(HKS_SUPPORT_RSA_C) || defined(HKS_SUPPORT_ED25519_C) || \ + defined(HKS_SUPPORT_X25519_C) || defined(HKS_SUPPORT_AES_C) || defined(HKS_SUPPORT_DSA_C) || \ + defined(HKS_SUPPORT_DH_C) || defined(HKS_SUPPORT_SM2_C) +#define HKS_SUPPORT_API_EXPORT +#endif + +#if defined(HKS_SUPPORT_ECC_C) || defined(HKS_SUPPORT_RSA_C) || defined(HKS_SUPPORT_ED25519_C) || \ + defined(HKS_SUPPORT_X25519_C) || defined(HKS_SUPPORT_AES_C) || defined(HKS_SUPPORT_DSA_C) || \ + defined(HKS_SUPPORT_DH_C) || defined(HKS_SUPPORT_SM2_C) +#define HKS_SUPPORT_API_IMPORT_WRAPPED_KEY +#endif + +#define HKS_SUPPORT_API_GENERATE_RANDOM + +#if defined(HKS_SUPPORT_ECDSA_SIGN_VERIFY) || defined(HKS_SUPPORT_ED25519_SIGN_VERIFY) || \ + defined(HKS_SUPPORT_RSA_SIGN_VERIFY) || defined(HKS_SUPPORT_DSA_SIGN_VERIFY) +#define HKS_SUPPORT_API_SIGN_VERIFY +#endif + +#if defined(HKS_SUPPORT_AES_C) || defined(HKS_SUPPORT_RSA_CRYPT) +#define HKS_SUPPORT_API_CIPHER +#endif + +#if defined(HKS_SUPPORT_X25519_AGREE_KEY) || defined(HKS_SUPPORT_ECDH_AGREE_KEY) || defined(HKS_SUPPORT_DH_AGREE_KEY) +#define HKS_SUPPORT_API_AGREE_KEY +#endif + +#ifdef HKS_SUPPORT_KDF_C +#define HKS_SUPPORT_API_DERIVE_KEY +#endif + +#ifdef HKS_SUPPORT_HMAC_C +#define HKS_SUPPORT_API_MAC +#endif + +#ifdef HKS_SUPPORT_HASH_C +#define HKS_SUPPORT_API_HASH +#endif + +#ifdef HKS_SUPPORT_BN_C +#define HKS_SUPPORT_API_BN_EXP_MOD +#endif + +#ifndef HKS_SUPPORT_LITE_HEAP +#define HKS_SUPPORT_API_GET_KEY_INFO_LIST +#endif + +/* Key user auth access control */ +#if defined(HKS_SUPPORT_HMAC_C) && defined(HKS_SUPPORT_API_GENERATE_KEY) && (defined(HKS_SUPPORT_API_IMPORT) || \ + defined(HKS_SUPPORT_API_GENERATE_KEY) || defined(HKS_SUPPORT_API_IMPORT_WRAPPED_KEY)) +#define HKS_SUPPORT_USER_AUTH_ACCESS_CONTROL +#endif + +#endif /* HKS_CONFIG_H */ diff --git a/mock/innerkits/huks/libhukssdk/include/hks_log.h b/mock/innerkits/huks/libhukssdk/include/hks_log.h new file mode 100644 index 00000000..3a5a31a4 --- /dev/null +++ b/mock/innerkits/huks/libhukssdk/include/hks_log.h @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HKS_LOG_H +#define HKS_LOG_H + +#include "hks_type.h" + +#ifdef HKS_CONFIG_FILE +#include HKS_CONFIG_FILE +#else +#include "hks_config.h" +#endif + +#ifdef _HUKS_LOG_ENABLE_ +#ifdef HKS_ENABLE_LOG_PUBLIC +#define LOG_PUBLIC "{public}" +#else +#define LOG_PUBLIC +#endif + +#undef LOG_TAG +#define LOG_TAG "HUKS" +#undef LOG_DOMAIN +#define LOG_DOMAIN 0xD002F00 /* Security subsystem's domain id */ + +#ifdef HKS_LOG_ENGINE_LOG_CORE +#include "hilog/log.h" +#define LOG_ENGINE LOG_CORE +#else +#ifdef HKS_LOG_ENGINE_HILOG_MODULE_SCY +#include "log.h" +#define LOG_ENGINE HILOG_MODULE_SCY +#endif +#endif + +#define HKS_LOG_I(fmt, arg...) HILOG_INFO(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", \ + __func__, __LINE__, ##arg) +#define HKS_LOG_W(fmt, arg...) HILOG_WARN(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", \ + __func__, __LINE__, ##arg) +#define HKS_LOG_E(fmt, arg...) HILOG_ERROR(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", \ + __func__, __LINE__, ##arg) +#define HKS_LOG_D(fmt, arg...) HILOG_DEBUG(LOG_ENGINE, "%" LOG_PUBLIC "s[%" LOG_PUBLIC "u]: " fmt "\n", \ + __func__, __LINE__, ##arg) +#else +#define HKS_LOG_I(...) +#define HKS_LOG_W(...) +#define HKS_LOG_E(...) +#define HKS_LOG_D(...) +#endif + +#endif /* HKS_LOG_H */ diff --git a/mock/innerkits/huks/libhukssdk/include/huks_hdi.h b/mock/innerkits/huks/libhukssdk/include/huks_hdi.h new file mode 100644 index 00000000..54a3b3f2 --- /dev/null +++ b/mock/innerkits/huks/libhukssdk/include/huks_hdi.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HUKS_HDI_H +#define HUKS_HDI_H + +#include "hks_param.h" +#include "hks_type.h" + +struct HuksHdi { + int32_t (*HuksHdiModuleInit)(void); + + int32_t (*HuksHdiRefresh)(void); + + int32_t (*HuksHdiGenerateKey)(const struct HksBlob *keyAlias, const struct HksParamSet *paramSet, + const struct HksBlob *keyIn, struct HksBlob *keyOut); + + int32_t (*HuksHdiImportKey)(const struct HksBlob *keyAlias, const struct HksBlob *key, + const struct HksParamSet *paramSet, struct HksBlob *keyOut); + + int32_t (*HuksHdiImportWrappedKey)(const struct HksBlob *wrappingKeyAlias, const struct HksBlob *key, + const struct HksBlob *wrappedKeyData, const struct HksParamSet *paramSet, struct HksBlob *keyOut); + + int32_t (*HuksHdiExportPublicKey)(const struct HksBlob *key, const struct HksParamSet *paramSet, + struct HksBlob *keyOut); + + int32_t (*HuksHdiInit)(const struct HksBlob *key, const struct HksParamSet *paramSet, struct HksBlob *handle, + struct HksBlob *token); + + int32_t (*HuksHdiUpdate)(const struct HksBlob *handle, const struct HksParamSet *paramSet, + const struct HksBlob *inData, struct HksBlob *outData); + + int32_t (*HuksHdiFinish)(const struct HksBlob *handle, const struct HksParamSet *paramSet, + const struct HksBlob *inData, struct HksBlob *outData); + + int32_t (*HuksHdiAbort)(const struct HksBlob *handle, const struct HksParamSet *paramSet); + + int32_t (*HuksHdiGetKeyProperties)(const struct HksParamSet *paramSet, const struct HksBlob *key); + + int32_t (*HuksHdiAttestKey)(const struct HksBlob *key, const struct HksParamSet *paramSet, + struct HksBlob *certChain); + + int32_t (*HuksHdiGetAbility)(int32_t funcType); + + int32_t (*HuksHdiGetHardwareInfo)(void); + + int32_t (*HuksHdiCalcMacHeader)(const struct HksParamSet *paramSet, const struct HksBlob *salt, + const struct HksBlob *srcData, struct HksBlob *mac); + + int32_t (*HuksHdiUpgradeKeyInfo)(const struct HksBlob *keyAlias, const struct HksBlob *keyInfo, + struct HksBlob *keyOut); + + int32_t (*HuksHdiGenerateRandom)(const struct HksParamSet *paramSet, struct HksBlob *random); + + int32_t (*HuksHdiSign)(const struct HksBlob *key, const struct HksParamSet *paramSet, + const struct HksBlob *srcData, struct HksBlob *signature); + + int32_t (*HuksHdiVerify)(const struct HksBlob *key, const struct HksParamSet *paramSet, + const struct HksBlob *srcData, const struct HksBlob *signature); + + int32_t (*HuksHdiEncrypt)(const struct HksBlob *key, const struct HksParamSet *paramSet, + const struct HksBlob *plainText, struct HksBlob *cipherText); + + int32_t (*HuksHdiDecrypt)(const struct HksBlob *key, const struct HksParamSet *paramSet, + const struct HksBlob *cipherText, struct HksBlob *plainText); + + int32_t (*HuksHdiAgreeKey)(const struct HksParamSet *paramSet, const struct HksBlob *privateKey, + const struct HksBlob *peerPublicKey, struct HksBlob *agreedKey); + + int32_t (*HuksHdiDeriveKey)(const struct HksParamSet *paramSet, const struct HksBlob *kdfKey, + struct HksBlob *derivedKey); + + int32_t (*HuksHdiMac)(const struct HksBlob *key, const struct HksParamSet *paramSet, + const struct HksBlob *srcData, struct HksBlob *mac); +}; + +#endif /* HUKS_HDI_H */ -- Gitee