From 9c50df36eaad918d32c2ab63f110718fd1a2737a Mon Sep 17 00:00:00 2001 From: luowei Date: Fri, 14 Mar 2025 11:06:09 +0800 Subject: [PATCH 1/5] sa symbol opt Signed-off-by: luowei --- .vscode/c_cpp_properties.json | 18 ++++ .vscode/launch.json | 24 ++++++ .vscode/settings.json | 59 +++++++++++++ frameworks/accesstoken/BUILD.gn | 5 ++ .../accesstoken_communication_adapter_cxx.map | 85 +++++++++++++++++++ frameworks/common/BUILD.gn | 5 ++ frameworks/common/accesstoken_common_cxx.map | 67 +++++++++++++++ frameworks/js/napi/accesstoken/BUILD.gn | 6 ++ .../napi/accesstoken/libabilityaccessctrl.map | 20 +++++ frameworks/js/napi/el5filekeymanager/BUILD.gn | 5 ++ .../screenlockfilemanager.map | 20 +++++ frameworks/js/napi/privacy/BUILD.gn | 5 ++ .../js/napi/privacy/libprivacymanager.map | 20 +++++ frameworks/privacy/BUILD.gn | 5 ++ .../privacy_communication_adapter_cxx.map | 57 +++++++++++++ .../inner_api/el5filekeymanager/BUILD.gn | 5 ++ .../el5_filekey_manager_sdk.map | 42 +++++++++ interfaces/innerkits/accesstoken/BUILD.gn | 5 ++ .../accesstoken/libaccesstoken_sdk.map | 1 + .../innerkits/accesstoken/libtokenid_sdk.map | 28 ++++++ interfaces/innerkits/analysis_model/BUILD.gn | 6 ++ .../libcodesignature_analysis.map | 22 +++++ interfaces/innerkits/nativetoken/BUILD.gn | 6 ++ .../nativetoken/libnativetoken_shared.map | 43 ++++++++++ interfaces/innerkits/token_setproc/BUILD.gn | 5 ++ .../token_setproc/libtokensetproc_shared.map | 24 ++++++ interfaces/innerkits/tokensync/BUILD.gn | 6 ++ .../innerkits/tokensync/libtokensync_sdk.map | 24 ++++++ interfaces/kits/capi/accesstoken/BUILD.gn | 2 + interfaces/kits/cj/accesstoken/BUILD.gn | 6 ++ .../cj_ability_access_ctrl_ffi.map | 25 ++++++ .../kits/cj/screenlockfilemanager/BUILD.gn | 6 ++ .../cj_screen_lock_file_manager_ffi.map | 22 +++++ services/accesstokenmanager/BUILD.gn | 3 + .../accesstokenmanager/test/unittest/BUILD.gn | 2 + services/common/ability_manager/BUILD.gn | 3 + services/common/app_manager/BUILD.gn | 3 + services/common/json_parse/BUILD.gn | 9 ++ .../json_parse/accesstoken_cjson_utils.map | 39 +++++++++ services/common/screenlock_manager/BUILD.gn | 3 + services/privacymanager/BUILD.gn | 3 + .../privacymanager/test/unittest/BUILD.gn | 1 + services/tokensyncmanager/BUILD.gn | 1 + 43 files changed, 746 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 frameworks/accesstoken/accesstoken_communication_adapter_cxx.map create mode 100644 frameworks/common/accesstoken_common_cxx.map create mode 100644 frameworks/js/napi/accesstoken/libabilityaccessctrl.map create mode 100644 frameworks/js/napi/el5filekeymanager/screenlockfilemanager.map create mode 100644 frameworks/js/napi/privacy/libprivacymanager.map create mode 100644 frameworks/privacy/privacy_communication_adapter_cxx.map create mode 100644 interfaces/inner_api/el5filekeymanager/el5_filekey_manager_sdk.map create mode 100644 interfaces/innerkits/accesstoken/libtokenid_sdk.map create mode 100644 interfaces/innerkits/analysis_model/libcodesignature_analysis.map create mode 100644 interfaces/innerkits/nativetoken/libnativetoken_shared.map create mode 100644 interfaces/innerkits/token_setproc/libtokensetproc_shared.map create mode 100644 interfaces/innerkits/tokensync/libtokensync_sdk.map create mode 100644 interfaces/kits/cj/accesstoken/cj_ability_access_ctrl_ffi.map create mode 100644 interfaces/kits/cj/screenlockfilemanager/cj_screen_lock_file_manager_ffi.map create mode 100644 services/common/json_parse/accesstoken_cjson_utils.map diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 000000000..c2098a2d0 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..a137a6965 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/home/lw/security_access_token/services/common/libraryloader/src", + "program": "/home/lw/security_access_token/services/common/libraryloader/src/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..bb879da5a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file diff --git a/frameworks/accesstoken/BUILD.gn b/frameworks/accesstoken/BUILD.gn index 905cf9753..707ed8a68 100644 --- a/frameworks/accesstoken/BUILD.gn +++ b/frameworks/accesstoken/BUILD.gn @@ -35,6 +35,11 @@ ohos_shared_library("accesstoken_communication_adapter_cxx") { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "accesstoken_communication_adapter_cxx.map" + } + branch_protector_ret = "pac_ret" public_configs = [ ":accesstoken_communication_adapter_cxx_public_config" ] diff --git a/frameworks/accesstoken/accesstoken_communication_adapter_cxx.map b/frameworks/accesstoken/accesstoken_communication_adapter_cxx.map new file mode 100644 index 000000000..54379dff9 --- /dev/null +++ b/frameworks/accesstoken/accesstoken_communication_adapter_cxx.map @@ -0,0 +1,85 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "VTT for OHOS::Security::AccessToken::HapTokenInfoForSyncParcel"; + "vtable for OHOS::Security::AccessToken::HapTokenInfoForSyncParcel"; + "VTT for OHOS::Security::AccessToken::PermissionDefParcel"; + "vtable for OHOS::Security::AccessToken::PermissionDefParcel"; + "VTT for OHOS::Security::AccessToken::PermissionListStateParcel"; + "vtable for OHOS::Security::AccessToken::PermissionListStateParcel"; + "VTT for OHOS::Security::AccessToken::PermissionGrantInfoParcel"; + "vtable for OHOS::Security::AccessToken::PermissionGrantInfoParcel"; + "VTT for OHOS::Security::AccessToken::PermStateChangeScopeParcel"; + "vtable for OHOS::Security::AccessToken::PermStateChangeScopeParcel"; + "VTT for OHOS::Security::AccessToken::HapInfoParcel"; + "vtable for OHOS::Security::AccessToken::HapInfoParcel"; + "VTT for OHOS::Security::AccessToken::HapPolicyParcel"; + "vtable for OHOS::Security::AccessToken::HapPolicyParcel"; + "VTT for OHOS::Security::AccessToken::HapTokenInfoParcel"; + "vtable for OHOS::Security::AccessToken::HapTokenInfoParcel"; + "VTT for OHOS::Security::AccessToken::NativeTokenInfoParcel"; + "vtable for OHOS::Security::AccessToken::NativeTokenInfoParcel"; + "VTT for OHOS::Security::AccessToken::AtmToolsParamInfoParcel"; + "vtable for OHOS::Security::AccessToken::AtmToolsParamInfoParcel"; + "VTT for OHOS::Security::AccessToken::HapBaseInfoParcel"; + "vtable for OHOS::Security::AccessToken::HapBaseInfoParcel"; + "VTT for OHOS::Security::AccessToken::PermissionStatusParcel"; + "vtable for OHOS::Security::AccessToken::PermissionStatusParcel"; + "VTT for OHOS::Security::AccessToken::PermissionStateChangeInfoParcel"; + "vtable for OHOS::Security::AccessToken::PermissionStateChangeInfoParcel"; + "VTT for OHOS::Security::AccessToken::PermissionUsedResultParcel"; + "vtable for OHOS::Security::AccessToken::PermissionUsedResultParcel"; + "VTT for OHOS::Security::AccessToken::PermissionUsedRequestParcel"; + "vtable for OHOS::Security::AccessToken::PermissionUsedRequestParcel"; + "VTT for OHOS::Security::AccessToken::ActiveChangeResponseParcel"; + "vtable for OHOS::Security::AccessToken::ActiveChangeResponseParcel"; + "OHOS::Security::AccessToken::HapTokenInfoForSyncParcel"; + "OHOS::Security::AccessToken::PermissionDefParcel"; + "OHOS::Security::AccessToken::PermissionStateChangeInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::HapTokenInfoForSyncParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionGrantInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::HapTokenInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::HapTokenInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::NativeTokenInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::NativeTokenInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionListStateParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionStatusParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionDefParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionDefParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::HapInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::HapPolicyParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermStateChangeScopeParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::HapBaseInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::HapBaseInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::AtmToolsParamInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::AtmToolsParamInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionGrantInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionStatusParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::HapTokenInfoForSyncParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermStateChangeScopeParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionStateChangeInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::HapPolicyParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::HapInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionUsedResultParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionUsedResultParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionUsedRequestParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionUsedRequestParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::ActiveChangeResponseParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::ActiveChangeResponseParcel::Unmarshalling(OHOS::Parcel&)"; + }; + local: + *; +}; \ No newline at end of file diff --git a/frameworks/common/BUILD.gn b/frameworks/common/BUILD.gn index d8c90e817..af35f5d82 100644 --- a/frameworks/common/BUILD.gn +++ b/frameworks/common/BUILD.gn @@ -43,6 +43,11 @@ ohos_shared_library("accesstoken_common_cxx") { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "accesstoken_common_cxx.map" + } + branch_protector_ret = "pac_ret" public_configs = [ ":accesstoken_common_cxx_public_config" ] diff --git a/frameworks/common/accesstoken_common_cxx.map b/frameworks/common/accesstoken_common_cxx.map new file mode 100644 index 000000000..87848fdfc --- /dev/null +++ b/frameworks/common/accesstoken_common_cxx.map @@ -0,0 +1,67 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "OHOS::Security::AccessToken::ConstantCommon::EncryptDevId(std::__h::basic_string, std::__h::allocator>)"; + "OHOS::Security::AccessToken::TimeUtil::GetCurrentTimestamp()"; + "OHOS::Security::AccessToken::FindAndInsertRecord(OHOS::Security::AccessToken::AddPermParamInfo const&)"; + "OHOS::Security::AccessToken::DataValidator::IsPermissionNameValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::DataValidator::IsPermissionUsedTypeValid(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsTokenIDValid(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsHapCaller(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsUserIdValid(int)"; + "OHOS::Security::AccessToken::DataValidator::IsPermissionUsedFlagValid(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsPolicyTypeValid(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsCallerTypeValid(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsAppIDDescValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::DataValidator::IsBundleNameValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::DataValidator::IsAplNumValid(int)"; + "OHOS::Security::AccessToken::DataValidator::IsDomainValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::DataValidator::IsDlpTypeValid(int)"; + "OHOS::Security::AccessToken::TransferPermissionToOpcode(std::__h::basic_string, std::__h::allocator> const&, unsigned int&)"; + "OHOS::Security::AccessToken::DataValidator::IsPermissionFlagValid(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsToggleStatusValid(unsigned int)"; + "OHOS::Security::AccessToken::DataValidator::IsProcessNameValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::JsonParser::IsDirExsit(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::JsonParser::GetStringFromJson(nlohmann::json_abi_v3_11_2::basic_json, std::__h::allocator>, bool, long, unsigned long, double, std::__h::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::__h::vector>> const&, std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator>&)"; + "OHOS::Security::AccessToken::JsonParser::GetIntFromJson(nlohmann::json_abi_v3_11_2::basic_json, std::__h::allocator>, bool, long, unsigned long, double, std::__h::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::__h::vector>> const&, std::__h::basic_string, std::__h::allocator> const&, int&)"; + "OHOS::Security::AccessToken::JsonParser::ReadCfgFile(std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator>&)"; + "OHOS::Security::AccessToken::DataValidator::IsDeviceIdValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::ConstantCommon::GetLocalDeviceId()"; + "OHOS::Security::AccessToken::TransferOpcodeToPermission(unsigned int, std::__h::basic_string, std::__h::allocator>&)"; + "OHOS::Security::AccessToken::ConstantCommon::GetFlagWithoutSpecifiedElement(unsigned int, unsigned int)"; + "OHOS::Security::AccessToken::ConstantCommon::IsPermOperatedByUser(int)"; + "OHOS::Security::AccessToken::ConstantCommon::IsPermOperatedBySystem(int)"; + "OHOS::Security::AccessToken::ConstantCommon::IsPermGrantedBySecComp(int)"; + "OHOS::Security::AccessToken::JsonParser::GetBoolFromJson(nlohmann::json_abi_v3_11_2::basic_json, std::__h::allocator>, bool, long, unsigned long, double, std::__h::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::__h::vector>> const&, std::__h::basic_string, std::__h::allocator> const&, bool&)"; + "OHOS::Security::AccessToken::DataValidator::IsLabelValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::DataValidator::IsAvailableTypeValid(int)"; + "OHOS::Security::AccessToken::JsonParser::GetUnsignedIntFromJson(nlohmann::json_abi_v3_11_2::basic_json, std::__h::allocator>, bool, long, unsigned long, double, std::__h::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::__h::vector>> const&, std::__h::basic_string, std::__h::allocator> const&, unsigned int&)"; + "OHOS::Security::AccessToken::DataValidator::IsDescValid(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::TimeUtil::IsTimeStampsSameMinute(long, long)"; + "OHOS::Security::AccessToken::TimeUtil::IsTimeStampsSameMinute(long long, long long)"; + "OHOS::Security::AccessToken::DataValidator::IsAclExtendedMapSizeValid(std::__h::map, std::__h::allocator>, std::__h::basic_string, std::__h::allocator>, std::__h::less, std::__h::allocator>>, std::__h::allocator, std::__h::allocator> const, std::__h::basic_string, std::__h::allocator>>>> const&)"; + "OHOS::Security::AccessToken::DataValidator::IsAclExtendedMapContentValid(std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::IsUserGrantPermission(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::IsDefinedPermission(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::GetPermissionBriefDef(std::__h::basic_string, std::__h::allocator> const&, OHOS::Security::AccessToken::PermissionBriefDef&)"; + "OHOS::Security::AccessToken::ConvertPermissionBriefToDef(OHOS::Security::AccessToken::PermissionBriefDef const&, OHOS::Security::AccessToken::PermissionDef&)"; + "OHOS::Security::AccessToken::GetPermissionBriefDef(unsigned int, OHOS::Security::AccessToken::PermissionBriefDef&)"; + "OHOS::Security::AccessToken::IsPermissionValidForHap(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::GetDefPermissionsSize()"; + }; + local: + *; +}; \ No newline at end of file diff --git a/frameworks/js/napi/accesstoken/BUILD.gn b/frameworks/js/napi/accesstoken/BUILD.gn index 6cebe5c4c..50d826964 100644 --- a/frameworks/js/napi/accesstoken/BUILD.gn +++ b/frameworks/js/napi/accesstoken/BUILD.gn @@ -20,6 +20,12 @@ ohos_shared_library("libabilityaccessctrl") { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "libabilityaccessctrl.map" + shlib_type = "sa" + } + branch_protector_ret = "pac_ret" include_dirs = [ "${access_token_path}/frameworks/common/include", diff --git a/frameworks/js/napi/accesstoken/libabilityaccessctrl.map b/frameworks/js/napi/accesstoken/libabilityaccessctrl.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/frameworks/js/napi/accesstoken/libabilityaccessctrl.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/frameworks/js/napi/el5filekeymanager/BUILD.gn b/frameworks/js/napi/el5filekeymanager/BUILD.gn index 7a42453e5..0c5a29467 100644 --- a/frameworks/js/napi/el5filekeymanager/BUILD.gn +++ b/frameworks/js/napi/el5filekeymanager/BUILD.gn @@ -22,6 +22,11 @@ ohos_shared_library("screenlockfilemanager") { } branch_protector_ret = "pac_ret" + if (!use_clang_coverage) { + version_script = "screenlockfilemanager.map" + shlib_type = "sa" + } + include_dirs = [ "${access_token_path}/frameworks/inner_api/el5filekeymanager/include", "${access_token_path}/interfaces/inner_api/el5filekeymanager/include", diff --git a/frameworks/js/napi/el5filekeymanager/screenlockfilemanager.map b/frameworks/js/napi/el5filekeymanager/screenlockfilemanager.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/frameworks/js/napi/el5filekeymanager/screenlockfilemanager.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/frameworks/js/napi/privacy/BUILD.gn b/frameworks/js/napi/privacy/BUILD.gn index 4621e4760..2ecf04e6e 100644 --- a/frameworks/js/napi/privacy/BUILD.gn +++ b/frameworks/js/napi/privacy/BUILD.gn @@ -20,6 +20,11 @@ ohos_shared_library("libprivacymanager") { cfi_cross_dso = true debug = false } + if (!use_clang_coverage) { + version_script = "libprivacymanager.map" + } + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ "${access_token_path}/frameworks/common/include", diff --git a/frameworks/js/napi/privacy/libprivacymanager.map b/frameworks/js/napi/privacy/libprivacymanager.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/frameworks/js/napi/privacy/libprivacymanager.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/frameworks/privacy/BUILD.gn b/frameworks/privacy/BUILD.gn index b452f0cda..48afddee9 100644 --- a/frameworks/privacy/BUILD.gn +++ b/frameworks/privacy/BUILD.gn @@ -23,6 +23,11 @@ ohos_shared_library("privacy_communication_adapter_cxx") { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "privacy_communication_adapter_cxx.map" + } + branch_protector_ret = "pac_ret" include_dirs = [ diff --git a/frameworks/privacy/privacy_communication_adapter_cxx.map b/frameworks/privacy/privacy_communication_adapter_cxx.map new file mode 100644 index 000000000..4e81eb810 --- /dev/null +++ b/frameworks/privacy/privacy_communication_adapter_cxx.map @@ -0,0 +1,57 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "VTT for OHOS::Security::AccessToken::AddPermParamInfoParcel"; + "vtable for OHOS::Security::AccessToken::AddPermParamInfoParcel"; + "VTT for OHOS::Security::AccessToken::PermissionUsedTypeInfoParcel"; + "vtable for OHOS::Security::AccessToken::PermissionUsedTypeInfoParcel"; + "VTT for OHOS::Security::AccessToken::PermissionUsedResultParcel"; + "vtable for OHOS::Security::AccessToken::PermissionUsedResultParcel"; + "VTT for OHOS::Security::AccessToken::PermissionUsedRequestParcel"; + "vtable for OHOS::Security::AccessToken::PermissionUsedRequestParcel"; + "VTT for OHOS::Security::AccessToken::SecCompEnhanceDataParcel"; + "vtable for OHOS::Security::AccessToken::SecCompEnhanceDataParcel"; + "VTT for OHOS::Security::AccessToken::ActiveChangeResponseParcel"; + "vtable for OHOS::Security::AccessToken::ActiveChangeResponseParcel"; + "VTT for OHOS::Security::AccessToken::PermissionUsedRecordParcel"; + "vtable for OHOS::Security::AccessToken::PermissionUsedRecordParcel"; + "VTT for OHOS::Security::AccessToken::UsedRecordDetailParcel"; + "vtable for OHOS::Security::AccessToken::UsedRecordDetailParcel"; + "VTT for OHOS::Security::AccessToken::BundleUsedRecordParcel"; + "vtable for OHOS::Security::AccessToken::BundleUsedRecordParcel"; + "OHOS::Security::AccessToken::AddPermParamInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionUsedTypeInfoParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionUsedResultParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionUsedRequestParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::SecCompEnhanceDataParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::ActiveChangeResponseParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::AddPermParamInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionUsedTypeInfoParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionUsedResultParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionUsedRequestParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::SecCompEnhanceDataParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::ActiveChangeResponseParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::PermissionUsedRecordParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::PermissionUsedRecordParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::UsedRecordDetailParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::UsedRecordDetailParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::BundleUsedRecordParcel::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::BundleUsedRecordParcel::Marshalling(OHOS::Parcel&) const"; + "OHOS::Security::AccessToken::TimeUtil::IsTimeStampsSameMinute(long long, long long)"; + }; + local: + *; +}; \ No newline at end of file diff --git a/interfaces/inner_api/el5filekeymanager/BUILD.gn b/interfaces/inner_api/el5filekeymanager/BUILD.gn index d4c36ca0d..4147e8cf1 100644 --- a/interfaces/inner_api/el5filekeymanager/BUILD.gn +++ b/interfaces/inner_api/el5filekeymanager/BUILD.gn @@ -28,6 +28,11 @@ ohos_shared_library("el5_filekey_manager_sdk") { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "el5_filekey_manager_sdk.map" + } + branch_protector_ret = "pac_ret" cflags_cc = [ diff --git a/interfaces/inner_api/el5filekeymanager/el5_filekey_manager_sdk.map b/interfaces/inner_api/el5filekeymanager/el5_filekey_manager_sdk.map new file mode 100644 index 000000000..1e40d082c --- /dev/null +++ b/interfaces/inner_api/el5filekeymanager/el5_filekey_manager_sdk.map @@ -0,0 +1,42 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "OHOS::Security::AccessToken::El5FilekeyManagerKit::AcquireAccess(OHOS::Security::AccessToken::DataLockType)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::ReleaseAccess(OHOS::Security::AccessToken::DataLockType)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::QueryAppKeyState(OHOS::Security::AccessToken::DataLockType)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::GenerateAppKey(unsigned int, std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator>&)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::GenerateGroupIDKey(unsigned int, std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator>&)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::DeleteAppKey(std::__h::basic_string, std::__h::allocator> const&, int)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::DeleteGroupIDKey(unsigned int, std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::GetUserAllAppKey(int, std::__h::vector, std::__h::allocator>>, std::__h::allocator, std::__h::allocator>>>>&)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::ChangeUserAppkeysLoadInfo(int, std::__h::vector, std::__h::allocator>, bool>, std::__h::allocator, std::__h::allocator>, bool>>>&)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::GetUserAppKey(int, std::__h::vector, std::__h::allocator>>, std::__h::allocator, std::__h::allocator>>>>&)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::RegisterCallback(OHOS::sptr const&)"; + "OHOS::Security::AccessToken::El5FilekeyManagerKit::SetFilePathPolicy()"; + "OHOS::Security::AccessToken::El5FilekeyCallbackStub::El5FilekeyCallbackStub()"; + "OHOS::Security::AccessToken::El5FilekeyCallbackStub::~El5FilekeyCallbackStub()"; + "OHOS::Security::AccessToken::El5FilekeyCallbackStub::OnRemoteRequest(unsigned int, OHOS::MessageParcel&, OHOS::MessageParcel&, OHOS::MessageOption&)"; + "OHOS::Security::AccessToken::AppKeyInfo::Unmarshalling(OHOS::Parcel&)"; + "OHOS::Security::AccessToken::AppKeyInfo::Marshalling(OHOS::Parcel&) const"; + "non-virtual thunk to OHOS::Security::AccessToken::El5FilekeyCallbackStub::~El5FilekeyCallbackStub()"; + "virtual thunk to OHOS::Security::AccessToken::El5FilekeyCallbackStub::~El5FilekeyCallbackStub()"; + "VTT for OHOS::Security::AccessToken::AppKeyInfo"; + "vtable for OHOS::Security::AccessToken::AppKeyInfo"; + ""; + }; + local: + *; +}; \ No newline at end of file diff --git a/interfaces/innerkits/accesstoken/BUILD.gn b/interfaces/innerkits/accesstoken/BUILD.gn index 72f24f1d6..a9cb5e550 100644 --- a/interfaces/innerkits/accesstoken/BUILD.gn +++ b/interfaces/innerkits/accesstoken/BUILD.gn @@ -102,6 +102,11 @@ if (is_standard_system) { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "libtokenid_sdk.map" + } + branch_protector_ret = "pac_ret" innerapi_tags = [ "platformsdk", diff --git a/interfaces/innerkits/accesstoken/libaccesstoken_sdk.map b/interfaces/innerkits/accesstoken/libaccesstoken_sdk.map index 19192e683..0c78aa073 100644 --- a/interfaces/innerkits/accesstoken/libaccesstoken_sdk.map +++ b/interfaces/innerkits/accesstoken/libaccesstoken_sdk.map @@ -45,6 +45,7 @@ "OHOS::Security::AccessToken::AccessTokenKit::DeleteRemoteDeviceTokens(std::__h::basic_string, std::__h::allocator> const&)"; "OHOS::Security::AccessToken::PermStateChangeCallbackCustomize::~PermStateChangeCallbackCustomize()"; "OHOS::Security::AccessToken::AccessTokenKit::GetDefPermission(std::__h::basic_string, std::__h::allocator> const&, OHOS::Security::AccessToken::PermissionDef&)"; + "OHOS::Security::AccessToken::AccessTokenKit::GetDefPermissions(unsigned int, std::__h::vector>&)"; "OHOS::Security::AccessToken::AccessTokenKit::GetReqPermissions(unsigned int, std::__h::vector>&, bool)"; "OHOS::Security::AccessToken::AccessTokenKit::VerifyAccessToken(unsigned int, std::__h::basic_string, std::__h::allocator> const&)"; "OHOS::Security::AccessToken::AccessTokenKit::VerifyAccessToken(unsigned int, std::__h::basic_string, std::__h::allocator> const&, bool)"; diff --git a/interfaces/innerkits/accesstoken/libtokenid_sdk.map b/interfaces/innerkits/accesstoken/libtokenid_sdk.map new file mode 100644 index 000000000..9d434949a --- /dev/null +++ b/interfaces/innerkits/accesstoken/libtokenid_sdk.map @@ -0,0 +1,28 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "OHOS::Security::AccessToken::TokenIdKit::IsSystemAppByFullTokenID(unsigned long long)"; + "OHOS::Security::AccessToken::TokenIdKit::IsSystemAppByFullTokenID(unsigned long)"; + "OHOS::Security::AccessToken::TokenIdKit::GetRenderTokenID(unsigned long long)"; + "OHOS::Security::AccessToken::TokenIdKit::GetRenderTokenID(unsigned long)"; + "GetSelfTokenID"; + "SetSelfTokenID"; + "SetFirstCallerTokenID"; + ""; + }; + local: + *; +}; diff --git a/interfaces/innerkits/analysis_model/BUILD.gn b/interfaces/innerkits/analysis_model/BUILD.gn index dd19cabba..ba437bcec 100644 --- a/interfaces/innerkits/analysis_model/BUILD.gn +++ b/interfaces/innerkits/analysis_model/BUILD.gn @@ -28,6 +28,12 @@ if (is_standard_system) { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "libcodesignature_analysis.map" + } + shlib_type = "sa" + branch_protector_ret = "pac_ret" public_configs = [ ":accesstoken" ] diff --git a/interfaces/innerkits/analysis_model/libcodesignature_analysis.map b/interfaces/innerkits/analysis_model/libcodesignature_analysis.map new file mode 100644 index 000000000..584482d09 --- /dev/null +++ b/interfaces/innerkits/analysis_model/libcodesignature_analysis.map @@ -0,0 +1,22 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "GetModelApi"; + ""; + }; + local: + *; +}; diff --git a/interfaces/innerkits/nativetoken/BUILD.gn b/interfaces/innerkits/nativetoken/BUILD.gn index 1caeae894..c3c7cf9fa 100644 --- a/interfaces/innerkits/nativetoken/BUILD.gn +++ b/interfaces/innerkits/nativetoken/BUILD.gn @@ -63,6 +63,12 @@ if (is_standard_system) { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "libnativetoken_shared.map" + } + shlib_type = "sa" + branch_protector_ret = "pac_ret" innerapi_tags = [ "platformsdk" ] public_configs = [ ":accesstokenlib" ] diff --git a/interfaces/innerkits/nativetoken/libnativetoken_shared.map b/interfaces/innerkits/nativetoken/libnativetoken_shared.map new file mode 100644 index 000000000..57b5d5275 --- /dev/null +++ b/interfaces/innerkits/nativetoken/libnativetoken_shared.map @@ -0,0 +1,43 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "g_isNativeTokenInited"; + "g_tokenListHead"; + "GetAccessTokenId"; + "GetFileBuff"; + "AtlibInit"; + "UpdateGoalItemFromRecord"; + "GetInfoArrFromJson"; + "GetAplFromJson"; + "GetTokenIdFromJson"; + "GetProcessNameFromJson"; + "FreeStrArray"; + "cJSON_GetObjectItemCaseSensitive"; + "cJSON_IsString"; + "cJSON_CreateArray"; + "cJSON_CreateString"; + "cJSON_AddItemToArray"; + "cJSON_CreateObject"; + "cJSON_HasObjectItem"; + "cJSON_GetStringValue"; + "cJSON_GetNumberValue"; + "cJSON_Parse"; + "cJSON_Delete"; + ""; + }; + local: + *; +}; \ No newline at end of file diff --git a/interfaces/innerkits/token_setproc/BUILD.gn b/interfaces/innerkits/token_setproc/BUILD.gn index 0b0d7d83a..bfa1d1727 100644 --- a/interfaces/innerkits/token_setproc/BUILD.gn +++ b/interfaces/innerkits/token_setproc/BUILD.gn @@ -43,6 +43,11 @@ if (is_standard_system) { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "libtokensetproc_shared.map" + } + branch_protector_ret = "pac_ret" innerapi_tags = [ "platformsdk" ] public_configs = [ ":setproc_config" ] diff --git a/interfaces/innerkits/token_setproc/libtokensetproc_shared.map b/interfaces/innerkits/token_setproc/libtokensetproc_shared.map new file mode 100644 index 000000000..dcd17b599 --- /dev/null +++ b/interfaces/innerkits/token_setproc/libtokensetproc_shared.map @@ -0,0 +1,24 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "GetSelfTokenID"; + "SetSelfTokenID"; + "SetFirstCallerTokenID"; + "GetFirstCallerTokenID"; + }; + local: + *; +}; diff --git a/interfaces/innerkits/tokensync/BUILD.gn b/interfaces/innerkits/tokensync/BUILD.gn index 4053b2bf1..290678205 100644 --- a/interfaces/innerkits/tokensync/BUILD.gn +++ b/interfaces/innerkits/tokensync/BUILD.gn @@ -28,6 +28,12 @@ if (is_standard_system) { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "libtokensync_sdk.map" + } + shlib_type = "sa" + branch_protector_ret = "pac_ret" output_name = "libtokensync_sdk" diff --git a/interfaces/innerkits/tokensync/libtokensync_sdk.map b/interfaces/innerkits/tokensync/libtokensync_sdk.map new file mode 100644 index 000000000..c9dc8f6ac --- /dev/null +++ b/interfaces/innerkits/tokensync/libtokensync_sdk.map @@ -0,0 +1,24 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "OHOS::Security::AccessToken::TokenSyncManagerClient::GetInstance()"; + "OHOS::Security::AccessToken::TokenSyncManagerClient::DeleteRemoteHapTokenInfo(unsigned int) const"; + "OHOS::Security::AccessToken::TokenSyncManagerClient::GetRemoteHapTokenInfo(std::__h::basic_string, std::__h::allocator> const&, unsigned int) const"; + "OHOS::Security::AccessToken::TokenSyncManagerClient::UpdateRemoteHapTokenInfo(OHOS::Security::AccessToken::HapTokenInfoForSync const&) const"; + }; + local: + *; +}; diff --git a/interfaces/kits/capi/accesstoken/BUILD.gn b/interfaces/kits/capi/accesstoken/BUILD.gn index 11093e09e..481c0c4fc 100644 --- a/interfaces/kits/capi/accesstoken/BUILD.gn +++ b/interfaces/kits/capi/accesstoken/BUILD.gn @@ -34,6 +34,8 @@ ohos_shared_library("libability_access_control") { sources = [ "src/ability_access_control.cpp" ] + shlib_type = "sa" + deps = [ "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk", "${access_token_path}/interfaces/innerkits/token_setproc:libtokensetproc_shared", diff --git a/interfaces/kits/cj/accesstoken/BUILD.gn b/interfaces/kits/cj/accesstoken/BUILD.gn index b2af68dca..d442e5512 100644 --- a/interfaces/kits/cj/accesstoken/BUILD.gn +++ b/interfaces/kits/cj/accesstoken/BUILD.gn @@ -24,6 +24,12 @@ ohos_shared_library("cj_ability_access_ctrl_ffi") { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "cj_ability_access_ctrl_ffi.map" + } + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ "${access_token_path}/frameworks/common/include", diff --git a/interfaces/kits/cj/accesstoken/cj_ability_access_ctrl_ffi.map b/interfaces/kits/cj/accesstoken/cj_ability_access_ctrl_ffi.map new file mode 100644 index 000000000..a69d7520b --- /dev/null +++ b/interfaces/kits/cj/accesstoken/cj_ability_access_ctrl_ffi.map @@ -0,0 +1,25 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "FfiOHOSAbilityAccessCtrlCheckAccessTokenSync"; + "FfiOHOSAbilityAccessCtrlRequestGlobalSwitch"; + "FfiOHOSAbilityAccessCtrlRequestPermissionOnSetting"; + "FfiOHOSAbilityAccessCtrlRequestPermissionsFromUser"; + "FfiOHOSAbilityAccessCtrlRequestPermissionsFromUserByStdFunc"; + }; + local: + *; +}; \ No newline at end of file diff --git a/interfaces/kits/cj/screenlockfilemanager/BUILD.gn b/interfaces/kits/cj/screenlockfilemanager/BUILD.gn index ff1dd353d..5d7607068 100644 --- a/interfaces/kits/cj/screenlockfilemanager/BUILD.gn +++ b/interfaces/kits/cj/screenlockfilemanager/BUILD.gn @@ -24,6 +24,12 @@ ohos_shared_library("cj_screen_lock_file_manager_ffi") { cfi_cross_dso = true debug = false } + + if (!use_clang_coverage) { + version_script = "cj_screen_lock_file_manager_ffi.map" + } + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ "${access_token_path}/frameworks/inner_api/el5filekeymanager/include", diff --git a/interfaces/kits/cj/screenlockfilemanager/cj_screen_lock_file_manager_ffi.map b/interfaces/kits/cj/screenlockfilemanager/cj_screen_lock_file_manager_ffi.map new file mode 100644 index 000000000..f6e397a66 --- /dev/null +++ b/interfaces/kits/cj/screenlockfilemanager/cj_screen_lock_file_manager_ffi.map @@ -0,0 +1,22 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "FfiOHOSScreenLockFileManagerAcquireAccess"; + "FfiOHOSScreenLockFileManagerReleaseAccess"; + }; + local: + *; +}; \ No newline at end of file diff --git a/services/accesstokenmanager/BUILD.gn b/services/accesstokenmanager/BUILD.gn index 9fa2fc93c..c051fa724 100644 --- a/services/accesstokenmanager/BUILD.gn +++ b/services/accesstokenmanager/BUILD.gn @@ -123,9 +123,12 @@ if (is_standard_system) { "${access_token_path}/interfaces/innerkits/privacy:libprivacy_sdk", "${access_token_path}/interfaces/innerkits/token_setproc:libperm_setproc", "${access_token_path}/interfaces/innerkits/token_setproc:libtoken_setproc", + "${access_token_path}/interfaces/innerkits/tokensync:libtokensync_sdk", "${access_token_path}/services/accesstokenmanager:access_token.rc", "${access_token_path}/services/accesstokenmanager:permission_definition_config", "${access_token_path}/services/common:accesstoken_service_common", + "${access_token_path}/services/common/ability_manager:accesstoken_ability_manager_adapter", + "${access_token_path}/services/common/json_parse:accesstoken_json_parse", ] deps += [ "etc:param_files" ] diff --git a/services/accesstokenmanager/test/unittest/BUILD.gn b/services/accesstokenmanager/test/unittest/BUILD.gn index 812c0a2a1..8d784b7bc 100644 --- a/services/accesstokenmanager/test/unittest/BUILD.gn +++ b/services/accesstokenmanager/test/unittest/BUILD.gn @@ -113,6 +113,8 @@ ohos_unittest("libaccesstoken_manager_service_standard_test") { "${access_token_path}/interfaces/innerkits/privacy:libprivacy_sdk", "${access_token_path}/interfaces/innerkits/token_setproc:libperm_setproc", "${access_token_path}/interfaces/innerkits/token_setproc:libtokensetproc_shared", + "${access_token_path}/interfaces/innerkits/tokensync:libtokensync_sdk", + "${access_token_path}/services/accesstokenmanager:accesstoken_manager_service", "${access_token_path}/services/common:accesstoken_service_common", ] diff --git a/services/common/ability_manager/BUILD.gn b/services/common/ability_manager/BUILD.gn index ba8f9d65f..23c3bed94 100644 --- a/services/common/ability_manager/BUILD.gn +++ b/services/common/ability_manager/BUILD.gn @@ -29,6 +29,9 @@ ohos_shared_library("accesstoken_ability_manager_adapter") { cfi_cross_dso = true debug = false } + + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ diff --git a/services/common/app_manager/BUILD.gn b/services/common/app_manager/BUILD.gn index a6026e7f2..2b819f6f6 100644 --- a/services/common/app_manager/BUILD.gn +++ b/services/common/app_manager/BUILD.gn @@ -22,6 +22,9 @@ ohos_shared_library("accesstoken_app_manager") { cfi_cross_dso = true debug = false } + + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ diff --git a/services/common/json_parse/BUILD.gn b/services/common/json_parse/BUILD.gn index 6b340009f..5b8894711 100644 --- a/services/common/json_parse/BUILD.gn +++ b/services/common/json_parse/BUILD.gn @@ -28,6 +28,9 @@ ohos_shared_library("accesstoken_json_parse") { cfi_cross_dso = true debug = false } + + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ @@ -73,6 +76,12 @@ ohos_shared_library("accesstoken_cjson_utils") { cfi_cross_dso = true debug = false } + if (!use_clang_coverage) { + version_script = "accesstoken_cjson_utils.map" + shlib_type = "sa" + } + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ diff --git a/services/common/json_parse/accesstoken_cjson_utils.map b/services/common/json_parse/accesstoken_cjson_utils.map new file mode 100644 index 000000000..adae03dd9 --- /dev/null +++ b/services/common/json_parse/accesstoken_cjson_utils.map @@ -0,0 +1,39 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + "OHOS::Security::AccessToken::GetStringFromJson(cJSON const*, std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator>&)"; + "OHOS::Security::AccessToken::GetIntFromJson(cJSON const*, std::__h::basic_string, std::__h::allocator> const&, int&)"; + "OHOS::Security::AccessToken::CreateJson()"; + "OHOS::Security::AccessToken::AddStringToJson(std::__h::unique_ptr>&, std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::AddIntToJson(std::__h::unique_ptr>&, std::__h::basic_string, std::__h::allocator> const&, int)"; + "OHOS::Security::AccessToken::AddStringToJson(cJSON*, std::__h::basic_string, std::__h::allocator> const&, std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::AddIntToJson(cJSON*, std::__h::basic_string, std::__h::allocator> const&, int)"; + "OHOS::Security::AccessToken::AddUnsignedIntToJson(cJSON*, std::__h::basic_string, std::__h::allocator> const&, unsigned int)"; + "OHOS::Security::AccessToken::CreateJsonArray()"; + "OHOS::Security::AccessToken::AddObjToArray(std::__h::unique_ptr>&, std::__h::unique_ptr>&)"; + "OHOS::Security::AccessToken::AddUnsignedIntToJson(std::__h::unique_ptr>&, std::__h::basic_string, std::__h::allocator> const&, unsigned int)"; + "OHOS::Security::AccessToken::AddObjToJson(std::__h::unique_ptr>&, std::__h::basic_string, std::__h::allocator> const&, std::__h::unique_ptr>&)"; + "OHOS::Security::AccessToken::GetUnsignedIntFromJson(cJSON const*, std::__h::basic_string, std::__h::allocator> const&, unsigned int&)"; + "OHOS::Security::AccessToken::GetArrayFromJson(cJSON const*, std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::PackJsonToString(std::__h::unique_ptr> const&)"; + "OHOS::Security::AccessToken::CreateJsonFromString(std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::GetUnsignedIntFromJson(std::__h::unique_ptr> const&, std::__h::basic_string, std::__h::allocator> const&, unsigned int&)"; + "OHOS::Security::AccessToken::GetObjFromJson(std::__h::unique_ptr>&, std::__h::basic_string, std::__h::allocator> const&)"; + "OHOS::Security::AccessToken::AddObjToArray(cJSON*, cJSON*)"; + }; + local: + *; +}; \ No newline at end of file diff --git a/services/common/screenlock_manager/BUILD.gn b/services/common/screenlock_manager/BUILD.gn index 8a03c4ba4..c51e92a88 100644 --- a/services/common/screenlock_manager/BUILD.gn +++ b/services/common/screenlock_manager/BUILD.gn @@ -28,6 +28,9 @@ ohos_shared_library("accesstoken_screenlock_manager") { cfi_cross_dso = true debug = false } + + shlib_type = "sa" + branch_protector_ret = "pac_ret" include_dirs = [ "include" ] diff --git a/services/privacymanager/BUILD.gn b/services/privacymanager/BUILD.gn index 24f932dbd..900a5ba94 100644 --- a/services/privacymanager/BUILD.gn +++ b/services/privacymanager/BUILD.gn @@ -107,7 +107,10 @@ if (is_standard_system && ability_base_enable == true) { "${access_token_path}/interfaces/innerkits/accesstoken:libaccesstoken_sdk", "${access_token_path}/interfaces/innerkits/accesstoken:libtokenid_sdk", "${access_token_path}/services/common:accesstoken_service_common", + "${access_token_path}/services/common/ability_manager:accesstoken_ability_manager_adapter", + "${access_token_path}/services/common/json_parse:accesstoken_json_parse", "${access_token_path}/services/common/proxy_death:proxy_death_handler", + "${access_token_path}/services/common/screenlock_manager:accesstoken_screenlock_manager", "${access_token_path}/services/privacymanager:privacy.rc", ] diff --git a/services/privacymanager/test/unittest/BUILD.gn b/services/privacymanager/test/unittest/BUILD.gn index 1520b904c..ca8807755 100644 --- a/services/privacymanager/test/unittest/BUILD.gn +++ b/services/privacymanager/test/unittest/BUILD.gn @@ -88,6 +88,7 @@ if (is_standard_system && ability_base_enable == true) { "${access_token_path}/interfaces/innerkits/accesstoken:libtokenid_sdk", "${access_token_path}/interfaces/innerkits/privacy:libprivacy_sdk", "${access_token_path}/interfaces/innerkits/token_setproc:libtokensetproc_shared", + "${access_token_path}/services/accesstokenmanager:accesstoken_manager_service", "${access_token_path}/services/common:accesstoken_service_common", "${access_token_path}/services/common/proxy_death:proxy_death_handler", "${access_token_path}/services/common/proxy_death:proxy_death_stub", diff --git a/services/tokensyncmanager/BUILD.gn b/services/tokensyncmanager/BUILD.gn index 74841d7b3..4093b983b 100644 --- a/services/tokensyncmanager/BUILD.gn +++ b/services/tokensyncmanager/BUILD.gn @@ -104,6 +104,7 @@ if (token_sync_enable == true) { "${access_token_path}/interfaces/innerkits/token_setproc:libtoken_setproc", "${access_token_path}/services/common:accesstoken_service_common", "${access_token_path}/services/common/json_parse:accesstoken_cjson_utils", + "${access_token_path}/services/common/json_parse:accesstoken_json_parse", "${access_token_path}/services/tokensyncmanager:token_sync.rc", ] -- Gitee From 90108c9c482fd2b24d1f6f1d233c22d6966cfb12 Mon Sep 17 00:00:00 2001 From: luowei Date: Fri, 14 Mar 2025 11:09:14 +0800 Subject: [PATCH 2/5] sa symbol opt Signed-off-by: luowei --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bb879da5a..3e5eb956e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,7 +4,7 @@ "C_Cpp_Runner.debuggerPath": "gdb", "C_Cpp_Runner.cStandard": "", "C_Cpp_Runner.cppStandard": "", - "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", + "C_Cpp_Runner.msvcBatchPath": "", "C_Cpp_Runner.useMsvc": false, "C_Cpp_Runner.warnings": [ "-Wall", -- Gitee From b83739be1f8ae83759a6ce977ce511fb8a1fb4cb Mon Sep 17 00:00:00 2001 From: luowei Date: Fri, 14 Mar 2025 11:12:08 +0800 Subject: [PATCH 3/5] sa symbol opt Signed-off-by: luowei --- .vscode/c_cpp_properties.json | 18 ----------- .vscode/launch.json | 24 -------------- .vscode/settings.json | 59 ----------------------------------- 3 files changed, 101 deletions(-) delete mode 100644 .vscode/c_cpp_properties.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index c2098a2d0..000000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "configurations": [ - { - "name": "linux-gcc-x64", - "includePath": [ - "${workspaceFolder}/**" - ], - "compilerPath": "/usr/bin/gcc", - "cStandard": "${default}", - "cppStandard": "${default}", - "intelliSenseMode": "linux-gcc-x64", - "compilerArgs": [ - "" - ] - } - ], - "version": 4 -} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index a137a6965..000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "C/C++ Runner: Debug Session", - "type": "cppdbg", - "request": "launch", - "args": [], - "stopAtEntry": false, - "externalConsole": false, - "cwd": "/home/lw/security_access_token/services/common/libraryloader/src", - "program": "/home/lw/security_access_token/services/common/libraryloader/src/build/Debug/outDebug", - "MIMode": "gdb", - "miDebuggerPath": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - } - ] - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 3e5eb956e..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "C_Cpp_Runner.cCompilerPath": "gcc", - "C_Cpp_Runner.cppCompilerPath": "g++", - "C_Cpp_Runner.debuggerPath": "gdb", - "C_Cpp_Runner.cStandard": "", - "C_Cpp_Runner.cppStandard": "", - "C_Cpp_Runner.msvcBatchPath": "", - "C_Cpp_Runner.useMsvc": false, - "C_Cpp_Runner.warnings": [ - "-Wall", - "-Wextra", - "-Wpedantic", - "-Wshadow", - "-Wformat=2", - "-Wcast-align", - "-Wconversion", - "-Wsign-conversion", - "-Wnull-dereference" - ], - "C_Cpp_Runner.msvcWarnings": [ - "/W4", - "/permissive-", - "/w14242", - "/w14287", - "/w14296", - "/w14311", - "/w14826", - "/w44062", - "/w44242", - "/w14905", - "/w14906", - "/w14263", - "/w44265", - "/w14928" - ], - "C_Cpp_Runner.enableWarnings": true, - "C_Cpp_Runner.warningsAsError": false, - "C_Cpp_Runner.compilerArgs": [], - "C_Cpp_Runner.linkerArgs": [], - "C_Cpp_Runner.includePaths": [], - "C_Cpp_Runner.includeSearch": [ - "*", - "**/*" - ], - "C_Cpp_Runner.excludeSearch": [ - "**/build", - "**/build/**", - "**/.*", - "**/.*/**", - "**/.vscode", - "**/.vscode/**" - ], - "C_Cpp_Runner.useAddressSanitizer": false, - "C_Cpp_Runner.useUndefinedSanitizer": false, - "C_Cpp_Runner.useLeakSanitizer": false, - "C_Cpp_Runner.showCompilationTime": false, - "C_Cpp_Runner.useLinkTimeOptimization": false, - "C_Cpp_Runner.msvcSecureNoWarnings": false -} \ No newline at end of file -- Gitee From 05b1e1471c6b1ca3a3a31c5818e681e56a446c2d Mon Sep 17 00:00:00 2001 From: luowei Date: Fri, 14 Mar 2025 14:38:42 +0800 Subject: [PATCH 4/5] sa symbol opt Signed-off-by: luowei --- .vscode/c_cpp_properties.json | 18 ++++++ .vscode/launch.json | 24 ++++++++ .vscode/settings.json | 59 +++++++++++++++++++ interfaces/kits/capi/accesstoken/BUILD.gn | 3 + .../accesstoken/libability_access_control.map | 20 +++++++ services/common/ability_manager/BUILD.gn | 3 + .../accesstoken_ability_manager_adapter.map | 20 +++++++ services/common/app_manager/BUILD.gn | 3 + .../app_manager/accesstoken_app_manager.map | 20 +++++++ services/common/json_parse/BUILD.gn | 5 +- .../json_parse/accesstoken_json_parse.map | 20 +++++++ services/common/screenlock_manager/BUILD.gn | 3 + .../accesstoken_screenlock_manager.map | 20 +++++++ services/el5filekeymanager/BUILD.gn | 4 ++ .../el5_filekey_manager_service.map | 20 +++++++ 15 files changed, 240 insertions(+), 2 deletions(-) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 interfaces/kits/capi/accesstoken/libability_access_control.map create mode 100644 services/common/ability_manager/accesstoken_ability_manager_adapter.map create mode 100644 services/common/app_manager/accesstoken_app_manager.map create mode 100644 services/common/json_parse/accesstoken_json_parse.map create mode 100644 services/common/screenlock_manager/accesstoken_screenlock_manager.map create mode 100644 services/el5filekeymanager/el5_filekey_manager_service.map diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 000000000..c2098a2d0 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..a137a6965 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/home/lw/security_access_token/services/common/libraryloader/src", + "program": "/home/lw/security_access_token/services/common/libraryloader/src/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..bb879da5a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,59 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "C_Cpp_Runner.msvcSecureNoWarnings": false +} \ No newline at end of file diff --git a/interfaces/kits/capi/accesstoken/BUILD.gn b/interfaces/kits/capi/accesstoken/BUILD.gn index 481c0c4fc..5d93f20bf 100644 --- a/interfaces/kits/capi/accesstoken/BUILD.gn +++ b/interfaces/kits/capi/accesstoken/BUILD.gn @@ -34,6 +34,9 @@ ohos_shared_library("libability_access_control") { sources = [ "src/ability_access_control.cpp" ] + if (!use_clang_coverage) { + version_script = "libability_access_control.map" + } shlib_type = "sa" deps = [ diff --git a/interfaces/kits/capi/accesstoken/libability_access_control.map b/interfaces/kits/capi/accesstoken/libability_access_control.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/interfaces/kits/capi/accesstoken/libability_access_control.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/services/common/ability_manager/BUILD.gn b/services/common/ability_manager/BUILD.gn index 23c3bed94..2cba6147a 100644 --- a/services/common/ability_manager/BUILD.gn +++ b/services/common/ability_manager/BUILD.gn @@ -30,6 +30,9 @@ ohos_shared_library("accesstoken_ability_manager_adapter") { debug = false } + if (!use_clang_coverage) { + version_script = "accesstoken_ability_manager_adapter.map" + } shlib_type = "sa" branch_protector_ret = "pac_ret" diff --git a/services/common/ability_manager/accesstoken_ability_manager_adapter.map b/services/common/ability_manager/accesstoken_ability_manager_adapter.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/services/common/ability_manager/accesstoken_ability_manager_adapter.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/services/common/app_manager/BUILD.gn b/services/common/app_manager/BUILD.gn index 2b819f6f6..a96fe8102 100644 --- a/services/common/app_manager/BUILD.gn +++ b/services/common/app_manager/BUILD.gn @@ -23,6 +23,9 @@ ohos_shared_library("accesstoken_app_manager") { debug = false } + if (!use_clang_coverage) { + version_script = "accesstoken_app_manager.map" + } shlib_type = "sa" branch_protector_ret = "pac_ret" diff --git a/services/common/app_manager/accesstoken_app_manager.map b/services/common/app_manager/accesstoken_app_manager.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/services/common/app_manager/accesstoken_app_manager.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/services/common/json_parse/BUILD.gn b/services/common/json_parse/BUILD.gn index 5b8894711..145c8ccf2 100644 --- a/services/common/json_parse/BUILD.gn +++ b/services/common/json_parse/BUILD.gn @@ -28,7 +28,9 @@ ohos_shared_library("accesstoken_json_parse") { cfi_cross_dso = true debug = false } - + if (!use_clang_coverage) { + version_script = "accesstoken_json_parse.map" + } shlib_type = "sa" branch_protector_ret = "pac_ret" @@ -78,7 +80,6 @@ ohos_shared_library("accesstoken_cjson_utils") { } if (!use_clang_coverage) { version_script = "accesstoken_cjson_utils.map" - shlib_type = "sa" } shlib_type = "sa" diff --git a/services/common/json_parse/accesstoken_json_parse.map b/services/common/json_parse/accesstoken_json_parse.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/services/common/json_parse/accesstoken_json_parse.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/services/common/screenlock_manager/BUILD.gn b/services/common/screenlock_manager/BUILD.gn index c51e92a88..2d3393770 100644 --- a/services/common/screenlock_manager/BUILD.gn +++ b/services/common/screenlock_manager/BUILD.gn @@ -29,6 +29,9 @@ ohos_shared_library("accesstoken_screenlock_manager") { debug = false } + if (!use_clang_coverage) { + version_script = "accesstoken_screenlock_manager.map" + } shlib_type = "sa" branch_protector_ret = "pac_ret" diff --git a/services/common/screenlock_manager/accesstoken_screenlock_manager.map b/services/common/screenlock_manager/accesstoken_screenlock_manager.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/services/common/screenlock_manager/accesstoken_screenlock_manager.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file diff --git a/services/el5filekeymanager/BUILD.gn b/services/el5filekeymanager/BUILD.gn index b2445cc32..98898b019 100644 --- a/services/el5filekeymanager/BUILD.gn +++ b/services/el5filekeymanager/BUILD.gn @@ -42,7 +42,11 @@ if (is_standard_system && ability_base_enable == true) { } branch_protector_ret = "pac_ret" + if (!use_clang_coverage) { + version_script = "el5_filekey_manager_service.map" + } shlib_type = "sa" + cflags = [] cflags_cc = [ "-fdata-sections", diff --git a/services/el5filekeymanager/el5_filekey_manager_service.map b/services/el5filekeymanager/el5_filekey_manager_service.map new file mode 100644 index 000000000..ff09ec0f9 --- /dev/null +++ b/services/el5filekeymanager/el5_filekey_manager_service.map @@ -0,0 +1,20 @@ +# Copyright (c) 2023 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. + +1.0 { + global: + extern "C++" { + }; + local: + *; +}; \ No newline at end of file -- Gitee From e77b17b3842a6d1f74fb37d5a7983515680fc4d5 Mon Sep 17 00:00:00 2001 From: luowei Date: Fri, 14 Mar 2025 14:41:13 +0800 Subject: [PATCH 5/5] sa symbol opt Signed-off-by: luowei --- .vscode/c_cpp_properties.json | 18 ----------- .vscode/launch.json | 24 -------------- .vscode/settings.json | 59 ----------------------------------- 3 files changed, 101 deletions(-) delete mode 100644 .vscode/c_cpp_properties.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index c2098a2d0..000000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "configurations": [ - { - "name": "linux-gcc-x64", - "includePath": [ - "${workspaceFolder}/**" - ], - "compilerPath": "/usr/bin/gcc", - "cStandard": "${default}", - "cppStandard": "${default}", - "intelliSenseMode": "linux-gcc-x64", - "compilerArgs": [ - "" - ] - } - ], - "version": 4 -} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index a137a6965..000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "C/C++ Runner: Debug Session", - "type": "cppdbg", - "request": "launch", - "args": [], - "stopAtEntry": false, - "externalConsole": false, - "cwd": "/home/lw/security_access_token/services/common/libraryloader/src", - "program": "/home/lw/security_access_token/services/common/libraryloader/src/build/Debug/outDebug", - "MIMode": "gdb", - "miDebuggerPath": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - } - ] - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index bb879da5a..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "C_Cpp_Runner.cCompilerPath": "gcc", - "C_Cpp_Runner.cppCompilerPath": "g++", - "C_Cpp_Runner.debuggerPath": "gdb", - "C_Cpp_Runner.cStandard": "", - "C_Cpp_Runner.cppStandard": "", - "C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/VR_NR/Community/VC/Auxiliary/Build/vcvarsall.bat", - "C_Cpp_Runner.useMsvc": false, - "C_Cpp_Runner.warnings": [ - "-Wall", - "-Wextra", - "-Wpedantic", - "-Wshadow", - "-Wformat=2", - "-Wcast-align", - "-Wconversion", - "-Wsign-conversion", - "-Wnull-dereference" - ], - "C_Cpp_Runner.msvcWarnings": [ - "/W4", - "/permissive-", - "/w14242", - "/w14287", - "/w14296", - "/w14311", - "/w14826", - "/w44062", - "/w44242", - "/w14905", - "/w14906", - "/w14263", - "/w44265", - "/w14928" - ], - "C_Cpp_Runner.enableWarnings": true, - "C_Cpp_Runner.warningsAsError": false, - "C_Cpp_Runner.compilerArgs": [], - "C_Cpp_Runner.linkerArgs": [], - "C_Cpp_Runner.includePaths": [], - "C_Cpp_Runner.includeSearch": [ - "*", - "**/*" - ], - "C_Cpp_Runner.excludeSearch": [ - "**/build", - "**/build/**", - "**/.*", - "**/.*/**", - "**/.vscode", - "**/.vscode/**" - ], - "C_Cpp_Runner.useAddressSanitizer": false, - "C_Cpp_Runner.useUndefinedSanitizer": false, - "C_Cpp_Runner.useLeakSanitizer": false, - "C_Cpp_Runner.showCompilationTime": false, - "C_Cpp_Runner.useLinkTimeOptimization": false, - "C_Cpp_Runner.msvcSecureNoWarnings": false -} \ No newline at end of file -- Gitee