summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2015-01-18 13:54:46 +0100
committerDavid Herrmann <dh.herrmann@gmail.com>2015-01-18 13:54:46 +0100
commite23f4bb525991c5908be0d0e7f8374c964d9996c (patch)
treecf81372749140923d3c4724996286e9108d621c2
parentd340f82032e4eb538e7b79087d95d5af1ae3dd91 (diff)
bus-proxy: fake all UIDs/GIDs, not just the real UID/GID
Make sure we tell the kernel to fake all UIDs/GIDs. Otherwise, the remote side has no chance of querying our effective UID (which is usually what they're interested in).
-rw-r--r--src/bus-proxyd/proxy.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/bus-proxyd/proxy.c b/src/bus-proxyd/proxy.c
index f7daec68fd..329188ecf8 100644
--- a/src/bus-proxyd/proxy.c
+++ b/src/bus-proxyd/proxy.c
@@ -82,13 +82,13 @@ static int proxy_create_dest(Proxy *p, const char *dest, const char *local_sec,
b->fake_pids_valid = true;
b->fake_creds.uid = p->local_creds.uid;
- b->fake_creds.euid = UID_INVALID;
- b->fake_creds.suid = UID_INVALID;
- b->fake_creds.fsuid = UID_INVALID;
+ b->fake_creds.euid = p->local_creds.uid;
+ b->fake_creds.suid = p->local_creds.uid;
+ b->fake_creds.fsuid = p->local_creds.uid;
b->fake_creds.gid = p->local_creds.gid;
- b->fake_creds.egid = GID_INVALID;
- b->fake_creds.sgid = GID_INVALID;
- b->fake_creds.fsgid = GID_INVALID;
+ b->fake_creds.egid = p->local_creds.gid;
+ b->fake_creds.sgid = p->local_creds.gid;
+ b->fake_creds.fsgid = p->local_creds.gid;
b->fake_creds_valid = true;
}