summaryrefslogtreecommitdiff
path: root/src/bus-proxyd/bus-proxyd.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-12-08 23:47:19 +0100
committerLennart Poettering <lennart@poettering.net>2014-12-08 23:52:27 +0100
commit0aa72be6a02e8bbcb364526b8e1904a94b81a547 (patch)
tree335e74927fcd5e71daf0d8a5c9378b6c2989da1e /src/bus-proxyd/bus-proxyd.c
parent4e7dff9b099bfbf7e367e339f5ddcd387caf78ae (diff)
bus-proxy: fix compat with autostarted services
Diffstat (limited to 'src/bus-proxyd/bus-proxyd.c')
-rw-r--r--src/bus-proxyd/bus-proxyd.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c
index 2e34cc9394..42fb0da0ef 100644
--- a/src/bus-proxyd/bus-proxyd.c
+++ b/src/bus-proxyd/bus-proxyd.c
@@ -45,6 +45,7 @@
#include "def.h"
#include "capability.h"
#include "bus-policy.h"
+#include "bus-control.h"
static char *arg_address = NULL;
static char *arg_command_line_buffer = NULL;
@@ -1002,7 +1003,7 @@ static int process_policy(sd_bus *from, sd_bus *to, sd_bus_message *m, Policy *p
}
if (granted) {
- /* Then check whether us, the recipient can recieve from the sender's name */
+ /* Then check whether us (the recipient) can recieve from the sender's name */
if (strv_isempty(sender_names)) {
if (policy_check_recv(policy, our_ucred->uid, our_ucred->gid, m->header->type, NULL, m->path, m->interface, m->member))
return 0;
@@ -1038,9 +1039,10 @@ static int process_policy(sd_bus *from, sd_bus *to, sd_bus_message *m, Policy *p
/* The message came from the legacy client, and is sent to kdbus. */
if (m->destination) {
- r = sd_bus_get_name_creds(to, m->destination,
- SD_BUS_CREDS_WELL_KNOWN_NAMES|SD_BUS_CREDS_UNIQUE_NAME|
- SD_BUS_CREDS_UID|SD_BUS_CREDS_GID|SD_BUS_CREDS_PID, &destination_creds);
+ r = bus_get_name_creds_kdbus(to, m->destination,
+ SD_BUS_CREDS_WELL_KNOWN_NAMES|SD_BUS_CREDS_UNIQUE_NAME|
+ SD_BUS_CREDS_UID|SD_BUS_CREDS_GID|SD_BUS_CREDS_PID,
+ true, &destination_creds);
if (r < 0)
return r;
@@ -1056,7 +1058,7 @@ static int process_policy(sd_bus *from, sd_bus *to, sd_bus_message *m, Policy *p
(void) sd_bus_creds_get_gid(destination_creds, &destination_gid);
}
- /* First check if we, the sender can send to this name */
+ /* First check if we (the sender) can send to this name */
if (strv_isempty(destination_names)) {
if (policy_check_send(policy, our_ucred->uid, our_ucred->gid, m->header->type, NULL, m->path, m->interface, m->member))
granted = true;