1/*
2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15#include "permission_map.h"
16
17#include <map>
18#include <string>
19#include <vector>
20
21namespace OHOS {
22namespace Security {
23namespace AccessToken {
24const static uint32_t MAX_PERM_SIZE = 2048;
25/*
26Permission code must be a number between 0 and OP_MAX.
27The number must be added sequentially.
28*/
29const static std::vector<std::pair<std::string, bool>> g_permMap = {
30    /* first: permission name, second: true-user_grant/false-system_grant */
31    {"ohos.permission.ANSWER_CALL",             true},
32    {"ohos.permission.READ_CALENDAR",           true},
33    {"ohos.permission.READ_CALL_LOG",           true},
34    {"ohos.permission.READ_CELL_MESSAGES",      true},
35    {"ohos.permission.READ_CONTACTS",           true},
36    {"ohos.permission.READ_MESSAGES",           true},
37    {"ohos.permission.RECEIVE_MMS",             true},
38    {"ohos.permission.RECEIVE_SMS",             true},
39    {"ohos.permission.RECEIVE_WAP_MESSAGES",    true},
40    {"ohos.permission.MICROPHONE",              true},
41    {"ohos.permission.SEND_MESSAGES",           true},
42    {"ohos.permission.WRITE_CALENDAR",          true},
43    {"ohos.permission.WRITE_CALL_LOG",          true},
44    {"ohos.permission.WRITE_CONTACTS",          true},
45    {"ohos.permission.DISTRIBUTED_DATASYNC",    true},
46    {"ohos.permission.MANAGE_VOICEMAIL",        true},
47    {"ohos.permission.LOCATION_IN_BACKGROUND",  true},
48    {"ohos.permission.LOCATION",                true},
49    {"ohos.permission.APPROXIMATELY_LOCATION",  true},
50    {"ohos.permission.MEDIA_LOCATION",          true},
51    {"ohos.permission.CAMERA",                  true},
52    {"ohos.permission.READ_MEDIA",              true},
53    {"ohos.permission.WRITE_MEDIA",             true},
54    {"ohos.permission.ACTIVITY_MOTION",         true},
55    {"ohos.permission.READ_HEALTH_DATA",        true},
56    {"ohos.permission.READ_IMAGEVIDEO",         true},
57    {"ohos.permission.READ_AUDIO",              true},
58    {"ohos.permission.READ_DOCUMENT",           true},
59    {"ohos.permission.WRITE_IMAGEVIDEO",        true},
60    {"ohos.permission.WRITE_AUDIO",             true},
61    {"ohos.permission.WRITE_DOCUMENT",          true},
62    {"ohos.permission.READ_WHOLE_CALENDAR",     true},
63    {"ohos.permission.WRITE_WHOLE_CALENDAR",    true},
64    {"ohos.permission.APP_TRACKING_CONSENT",    true},
65    {"ohos.permission.GET_INSTALLED_BUNDLE_LIST", true},
66    {"ohos.permission.ACCESS_BLUETOOTH",        true},
67    {"ohos.permission.READ_PASTEBOARD",         true},
68    {"ohos.permission.READ_WRITE_DOWNLOAD_DIRECTORY", true},
69    {"ohos.permission.READ_WRITE_DOCUMENTS_DIRECTORY", true},
70    {"ohos.permission.READ_WRITE_DESKTOP_DIRECTORY", true},
71    {"ohos.permission.SHORT_TERM_WRITE_IMAGEVIDEO", true},
72    {"ohos.permission.ACCESS_NEARLINK", true},
73    {"ohos.permission.CUSTOM_SCREEN_CAPTURE", true},
74    {"ohos.permission.USE_BLUETOOTH",           false},
75    {"ohos.permission.DISCOVER_BLUETOOTH",      false},
76    {"ohos.permission.MANAGE_BLUETOOTH",        false},
77    {"ohos.permission.GET_BLUETOOTH_LOCAL_MAC", false},
78    {"ohos.permission.GET_BLUETOOTH_PEERS_MAC", false},
79    {"ohos.permission.INTERNET",                false},
80    {"ohos.permission.GET_APP_DOMAIN_BUNDLE_INFO",  false},
81    {"ohos.permission.MODIFY_AUDIO_SETTINGS",   false},
82    {"ohos.permission.ACCESS_NOTIFICATION_POLICY", false},
83    {"ohos.permission.GET_TELEPHONY_STATE",     false},
84    {"ohos.permission.GET_PHONE_NUMBERS",       false},
85    {"ohos.permission.DISTRIBUTED_SOFTBUS_CENTER", false},
86    {"ohos.permission.REQUIRE_FORM",            false},
87    {"ohos.permission.AGENT_REQUIRE_FORM",      false},
88    {"ohos.permission.GET_NETWORK_INFO",        false},
89    {"ohos.permission.PLACE_CALL",              false},
90    {"ohos.permission.SET_NETWORK_INFO",        false},
91    {"ohos.permission.REMOVE_CACHE_FILES",      false},
92    {"ohos.permission.REBOOT",                  false},
93    {"ohos.permission.RUNNING_LOCK",            false},
94    {"ohos.permission.SET_TIME",                false},
95    {"ohos.permission.SET_TIME_ZONE",           false},
96    {"ohos.permission.DOWNLOAD_SESSION_MANAGER", false},
97    {"ohos.permission.COMMONEVENT_STICKY",      false},
98    {"ohos.permission.SYSTEM_FLOAT_WINDOW",     false},
99    {"ohos.permission.PRIVACY_WINDOW",          false},
100    {"ohos.permission.POWER_MANAGER",           false},
101    {"ohos.permission.REFRESH_USER_ACTION",     false},
102    {"ohos.permission.POWER_OPTIMIZATION",      false},
103    {"ohos.permission.REBOOT_RECOVERY",         false},
104    {"ohos.permission.MANAGE_LOCAL_ACCOUNTS",   false},
105    {"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS", false},
106    {"ohos.permission.VIBRATE",                 false},
107    {"ohos.permission.SYSTEM_LIGHT_CONTROL",    false},
108    {"ohos.permission.CONNECT_IME_ABILITY",     false},
109    {"ohos.permission.CONNECT_SCREEN_SAVER_ABILITY", false},
110    {"ohos.permission.READ_SCREEN_SAVER",       false},
111    {"ohos.permission.WRITE_SCREEN_SAVER",      false},
112    {"ohos.permission.SET_WALLPAPER",           false},
113    {"ohos.permission.GET_WALLPAPER",           false},
114    {"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", false},
115    {"ohos.permission.ACCESS_MISSIONS",         false},
116    {"ohos.permission.CLEAN_BACKGROUND_PROCESSES", false},
117    {"ohos.permission.KEEP_BACKGROUND_RUNNING", false},
118    {"ohos.permission.UPDATE_CONFIGURATION",    false},
119    {"ohos.permission.UPDATE_SYSTEM",           false},
120    {"ohos.permission.FACTORY_RESET",           false},
121    {"ohos.permission.ASSIST_DEVICE_UPDATE",    false},
122    {"ohos.permission.RECEIVE_UPDATE_MESSAGE",    false},
123    {"ohos.permission.UPDATE_MIGRATE",          false},
124    {"ohos.permission.GRANT_SENSITIVE_PERMISSIONS", false},
125    {"ohos.permission.REVOKE_SENSITIVE_PERMISSIONS", false},
126    {"ohos.permission.GET_SENSITIVE_PERMISSIONS", false},
127    {"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION", false},
128    {"ohos.permission.LISTEN_BUNDLE_CHANGE",    false},
129    {"ohos.permission.GET_BUNDLE_INFO",         false},
130    {"ohos.permission.ACCELEROMETER",           false},
131    {"ohos.permission.GYROSCOPE",               false},
132    {"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", false},
133    {"ohos.permission.INSTALL_BUNDLE",          false},
134    {"ohos.permission.MANAGE_SHORTCUTS",        false},
135    {"ohos.permission.radio.ACCESS_FM_AM",      false},
136    {"ohos.permission.SET_TELEPHONY_STATE",     false},
137    {"ohos.permission.ACCESS_BOOSTER_SERVICE", false},
138    {"ohos.permission.START_ABILIIES_FROM_BACKGROUND", false},
139    {"ohos.permission.START_ABILITIES_FROM_BACKGROUND", false},
140    {"ohos.permission.BUNDLE_ACTIVE_INFO",      false},
141    {"ohos.permission.START_INVISIBLE_ABILITY", false},
142    {"ohos.permission.sec.ACCESS_UDID",         false},
143    {"ohos.permission.LAUNCH_DATA_PRIVACY_CENTER", false},
144    {"ohos.permission.MANAGE_MEDIA_RESOURCES",  false},
145    {"ohos.permission.PUBLISH_AGENT_REMINDER",  false},
146    {"ohos.permission.CONTROL_TASK_SYNC_ANIMATOR", false},
147    {"ohos.permission.INPUT_MONITORING",        false},
148    {"ohos.permission.MANAGE_MISSIONS",         false},
149    {"ohos.permission.NOTIFICATION_CONTROLLER", false},
150    {"ohos.permission.CONNECTIVITY_INTERNAL",   false},
151    {"ohos.permission.MANAGE_NET_STRATEGY",     false},
152    {"ohos.permission.GET_NETWORK_STATS",       false},
153    {"ohos.permission.MANAGE_VPN",              false},
154    {"ohos.permission.SET_ABILITY_CONTROLLER",  false},
155    {"ohos.permission.USE_USER_IDM",            false},
156    {"ohos.permission.MANAGE_USER_IDM",         false},
157    {"ohos.permission.NETSYS_INTERNAL",         false},
158    {"ohos.permission.ACCESS_BIOMETRIC",        false},
159    {"ohos.permission.ACCESS_USER_AUTH_INTERNAL", false},
160    {"ohos.permission.MANAGE_FINGERPRINT_AUTH", false},
161    {"ohos.permission.ACCESS_PIN_AUTH",         false},
162    {"ohos.permission.ACCESS_AUTH_RESPOOL",     false},
163    {"ohos.permission.ENFORCE_USER_IDM",        false},
164    {"ohos.permission.GET_RUNNING_INFO",        false},
165    {"ohos.permission.CLEAN_APPLICATION_DATA",  false},
166    {"ohos.permission.RUNNING_STATE_OBSERVER",  false},
167    {"ohos.permission.CAPTURE_SCREEN",          false},
168    {"ohos.permission.GET_WIFI_INFO",           false},
169    {"ohos.permission.GET_WIFI_INFO_INTERNAL",  false},
170    {"ohos.permission.SET_WIFI_INFO",           false},
171    {"ohos.permission.GET_WIFI_PEERS_MAC",      false},
172    {"ohos.permission.GET_WIFI_LOCAL_MAC",      false},
173    {"ohos.permission.GET_WIFI_CONFIG",         false},
174    {"ohos.permission.SET_WIFI_CONFIG",         false},
175    {"ohos.permission.MANAGE_WIFI_CONNECTION",  false},
176    {"ohos.permission.DUMP",                    false},
177    {"ohos.permission.MANAGE_WIFI_HOTSPOT",     false},
178    {"ohos.permission.GET_ALL_APP_ACCOUNTS",    false},
179    {"ohos.permission.MANAGE_SECURE_SETTINGS",  false},
180    {"ohos.permission.READ_DFX_SYSEVENT",       false},
181    {"ohos.permission.READ_HIVIEW_SYSTEM",      false},
182    {"ohos.permission.READ_DFX_XPOWER",         false},
183    {"ohos.permission.WRITE_HIVIEW_SYSTEM",     false},
184    {"ohos.permission.SUBSCRIBE_SWING_ABILITY",     false},
185    {"ohos.permission.MANAGER_SWING_MOTION",     false},
186    {"ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN",      false},
187    {"ohos.permission.SET_ENTERPRISE_INFO",                 false},
188    {"ohos.permission.ACCESS_BUNDLE_DIR",                   false},
189    {"ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT",  false},
190    {"ohos.permission.ENTERPRISE_SET_DATETIME",             false},
191    {"ohos.permission.ENTERPRISE_GET_DEVICE_INFO",          false},
192    {"ohos.permission.ENTERPRISE_RESET_DEVICE",             false},
193    {"ohos.permission.ENTERPRISE_SET_WIFI",                 false},
194    {"ohos.permission.ENTERPRISE_GET_NETWORK_INFO",         false},
195    {"ohos.permission.ENTERPRISE_SET_ACCOUNT_POLICY",       false},
196    {"ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY", false},
197    {"ohos.permission.ENTERPRISE_SET_NETWORK",              false},
198    {"ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY", false},
199    {"ohos.permission.ENTERPRISE_SET_SCREENOFF_TIME",       false},
200    {"ohos.permission.ENTERPRISE_MANAGE_SECURITY",          false},
201    {"ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH",         false},
202    {"ohos.permission.ENTERPRISE_MANAGE_WIFI",              false},
203    {"ohos.permission.ENTERPRISE_MANAGE_RESTRICTIONS",      false},
204    {"ohos.permission.ENTERPRISE_MANAGE_APPLICATION",       false},
205    {"ohos.permission.ENTERPRISE_MANAGE_LOCATION",          false},
206    {"ohos.permission.ENTERPRISE_REBOOT",                   false},
207    {"ohos.permission.ENTERPRISE_LOCK_DEVICE",              false},
208    {"ohos.permission.ENTERPRISE_GET_SETTINGS",             false},
209    {"ohos.permission.ENTERPRISE_MANAGE_SETTINGS",          false},
210    {"ohos.permission.ENTERPRISE_INSTALL_BUNDLE",           false},
211    {"ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE",       false},
212    {"ohos.permission.ENTERPRISE_MANAGE_SYSTEM",            false},
213    {"ohos.permission.ENTERPRISE_RESTRICT_POLICY",          false},
214    {"ohos.permission.ENTERPRISE_MANAGE_USB",               false},
215    {"ohos.permission.ENTERPRISE_MANAGE_NETWORK",           false},
216    {"ohos.permission.ENTERPRISE_SET_BROWSER_POLICY",       false},
217    {"ohos.permission.ENTERPRISE_OPERATE_DEVICE",           false},
218    {"ohos.permission.ENTERPRISE_ADMIN_MANAGE",             false},
219    {"ohos.permission.ENTERPRISE_CONFIG",                   false},
220    {"ohos.permission.NFC_TAG",                             false},
221    {"ohos.permission.NFC_CARD_EMULATION",                  false},
222    {"ohos.permission.MANAGE_UWB",                          false},
223    {"ohos.permission.USE_UWB_RANGING",                     false},
224    {"ohos.permission.PERMISSION_USED_STATS",               false},
225    {"ohos.permission.NOTIFICATION_AGENT_CONTROLLER",       false},
226    {"ohos.permission.MOUNT_UNMOUNT_MANAGER",               false},
227    {"ohos.permission.MOUNT_FORMAT_MANAGER",                false},
228    {"ohos.permission.STORAGE_MANAGER",                     false},
229    {"ohos.permission.BACKUP",                              false},
230    {"ohos.permission.CLOUDFILE_SYNC_MANAGER",              false},
231    {"ohos.permission.CLOUDFILE_SYNC",                      false},
232    {"ohos.permission.FILE_ACCESS_MANAGER",                 false},
233    {"ohos.permission.GET_DEFAULT_APPLICATION",             false},
234    {"ohos.permission.SET_DEFAULT_APPLICATION",             false},
235    {"ohos.permission.ACCESS_IDS",                          false},
236    {"ohos.permission.MANAGE_DISPOSED_APP_STATUS",          false},
237    {"ohos.permission.GET_DISPOSED_APP_STATUS",          false},
238    {"ohos.permission.ACCESS_DLP_FILE",                     false},
239    {"ohos.permission.PROVISIONING_MESSAGE",                false},
240    {"ohos.permission.ACCESS_SYSTEM_SETTINGS",              false},
241    {"ohos.permission.ABILITY_BACKGROUND_COMMUNICATION",    false},
242    {"ohos.permission.securityguard.REPORT_SECURITY_INFO",  false},
243    {"ohos.permission.securityguard.REQUEST_SECURITY_MODEL_RESULT", false},
244    {"ohos.permission.securityguard.REQUEST_SECURITY_EVENT_INFO",   false},
245    {"ohos.permission.ACCESS_CERT_MANAGER_INTERNAL",        false},
246    {"ohos.permission.ACCESS_CERT_MANAGER",                 false},
247    {"ohos.permission.GET_LOCAL_ACCOUNTS",                  false},
248    {"ohos.permission.MANAGE_DISTRIBUTED_ACCOUNTS",         false},
249    {"ohos.permission.GET_DISTRIBUTED_ACCOUNTS",            false},
250    {"ohos.permission.READ_ACCESSIBILITY_CONFIG",           false},
251    {"ohos.permission.WRITE_ACCESSIBILITY_CONFIG",          false},
252    {"ohos.permission.ACCESS_PUSH_SERVICE",                 false},
253    {"ohos.permission.READ_APP_PUSH_DATA",                  false},
254    {"ohos.permission.WRITE_APP_PUSH_DATA",                 false},
255    {"ohos.permission.MANAGE_AUDIO_CONFIG",                 false},
256    {"ohos.permission.MANAGE_CAMERA_CONFIG",                false},
257    {"ohos.permission.CAMERA_CONTROL",                      false},
258    {"ohos.permission.RECEIVER_STARTUP_COMPLETED",          false},
259    {"ohos.permission.ACCESS_SERVICE_DM",                   false},
260    {"ohos.permission.RUN_ANY_CODE",                        false},
261    {"ohos.permission.PUBLISH_SYSTEM_COMMON_EVENT",         false},
262    {"ohos.permission.ACCESS_SCREEN_LOCK_INNER",            false},
263    {"ohos.permission.PRINT",                               false},
264    {"ohos.permission.MANAGE_PRINT_JOB",                    false},
265    {"ohos.permission.CHANGE_OVERLAY_ENABLED_STATE",        false},
266    {"ohos.permission.CONNECT_CELLULAR_CALL_SERVICE",       false},
267    {"ohos.permission.CONNECT_IMS_SERVICE",                 false},
268    {"ohos.permission.ACCESS_SENSING_WITH_ULTRASOUND",      false},
269    {"ohos.permission.PROXY_AUTHORIZATION_URI",             false},
270    {"ohos.permission.INSTALL_ENTERPRISE_BUNDLE",           false},
271    {"ohos.permission.ACCESS_CAST_ENGINE_MIRROR",           false},
272    {"ohos.permission.ACCESS_CAST_ENGINE_STREAM",           false},
273    {"ohos.permission.CLOUDDATA_CONFIG",                    false},
274    {"ohos.permission.DEVICE_STANDBY_EXEMPTION",            false},
275    {"ohos.permission.PERCEIVE_SMART_POWER_SCENARIO",       false},
276    {"ohos.permission.RESTRICT_APPLICATION_ACTIVE",         false},
277    {"ohos.permission.MANAGE_SENSOR",                       false},
278    {"ohos.permission.UPLOAD_SESSION_MANAGER",              false},
279    {"ohos.permission.PREPARE_APP_TERMINATE",               false},
280    {"ohos.permission.MANAGE_ECOLOGICAL_RULE",              false},
281    {"ohos.permission.GET_SCENE_CODE",                      false},
282    {"ohos.permission.FILE_GUARD_MANAGER",                  false},
283    {"ohos.permission.SET_FILE_GUARD_POLICY",               false},
284    {"ohos.permission.ENTERPRISE_RECOVERY_KEY",             false},
285    {"ohos.permission.securityguard.SET_MODEL_STATE",       false},
286    {"ohos.permission.hsdr.HSDR_ACCESS",                    false},
287    {"ohos.permission.SUPPORT_USER_AUTH",                   false},
288    {"ohos.permission.CAPTURE_VOICE_DOWNLINK_AUDIO",        false},
289    {"ohos.permission.MANAGE_INTELLIGENT_VOICE",            false},
290    {"ohos.permission.INSTALL_ENTERPRISE_MDM_BUNDLE",       false},
291    {"ohos.permission.INSTALL_ENTERPRISE_NORMAL_BUNDLE",    false},
292    {"ohos.permission.INSTALL_SELF_BUNDLE",                 false},
293    {"ohos.permission.OBSERVE_FORM_RUNNING",                false},
294    {"ohos.permission.MANAGE_DEVICE_AUTH_CRED",             false},
295    {"ohos.permission.UNINSTALL_BUNDLE",                    false},
296    {"ohos.permission.RECOVER_BUNDLE",                      false},
297    {"ohos.permission.GET_DOMAIN_ACCOUNTS",                 false},
298    {"ohos.permission.SET_UNREMOVABLE_NOTIFICATION",        false},
299    {"ohos.permission.QUERY_ACCESSIBILITY_ELEMENT",         false},
300    {"ohos.permission.ACTIVATE_THEME_PACKAGE",              false},
301    {"ohos.permission.ATTEST_KEY",                          false},
302    {"ohos.permission.WAKEUP_VOICE",                        false},
303    {"ohos.permission.WAKEUP_VISION",                       false},
304    {"ohos.permission.ENABLE_DISTRIBUTED_HARDWARE",         false},
305    {"ohos.permission.ACCESS_DISTRIBUTED_HARDWARE",         false},
306    {"ohos.permission.INSTANTSHARE_SWITCH_CONTROL",         false},
307    {"ohos.permission.ACCESS_INSTANTSHARE_SERVICE",         false},
308    {"ohos.permission.ACCESS_INSTANTSHARE_PRIVATE_ABILITY", false},
309    {"ohos.permission.SECURE_PASTE",                        false},
310    {"ohos.permission.ACCESS_MCP_AUTHORIZATION",            false},
311    {"ohos.permission.GET_BUNDLE_RESOURCES",                false},
312    {"ohos.permission.SET_CODE_PROTECT_INFO",               false},
313    {"ohos.permission.SET_ADVANCED_SECURITY_MODE",          false},
314    {"ohos.permission.SET_DEVELOPER_MODE",                  false},
315    {"ohos.permission.RUN_DYN_CODE",                        false},
316    {"ohos.permission.COOPERATE_MANAGER",                   false},
317    {"ohos.permission.PERCEIVE_TRAIL",                      false},
318    {"ohos.permission.DISABLE_PERMISSION_DIALOG",           false},
319    {"ohos.permission.EXECUTE_INSIGHT_INTENT",              false},
320    {"ohos.permission.PRELOAD_UI_EXTENSION_ABILITY",        false},
321    {"ohos.permission.MANAGE_ACTIVATION_LOCK",              false},
322    {"ohos.permission.VERIFY_ACTIVATION_LOCK",              false},
323    {"ohos.permission.MANAGE_PRIVATE_PHOTOS",               false},
324    {"ohos.permission.ACCESS_OUC",                          false},
325    {"ohos.permission.TRUSTED_RING_HASH_DATA_PERMISSION",   false},
326    {"ohos.permission.QUERY_TRUSTED_RING_USER_INFO",        false},
327    {"ohos.permission.MANAGE_TRUSTED_RING",                 false},
328    {"ohos.permission.USE_TRUSTED_RING",                    false},
329    {"ohos.permission.INPUT_CONTROL_DISPATCHING",           false},
330    {"ohos.permission.INTERCEPT_INPUT_EVENT",               false},
331    {"ohos.permission.LAUNCH_SPAMSHIELD_PAGE",              false},
332    {"ohos.permission.ACCESS_SPAMSHIELD_SERVICE",           false},
333    {"ohos.permission.ACCESS_SECURITY_PRIVACY_CENTER",      false},
334    {"ohos.permission.GET_SECURITY_PRIVACY_ADVICE",         false},
335    {"ohos.permission.SET_SECURITY_PRIVACY_ADVICE",         false},
336    {"ohos.permission.USE_SECURITY_PRIVACY_MESSAGER",       false},
337    {"ohos.permission.GET_PRIVACY_INDICATOR",               false},
338    {"ohos.permission.SET_PRIVACY_INDICATOR",               false},
339    {"ohos.permission.EXEMPT_PRIVACY_INDICATOR",            false},
340    {"ohos.permission.EXEMPT_CAMERA_PRIVACY_INDICATOR",     false},
341    {"ohos.permission.EXEMPT_MICROPHONE_PRIVACY_INDICATOR", false},
342    {"ohos.permission.EXEMPT_LOCATION_PRIVACY_INDICATOR",   false},
343    {"ohos.permission.EXEMPT_PRIVACY_SECURITY_CENTER",      false},
344    {"ohos.permission.ACCESS_LEARN_MORE_DIALOG",      false},
345    {"ohos.permission.GET_SUPER_PRIVACY",                   false},
346    {"ohos.permission.SET_SUPER_PRIVACY",                   false},
347    {"ohos.permission.RECORD_VOICE_CALL",                   false},
348    {"ohos.permission.MANAGE_APP_INSTALL_INFO",             false},
349    {"ohos.permission.RECEIVE_APP_INSTALL_INFO_CHANGE",     false},
350    {"ohos.permission.ACCESS_ADVANCED_SECURITY_MODE",       false},
351    {"ohos.permission.STORE_PERSISTENT_DATA",               false},
352    {"ohos.permission.ACCESS_HIVIEWX",                      false},
353    {"ohos.permission.ACCESS_PASSWORDVAULT_ABILITY",        false},
354    {"ohos.permission.ACCESS_LOWPOWER_MANAGER",             false},
355    {"ohos.permission.ACCESS_DDK_USB",                      false},
356    {"ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER",    false},
357    {"ohos.permission.ACCESS_TEXTAUTOFILL_ABILITY",         false},
358    {"ohos.permission.ACCESS_DDK_HID",                      false},
359    {"ohos.permission.MANAGE_APP_BOOT",                     false},
360    {"ohos.permission.ACCESS_HIVIEWCARE",                   false},
361    {"ohos.permission.CONNECT_UI_EXTENSION_ABILITY",        false},
362    {"ohos.permission.FILE_ACCESS_PERSIST",                 false},
363    {"ohos.permission.SET_SANDBOX_POLICY",                  false},
364    {"ohos.permission.ACCESS_ACCOUNT_KIT_SERVICE",          false},
365    {"ohos.permission.REQUEST_ANONYMOUS_ATTEST",            false},
366    {"ohos.permission.ACCESS_ACCOUNT_KIT_UI",               false},
367    {"ohos.permission.READ_ACCOUNT_LOGIN_STATE",            false},
368    {"ohos.permission.WRITE_ACCOUNT_LOGIN_STATE",           false},
369    {"ohos.permission.START_RECENT_ABILITY",                false},
370    {"ohos.permission.READ_CLOUD_SYNC_CONFIG",              false},
371    {"ohos.permission.MANAGE_CLOUD_SYNC_CONFIG",            false},
372    {"ohos.permission.ACCESS_FINDDEVICE",                   false},
373    {"ohos.permission.MANAGE_FINDSERVICE",                  false},
374    {"ohos.permission.TRIGGER_ACTIVATIONLOCK",              false},
375    {"ohos.permission.MANAGE_USB_CONFIG",                   false},
376    {"ohos.permission.WRITE_PRIVACY_PUSH_DATA",             false},
377    {"ohos.permission.READ_PRIVACY_PUSH_DATA",              false},
378    {"ohos.permission.MANAGE_HAP_TOKENID",                  false},
379    {"ohos.permission.REPORT_RESOURCE_SCHEDULE_EVENT",      false},
380    {"ohos.permission.SEND_TASK_COMPLETE_EVENT",            false},
381    {"ohos.permission.GET_SUSPEND_STATE",                   false},
382    {"ohos.permission.MANAGE_APP_BOOT_INTERNAL",            false},
383    {"ohos.permission.REGISTER_APP_DEBUG_LISTENER",         false},
384    {"ohos.permission.ATTACH_APP_DEBUG",                    false},
385    {"ohos.permission.NOTIFY_DEBUG_ASSERT_RESULT",          false},
386    {"ohos.permission.CHANGE_DISPLAYMODE",                  false},
387    {"ohos.permission.ACCESS_MEDIALIB_THUMB_DB",            false},
388    {"ohos.permission.MIGRATE_DATA",                        false},
389    {"ohos.permission.ACCESS_DYNAMIC_ICON",                 false},
390    {"ohos.permission.CHANGE_BUNDLE_UNINSTALL_STATE",       false},
391    {"ohos.permission.MONITOR_DEVICE_NETWORK_STATE",        false},
392    {"ohos.permission.SYNC_PROFILE_DP",                     false},
393    {"ohos.permission.ACCESS_SERVICE_DP",                   false},
394    {"ohos.permission.ACCESS_PROTOCOL_DFX_STATE",           false},
395    {"ohos.permission.ACCESS_SERVICE_NAVIGATION_INFO",      false},
396    {"ohos.permission.MANAGE_STYLUS_EVENT",                 false},
397    {"ohos.permission.WRITE_GTOKEN_POLICY",                 false},
398    {"ohos.permission.READ_GTOKEN_POLICY",                  false},
399    {"ohos.permission.ENABLE_PROFILER",                     false},
400    {"ohos.permission.PRELOAD_APPLICATION",                 false},
401    {"ohos.permission.USE_CLOUD_DRIVE_SERVICE",             false},
402    {"ohos.permission.USE_CLOUD_BACKUP_SERVICE",            false},
403    {"ohos.permission.USE_CLOUD_COMMON_SERVICE",            false},
404    {"ohos.permission.START_DLP_CRED",                      false},
405    {"ohos.permission.START_SHORTCUT",                      false},
406    {"ohos.permission.MANAGE_INPUT_INFRARED_EMITTER",       false},
407    {"ohos.permission.SET_PROCESS_CACHE_STATE",             false},
408    {"ohos.permission.ACCESS_PRIVATE_SPACE_MANAGER",        false},
409    {"ohos.permission.ACCESS_PRIVATE_SPACE_PASSWORD_PROTECT", false},
410    {"ohos.permission.ACCESS_LOCAL_BACKUP", false},
411    {"ohos.permission.ACCESS_SYSTEM_APP_CERT",              false},
412    {"ohos.permission.ACCESS_USER_TRUSTED_CERT",            false},
413    {"ohos.permission.CAST_AUDIO_OUTPUT",                   false},
414    {"ohos.permission.GRANT_URI_PERMISSION_PRIVILEGED",     false},
415    {"ohos.permission.UPDATE_APP_CONFIGURATION",            false},
416    {"ohos.permission.KILL_APP_PROCESSES",                  false},
417    {"ohos.permission.ACCESS_SCREEN_LOCK_MEDIA_DATA",       false},
418    {"ohos.permission.ACCESS_SCREEN_LOCK_ALL_DATA",         false},
419    {"ohos.permission.MANAGE_SYSTEM_ABILITY",               false},
420    {"ohos.permission.ACCESS_EXT_SYSTEM_ABILITY",           false},
421    {"ohos.permission.WRITE_RINGTONE",                      false},
422    {"ohos.permission.UPDATE_QUICKFIX",                     false},
423    {"ohos.permission.GET_QUICKFIX_INFO",                   false},
424    {"ohos.permission.CHECK_QUICKFIX_RESULT",               false},
425    {"ohos.permission.GET_ACCOUNT_MINORS_INFO",             false},
426    {"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_AS_USER", false},
427    {"ohos.permission.ACCESS_LOCAL_THEME",                  false},
428    {"ohos.permission.ACCESS_SHADER_CACHE_DIR",             false},
429    {"ohos.permission.INSTALL_CLONE_BUNDLE",                false},
430    {"ohos.permission.UNINSTALL_CLONE_BUNDLE",              false},
431    {"ohos.permission.PROTECT_SCREEN_LOCK_DATA",            false},
432    {"ohos.permission.MANAGE_SETTINGS",                     false},
433    {"ohos.permission.ACCESS_DEVICE_COLLABORATION_PRIVATE_ABILITY",                     false},
434    {"ohos.permission.ACCESS_DEVICE_COLLABORATION_SERVICE", false},
435    {"ohos.permission.ACCESS_RINGTONE_RESOURCE",            false},
436    {"ohos.permission.ACCESS_FILE_CONTENT_SHARE",           false},
437    {"ohos.permission.ACCESS_SEARCH_SERVICE",               false},
438    {"ohos.permission.ACCESS_SCREEN_LOCK",                  false},
439    {"ohos.permission.MANAGE_SOFTBUS_NETWORK",              false},
440    {"ohos.permission.MANAGE_FINDNETWORK",                  false},
441    {"ohos.permission.SET_FOREGROUND_HAP_REMINDER",         false},
442    {"ohos.permission.OPERATE_FINDNETWORK",                 false},
443    {"ohos.permission.QUERY_FINDNETWORK_LOCATION",          false},
444    {"ohos.permission.REGISTER_FINDNETWORK_ACCESSORY",      false},
445    {"ohos.permission.INJECT_INPUT_EVENT",              false},
446    {"ohos.permission.ACCESS_SUBSCRIPTION_CAPSULE_DATA",              false},
447    {"ohos.permission.PRE_START_ATOMIC_SERVICE",            false},
448    {"ohos.permission.UPDATE_CALENDAR_RRULE",            false},
449    {"ohos.permission.QUERY_SECURITY_EVENT",                        false},
450    {"ohos.permission.REPORT_SECURITY_EVENT",                       false},
451    {"ohos.permission.QUERY_SECURITY_MODEL_RESULT",                 false},
452    {"ohos.permission.MANAGE_SECURITY_GUARD_CONFIG",                false},
453    {"ohos.permission.COLLECT_SECURITY_EVENT",                      false},
454    {"ohos.permission.QUERY_AUDIT_EVENT",                           false},
455    {"ohos.permission.QUERY_SECURITY_POLICY_FROM_CLOUD",            false},
456    {"ohos.permission.REPORT_SECURITY_EVENT_TO_CLOUD",              false},
457    {"ohos.permission.CONNECT_FORM_EXTENSION",              false},
458    {"ohos.permission.CONNECT_WORK_SCHEDULER_EXTENSION",    false},
459    {"ohos.permission.CONNECT_INPUT_METHOD_EXTENSION",      false},
460    {"ohos.permission.CONNECT_ACCESSIBILITY_EXTENSION",     false},
461    {"ohos.permission.CONNECT_STATIC_SUBSCRIBER_EXTENSION", false},
462    {"ohos.permission.CONNECT_WALLPAPER_EXTENSION",         false},
463    {"ohos.permission.CONNECT_BACKUP_EXTENSION",            false},
464    {"ohos.permission.CONNECT_ENTERPRISE_ADMIN_EXTENSION",  false},
465    {"ohos.permission.CONNECT_FILE_ACCESS_EXTENSION",       false},
466    {"ohos.permission.CONNECT_PRINT_EXTENSION",             false},
467    {"ohos.permission.CONNECT_DRIVER_EXTENSION",            false},
468    {"ohos.permission.CONNECT_APP_ACCOUNT_AUTHORIZATION_EXTENSION",    false},
469    {"ohos.permission.CONNECT_REMOTE_NOTIFICATION_EXTENSION",          false},
470    {"ohos.permission.CONNECT_REMOTE_LOCATION_EXTENSION",   false},
471    {"ohos.permission.CONNECT_VPN_EXTENSION",               false},
472    {"ohos.permission.KILL_PROCESS_DEPENDED_ON_ARKWEB",     false},
473    {"ohos.permission.CONTROL_LOCATION_SWITCH",               false},
474    {"ohos.permission.MOCK_LOCATION",     false},
475    {"ohos.permission.ALLOW_TIPS_ACCESS",   false},
476    {"ohos.permission.ACCESS_SCAN_SERVICE",                 false},
477    {"ohos.permission.ACCESS_FACTORY_OTA_DIR",   false},
478    {"ohos.permission.MICROPHONE_CONTROL",   false},
479    {"ohos.permission.MANAGE_MOUSE_CURSOR",                 false},
480    {"ohos.permission.FILTER_INPUT_EVENT",                  false},
481    {"ohos.permission.INPUT_PANEL_STATUS_PUBLISHER",        false},
482    {"ohos.permission.RECEIVE_FUSION_MESSAGES",             false},
483    {"ohos.permission.ACCESS_FUSION_MANAGER",               false},
484    {"ohos.permission.PUBLISH_LOCATION_EVENT",              false},
485    {"ohos.permission.DUMP_AUDIO",        false},
486    {"ohos.permission.ACTIVATE_DEVICE_PSI",                 false},
487    {"ohos.permission.ACCESS_MULTICORE_HYBRID_ABILITY",     false},
488    {"ohos.permission.INSTALL_INTERNALTESTING_BUNDLE",     false},
489    {"ohos.permission.GET_ALL_PROCESSES",     false},
490    {"ohos.permission.OPEN_FILE",     false},
491    {"ohos.permission.PROCESS_FILE_COPY_PASTE",         false},
492    {"ohos.permission.CLEAR_RECYCLEBIN",                      false},
493    {"ohos.permission.GET_FILE_THUMBNAIL",                  false},
494    {"ohos.permission.PUBLISH_DISPLAY_ROTATION_EVENT",                      false},
495    {"ohos.permission.PUBLISH_CAST_PLUGGED_EVENT",                  false},
496    {"ohos.permission.NETWORK_DHCP",                  false},
497    {"ohos.permission.ACCESS_BBOX_DIR",               false},
498    {"ohos.permission.ACCESS_CAR_DISTRIBUTED_ENGINE",       false},
499    {"ohos.permission.START_RESTORE_NOTIFICATION",          false},
500    {"ohos.permission.ALLOW_CONNECT_CAR",                   false},
501    {"ohos.permission.MANAGE_NET_FIREWALL",                 false},
502    {"ohos.permission.GET_NET_FIREWALL",                    false},
503    {"ohos.permission.ACCESS_IDM_WIDGET",                   false},
504    {"ohos.permission.GET_TELEPHONY_ESIM_STATE",            false},
505    {"ohos.permission.SET_TELEPHONY_ESIM_STATE",            false},
506    {"ohos.permission.MANAGE_ACCESSORY",                    false},
507    {"ohos.permission.COLLECT_ACCESSORY_LOG",               false},
508    {"ohos.permission.ACCESS_DISTRIBUTED_MODEM",            false},
509    {"ohos.permission.GET_ETHERNET_LOCAL_MAC",              false},
510    {"ohos.permission.ALLOW_SHOW_NON_SECURE_WINDOWS",       false},
511    {"ohos.permission.GRANT_SHORT_TERM_WRITE_MEDIAVIDEO",   false},
512    {"ohos.permission.CAMERA_BACKGROUND",                   false},
513    {"ohos.permission.CONNECT_PUSH_EXTENSION",              false},
514    {"ohos.permission.CONNECT_VOIP_EXTENSION",              false},
515    {"ohos.permission.CALLED_TRANSITION_ON_LOCK_SCREEN",    false},
516    {"ohos.permission.CALLED_BELOW_LOCK_SCREEN",            false},
517    {"ohos.permission.MANAGE_USER_ACCOUNT_INFO",            false},
518    {"ohos.permission.ALLOW_UPGRADE_GUIDE_ACCESS",          false},
519    {"ohos.permission.MANAGE_RGM",                          false},
520    {"ohos.permission.ACCESS_PROTOCOL_DFX_DATA",            false},
521    {"ohos.permission.GET_NEARLINK_LOCAL_MAC",              false},
522    {"ohos.permission.MANAGE_NEARLINK",                     false},
523    {"ohos.permission.UNINSTALL_QUICK_FIX_BUNDLE",          false},
524    {"ohos.permission.INSTALL_QUICK_FIX_BUNDLE",            false},
525    {"ohos.permission.INSTALL_SANDBOX_BUNDLE",              false},
526    {"ohos.permission.UNINSTALL_SANDBOX_BUNDLE",            false},
527    {"ohos.permission.MANAGE_SYSTEM_AUDIO_EFFECTS",         false},
528    {"ohos.permission.START_SYSTEM_DIALOG",                 false},
529    {"ohos.permission.ACCESS_STATUSBAR_ICON",               false},
530    {"ohos.permission.ACCESS_AI_ABILITY",                   false},
531    {"ohos.permission.READ_HEALTH_MOTION",                  false},
532    {"ohos.permission.hsdr.REQUEST_HSDR",                   false},
533    {"ohos.permission.QUERY_PASSWORD_VAULT_DATA",           false},
534    {"ohos.permission.SUBSCRIBE_NOTIFICATION_WINDOW_STATE", false},
535    {"ohos.permission.STORAGE_MANAGER_CRYPT",               false},
536    {"ohos.permission.READ_FINDSERVICE",                    false},
537    {"ohos.permission.GET_NEARLINK_PEER_MAC",               false},
538    {"ohos.permission.SET_TELEPHONY_ESIM_STATE_OPEN",       false},
539    {"ohos.permission.SUPERVISE_KIA_SERVICE",               false},
540    {"ohos.permission.ACCESS_ANALYTICS",                    false},
541    {"ohos.permission.WINDOW_TOPMOST",                      false},
542    {"ohos.permission.BLOCK_ALL_APP_START",                 false},
543    {"ohos.permission.START_UIABILITY_TO_HIDDEN",           false},
544    {"ohos.permission.ACCESS_SUPER_HUB",                    false},
545    {"ohos.permission.READ_WRITE_USB_DEV",                  false},
546    {"ohos.permission.READ_WRITE_USER_FILE",                false},
547};
548
549bool TransferPermissionToOpcode(const std::string& permission, uint32_t& opCode)
550{
551    size_t size = g_permMap.size();
552    for (size_t i = 0; i < size; i++) {
553        std::pair it = g_permMap[i];
554        if (permission == it.first) {
555            opCode = i;
556            return true;
557        }
558    }
559    return false;
560}
561
562bool TransferOpcodeToPermission(uint32_t opCode, std::string& permission)
563{
564    if (opCode >= MAX_PERM_SIZE || opCode >= g_permMap.size()) {
565        return false;
566    }
567    permission = g_permMap[opCode].first;
568    return true;
569}
570} // namespace AccessToken
571} // namespace Security
572} // namespace OHOS
573