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