提交 5de708c1 编写于 作者: D Daniel P. Berrange

Set process ID in system identity

When creating a virIdentityPtr for the system identity, include
the current process ID as an attribute.
上级 15af5e5f
...@@ -139,6 +139,13 @@ virIdentityPtr virIdentityGetSystem(void) ...@@ -139,6 +139,13 @@ virIdentityPtr virIdentityGetSystem(void)
#if WITH_SELINUX #if WITH_SELINUX
security_context_t con; security_context_t con;
#endif #endif
char *processid = NULL;
if (virAsprintf(&processid, "%llu",
(unsigned long long)getpid()) < 0) {
virReportOOMError();
goto cleanup;
}
if (!(username = virGetUserName(getuid()))) if (!(username = virGetUserName(getuid())))
goto cleanup; goto cleanup;
...@@ -176,11 +183,16 @@ virIdentityPtr virIdentityGetSystem(void) ...@@ -176,11 +183,16 @@ virIdentityPtr virIdentityGetSystem(void)
VIR_IDENTITY_ATTR_SELINUX_CONTEXT, VIR_IDENTITY_ATTR_SELINUX_CONTEXT,
seccontext) < 0) seccontext) < 0)
goto error; goto error;
if (virIdentitySetAttr(ret,
VIR_IDENTITY_ATTR_UNIX_PROCESS_ID,
processid) < 0)
goto error;
cleanup: cleanup:
VIR_FREE(username); VIR_FREE(username);
VIR_FREE(groupname); VIR_FREE(groupname);
VIR_FREE(seccontext); VIR_FREE(seccontext);
VIR_FREE(processid);
return ret; return ret;
error: error:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册