Signed-off-by: zhangjunxi <zhangjunxi1@huawei.com>

Changes to be committed:
	modified:   timeservice.cfg
	modified:   ../../utils/native/src/time_permission.cpp
This commit is contained in:
zhangjunxi
2022-06-08 18:43:55 +08:00
parent 61976f748a
commit 14dff310d7
2 changed files with 16 additions and 4 deletions
+2 -2
View File
@@ -2,8 +2,8 @@
"services" : [{
"name" : "time_service",
"path" : ["/system/bin/sa_main", "/system/profile/time_service.xml"],
"uid" : "time",
"gid" : ["time", "shell"],
"uid" : "system",
"gid" : ["system", time", "shell"],
"caps" : ["SYS_TIME", "WAKE_ALARM"],
"secon" : "u:r:time_service:s0"
}
+14 -2
View File
@@ -27,12 +27,24 @@ bool TimePermission::CheckCallingPermission(const std::string &permissionName)
}
auto callerToken = IPCSkeleton::GetCallingTokenID();
int result = Security::AccessToken::AccessTokenKit::VerifyAccessToken(callerToken, permissionName);
auto tokenType = Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(callerToken);
int result = Security::AccessToken::PERMISSION_DENIED;
if (tokenType == Security::AccessToken::ATokenTypeEnum::TOKEN_NATIVE) {
result = Security::AccessToken::AccessTokenKit::VerifyNativeToken(callerToken, permissionName);
} else if (tokenType == Security::AccessToken::ATokenTypeEnum::TOKEN_HAP) {
result = Security::AccessToken::AccessTokenKit::VerifyAccessToken(callerToken, permissionName);
} else {
TELEPHONY_LOGE("permission check failed, callerToken:%{public}u, tokenType:%{public}d",
callerToken, tokenType);
}
if (result != Security::AccessToken::PERMISSION_GRANTED) {
TIME_HILOGE(TIME_MODULE_COMMON, "permission check failed, permission:%{public}s, callerToken:%{public}u",
permissionName.c_str(), callerToken);
return false;
}
return result == Security::AccessToken::PERMISSION_GRANTED;
return true;
}
} // namespace MiscServices
} // namespace OHOS