diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2015-01-18 13:54:46 +0100 |
---|---|---|
committer | David Herrmann <dh.herrmann@gmail.com> | 2015-01-18 13:54:46 +0100 |
commit | e23f4bb525991c5908be0d0e7f8374c964d9996c (patch) | |
tree | cf81372749140923d3c4724996286e9108d621c2 | |
parent | d340f82032e4eb538e7b79087d95d5af1ae3dd91 (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.c | 12 |
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; } |