mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-16 09:57:26 +03:00
bus-creds: always set SD_BUS_CREDS_PID when we set pid in the mask
Also reorder the code a bit to be easier to parse.
This commit is contained in:
parent
4f7cd56ef2
commit
236f83afa9
@ -261,7 +261,7 @@ int mac_selinux_generic_access_check(
|
|||||||
audit_info.path = path;
|
audit_info.path = path;
|
||||||
audit_info.cmdline = cl;
|
audit_info.cmdline = cl;
|
||||||
|
|
||||||
r = selinux_check_access((security_context_t) scon, fcon, tclass, permission, &audit_info);
|
r = selinux_check_access(scon, fcon, tclass, permission, &audit_info);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
r = sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "SELinux policy denies access.");
|
r = sd_bus_error_setf(error, SD_BUS_ERROR_ACCESS_DENIED, "SELinux policy denies access.");
|
||||||
|
|
||||||
|
@ -773,11 +773,13 @@ int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Try to retrieve PID from creds if it wasn't passed to us */
|
/* Try to retrieve PID from creds if it wasn't passed to us */
|
||||||
if (pid <= 0 && (c->mask & SD_BUS_CREDS_PID))
|
if (pid > 0) {
|
||||||
|
c->pid = pid;
|
||||||
|
c->mask |= SD_BUS_CREDS_PID;
|
||||||
|
} else if (c->mask & SD_BUS_CREDS_PID)
|
||||||
pid = c->pid;
|
pid = c->pid;
|
||||||
|
else
|
||||||
/* Without pid we cannot do much... */
|
/* Without pid we cannot do much... */
|
||||||
if (pid <= 0)
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Try to retrieve TID from creds if it wasn't passed to us */
|
/* Try to retrieve TID from creds if it wasn't passed to us */
|
||||||
@ -789,9 +791,6 @@ int bus_creds_add_more(sd_bus_creds *c, uint64_t mask, pid_t pid, pid_t tid) {
|
|||||||
if (missing == 0)
|
if (missing == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
c->pid = pid;
|
|
||||||
c->mask |= SD_BUS_CREDS_PID;
|
|
||||||
|
|
||||||
if (tid > 0) {
|
if (tid > 0) {
|
||||||
c->tid = tid;
|
c->tid = tid;
|
||||||
c->mask |= SD_BUS_CREDS_TID;
|
c->mask |= SD_BUS_CREDS_TID;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user