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
16 #include "bundle_permission_mgr.h"
17
18 namespace OHOS {
19 namespace AppExecFwk {
20 using namespace Security::AccessToken;
21
22 #ifdef BUNDLE_FRAMEWORK_PERMISSION_RETURN_FALSE
23
VerifyCallingUid()24 bool BundlePermissionMgr::VerifyCallingUid()
25 {
26 return false;
27 }
28
VerifyPreload(const AAFwk::Want & want)29 bool BundlePermissionMgr::VerifyPreload(const AAFwk::Want &want)
30 {
31 return false;
32 }
33
IsCallingUidValid(int32_t uid)34 bool BundlePermissionMgr::IsCallingUidValid(int32_t uid)
35 {
36 return false;
37 }
38
VerifyCallingPermissionForAll(const std::string & permissionName)39 bool BundlePermissionMgr::VerifyCallingPermissionForAll(const std::string &permissionName)
40 {
41 return false;
42 }
43
VerifyCallingPermissionsForAll(const std::vector<std::string> & permissionNames)44 bool BundlePermissionMgr::VerifyCallingPermissionsForAll(const std::vector<std::string> &permissionNames)
45 {
46 return false;
47 }
48
IsSelfCalling()49 bool BundlePermissionMgr::IsSelfCalling()
50 {
51 return false;
52 }
53
VerifyRecoverPermission()54 bool BundlePermissionMgr::VerifyRecoverPermission()
55 {
56 return false;
57 }
58
VerifyUninstallPermission()59 bool BundlePermissionMgr::VerifyUninstallPermission()
60 {
61 return false;
62 }
63
IsBundleSelfCalling(const std::string & bundleName)64 bool BundlePermissionMgr::IsBundleSelfCalling(const std::string &bundleName)
65 {
66 return false;
67 }
68 #else
69
VerifyCallingUid()70 bool BundlePermissionMgr::VerifyCallingUid()
71 {
72 return true;
73 }
74
VerifyPreload(const AAFwk::Want & want)75 bool BundlePermissionMgr::VerifyPreload(const AAFwk::Want &want)
76 {
77 return true;
78 }
79
IsCallingUidValid(int32_t uid)80 bool BundlePermissionMgr::IsCallingUidValid(int32_t uid)
81 {
82 return true;
83 }
84
VerifyCallingPermissionForAll(const std::string & permissionName)85 bool BundlePermissionMgr::VerifyCallingPermissionForAll(const std::string &permissionName)
86 {
87 return true;
88 }
89
VerifyCallingPermissionsForAll(const std::vector<std::string> & permissionNames)90 bool BundlePermissionMgr::VerifyCallingPermissionsForAll(const std::vector<std::string> &permissionNames)
91 {
92 return true;
93 }
94
IsSelfCalling()95 bool BundlePermissionMgr::IsSelfCalling()
96 {
97 return true;
98 }
99
VerifyRecoverPermission()100 bool BundlePermissionMgr::VerifyRecoverPermission()
101 {
102 return true;
103 }
104
VerifyUninstallPermission()105 bool BundlePermissionMgr::VerifyUninstallPermission()
106 {
107 return true;
108 }
109
IsBundleSelfCalling(const std::string & bundleName)110 bool BundlePermissionMgr::IsBundleSelfCalling(const std::string &bundleName)
111 {
112 return true;
113 }
114 #endif
115
116 #ifdef BUNDLE_NOT_IS_NAYIVE_TOKEN_TYPE
IsNativeTokenType()117 bool BundlePermissionMgr::IsNativeTokenType()
118 {
119 return false;
120 }
121 #else
IsNativeTokenType()122 bool BundlePermissionMgr::IsNativeTokenType()
123 {
124 return true;
125 }
126 #endif
127
IsShellTokenType()128 bool BundlePermissionMgr::IsShellTokenType()
129 {
130 return true;
131 }
132
Init()133 bool BundlePermissionMgr::Init()
134 {
135 return true;
136 }
137
UnInit()138 void BundlePermissionMgr::UnInit()
139 {
140 }
141
VerifyPermission(const std::string & bundleName,const std::string & permissionName,const int32_t userId)142 int32_t BundlePermissionMgr::VerifyPermission(const std::string &bundleName, const std::string &permissionName,
143 const int32_t userId)
144 {
145 return 0;
146 }
147
GetPermissionDef(const std::string & permissionName,PermissionDef & permissionDef)148 ErrCode BundlePermissionMgr::GetPermissionDef(const std::string &permissionName, PermissionDef &permissionDef)
149 {
150 return ERR_OK;
151 }
152
RequestPermissionFromUser(const std::string & bundleName,const std::string & permissionName,const int32_t userId)153 bool BundlePermissionMgr::RequestPermissionFromUser(
154 const std::string &bundleName, const std::string &permissionName, const int32_t userId)
155 {
156 return true;
157 }
158
DeleteAccessTokenId(const AccessTokenID tokenId)159 int32_t BundlePermissionMgr::DeleteAccessTokenId(const AccessTokenID tokenId)
160 {
161 return 0;
162 }
163
GetRequestPermissionStates(BundleInfo & bundleInfo,uint32_t tokenId,const std::string deviceId)164 bool BundlePermissionMgr::GetRequestPermissionStates(BundleInfo &bundleInfo, uint32_t tokenId,
165 const std::string deviceId)
166 {
167 return true;
168 }
169
ClearUserGrantedPermissionState(const AccessTokenID tokenId)170 int32_t BundlePermissionMgr::ClearUserGrantedPermissionState(const AccessTokenID tokenId)
171 {
172 return 0;
173 }
174
GetAllReqPermissionStateFull(AccessTokenID tokenId,std::vector<PermissionStateFull> & newPermissionState)175 bool BundlePermissionMgr::GetAllReqPermissionStateFull(AccessTokenID tokenId,
176 std::vector<PermissionStateFull> &newPermissionState)
177 {
178 return true;
179 }
180
181 #ifdef BUNDLE_FRAMEWORK_SYSTEM_APP_FALSE
VerifySystemApp(int32_t beginApiVersion)182 bool BundlePermissionMgr::VerifySystemApp(int32_t beginApiVersion)
183 {
184 return false;
185 }
186
IsSystemApp()187 bool BundlePermissionMgr::IsSystemApp()
188 {
189 return false;
190 }
191
192 // for old api
VerifyCallingBundleSdkVersion(int32_t beginApiVersion)193 bool BundlePermissionMgr::VerifyCallingBundleSdkVersion(int32_t beginApiVersion)
194 {
195 return false;
196 }
197 #else
VerifySystemApp(int32_t beginApiVersion)198 bool BundlePermissionMgr::VerifySystemApp(int32_t beginApiVersion)
199 {
200 return true;
201 }
202
IsSystemApp()203 bool BundlePermissionMgr::IsSystemApp()
204 {
205 return true;
206 }
207
208 // for old api
VerifyCallingBundleSdkVersion(int32_t beginApiVersion)209 bool BundlePermissionMgr::VerifyCallingBundleSdkVersion(int32_t beginApiVersion)
210 {
211 return true;
212 }
213 #endif
214
GetHapApiVersion()215 int32_t BundlePermissionMgr::GetHapApiVersion()
216 {
217 return 0;
218 }
219
GetPermissionDefList(const InnerBundleInfo & innerBundleInfo)220 std::vector<Security::AccessToken::PermissionDef> BundlePermissionMgr::GetPermissionDefList(
221 const InnerBundleInfo &innerBundleInfo)
222 {
223 std::vector<Security::AccessToken::PermissionDef> vec;
224 return vec;
225 }
226
GetPermissionStateFullList(const InnerBundleInfo & innerBundleInfo)227 std::vector<PermissionStateFull> BundlePermissionMgr::GetPermissionStateFullList(
228 const InnerBundleInfo &innerBundleInfo)
229 {
230 std::vector<PermissionStateFull> vec;
231 return vec;
232 }
233
GetTokenApl(const std::string & apl)234 Security::AccessToken::ATokenAplEnum BundlePermissionMgr::GetTokenApl(const std::string &apl)
235 {
236 return Security::AccessToken::ATokenAplEnum::APL_NORMAL;
237 }
238
CreateHapPolicyParam(const InnerBundleInfo & innerBundleInfo)239 Security::AccessToken::HapPolicyParams BundlePermissionMgr::CreateHapPolicyParam(
240 const InnerBundleInfo &innerBundleInfo)
241 {
242 Security::AccessToken::HapPolicyParams policy;
243 return policy;
244 }
245
ConvertPermissionDef(const Security::AccessToken::PermissionDef & permDef,PermissionDef & permissionDef)246 void BundlePermissionMgr::ConvertPermissionDef(const Security::AccessToken::PermissionDef &permDef,
247 PermissionDef &permissionDef)
248 {
249 }
250
ConvertPermissionDef(Security::AccessToken::PermissionDef & permDef,const DefinePermission & defPermission,const std::string & bundleName)251 void BundlePermissionMgr::ConvertPermissionDef(
252 Security::AccessToken::PermissionDef &permDef, const DefinePermission &defPermission,
253 const std::string &bundleName)
254 {
255 }
256
GetDefaultPermission(const std::string & bundleName,DefaultPermission & permission)257 bool BundlePermissionMgr::GetDefaultPermission(const std::string &bundleName, DefaultPermission &permission)
258 {
259 return true;
260 }
261
MatchSignature(const DefaultPermission & permission,const std::string & signature)262 bool BundlePermissionMgr::MatchSignature(const DefaultPermission &permission,
263 const std::string &signature)
264 {
265 return true;
266 }
267
MatchSignature(const DefaultPermission & permission,const std::vector<std::string> & signatures)268 bool BundlePermissionMgr::MatchSignature(const DefaultPermission &permission,
269 const std::vector<std::string> &signatures)
270 {
271 return true;
272 }
273
CheckPermissionInDefaultPermissions(const DefaultPermission & defaultPermission,const std::string & permissionName,bool & userCancellable)274 bool BundlePermissionMgr::CheckPermissionInDefaultPermissions(const DefaultPermission &defaultPermission,
275 const std::string &permissionName, bool &userCancellable)
276 {
277 return true;
278 }
279
AddPermissionUsedRecord(const std::string & permission,int32_t successCount,int32_t failCount)280 void BundlePermissionMgr::AddPermissionUsedRecord(
281 const std::string &permission, int32_t successCount, int32_t failCount)
282 {
283 }
284
285
CreateHapInfoParams(const InnerBundleInfo & innerBundleInfo,const int32_t userId,const int32_t dlpType)286 Security::AccessToken::HapInfoParams CreateHapInfoParams(const InnerBundleInfo &innerBundleInfo,
287 const int32_t userId, const int32_t dlpType)
288 {
289 Security::AccessToken::HapInfoParams params;
290 return params;
291 }
292
InitHapToken(const InnerBundleInfo & innerBundleInfo,const int32_t userId,const int32_t dlpType,Security::AccessToken::AccessTokenIDEx & tokenIdeEx)293 int32_t BundlePermissionMgr::InitHapToken(const InnerBundleInfo &innerBundleInfo, const int32_t userId,
294 const int32_t dlpType, Security::AccessToken::AccessTokenIDEx& tokenIdeEx)
295 {
296 return 0;
297 }
298
UpdateHapToken(Security::AccessToken::AccessTokenIDEx & tokenIdeEx,const InnerBundleInfo & innerBundleInfo)299 int32_t BundlePermissionMgr::UpdateHapToken(
300 Security::AccessToken::AccessTokenIDEx& tokenIdeEx, const InnerBundleInfo &innerBundleInfo)
301 {
302 return 0;
303 }
304 } // AppExecFwk
305 } // OHOS