Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Startup Init Lite
提交
c0b11f65
S
Startup Init Lite
项目概览
OpenHarmony
/
Startup Init Lite
接近 2 年 前同步成功
通知
3
Star
37
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Startup Init Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c0b11f65
编写于
4月 29, 2022
作者:
O
openharmony_ci
提交者:
Gitee
4月 29, 2022
浏览文件
操作
浏览文件
下载
差异文件
!523 add permission
Merge pull request !523 from yichengzhao/master
上级
b9d5604c
1921eb1f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
2 deletion
+12
-2
services/init/include/init_service.h
services/init/include/init_service.h
+1
-0
services/init/init_service_manager.c
services/init/init_service_manager.c
+2
-0
services/init/standard/init_service.c
services/init/standard/init_service.c
+9
-2
未找到文件。
services/init/include/init_service.h
浏览文件 @
c0b11f65
...
...
@@ -141,6 +141,7 @@ typedef struct Service_ {
uint64_t
tokenId
;
char
apl
[
MAX_APL_NAME
+
1
];
ServiceArgs
capsArgs
;
ServiceArgs
permArgs
;
Perms
servPerm
;
ServiceArgs
pathArgs
;
ServiceArgs
extraArgs
;
...
...
services/init/init_service_manager.c
浏览文件 @
c0b11f65
...
...
@@ -204,6 +204,7 @@ void ReleaseService(Service *service)
FreeServiceArg
(
&
service
->
pathArgs
);
FreeServiceArg
(
&
service
->
writePidArgs
);
FreeServiceArg
(
&
service
->
capsArgs
);
FreeServiceArg
(
&
service
->
permArgs
);
if
(
service
->
servPerm
.
caps
!=
NULL
)
{
free
(
service
->
servPerm
.
caps
);
...
...
@@ -807,6 +808,7 @@ int ParseOneService(const cJSON *curItem, Service *service)
(
void
)
GetServiceArgs
(
curItem
,
"writepid"
,
MAX_WRITEPID_FILES
,
&
service
->
writePidArgs
);
(
void
)
GetServiceArgs
(
curItem
,
D_CAPS_STR_IN_CFG
,
MAX_WRITEPID_FILES
,
&
service
->
capsArgs
);
(
void
)
GetServiceArgs
(
curItem
,
"permission"
,
MAX_WRITEPID_FILES
,
&
service
->
permArgs
);
(
void
)
GetStringItem
(
curItem
,
APL_STR_IN_CFG
,
service
->
apl
,
MAX_APL_NAME
);
(
void
)
GetCpuArgs
(
curItem
,
CPU_CORE_STR_IN_CFG
,
service
);
ret
=
GetServiceSandbox
(
curItem
,
service
);
...
...
services/init/standard/init_service.c
浏览文件 @
c0b11f65
...
...
@@ -148,8 +148,15 @@ void GetAccessToken(void)
if
(
strlen
(
service
->
apl
)
==
0
)
{
(
void
)
strncpy_s
(
service
->
apl
,
sizeof
(
service
->
apl
),
"system_core"
,
sizeof
(
service
->
apl
)
-
1
);
}
uint64_t
tokenId
=
GetAccessTokenId
(
service
->
name
,
(
const
char
**
)
service
->
capsArgs
.
argv
,
service
->
capsArgs
.
count
,
service
->
apl
);
NativeTokenInfoParams
nativeTokenInfoParams
=
{
service
->
capsArgs
.
count
,
service
->
permArgs
.
count
,
(
const
char
**
)
service
->
capsArgs
.
argv
,
(
const
char
**
)
service
->
permArgs
.
argv
,
service
->
name
,
service
->
apl
,
};
uint64_t
tokenId
=
GetAccessTokenId
(
&
nativeTokenInfoParams
);
if
(
tokenId
==
0
)
{
INIT_LOGE
(
"Get totken id %lld of service
\'
%s
\'
failed"
,
tokenId
,
service
->
name
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录