chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
638866c
)
bus: ignore the passed UID on EXTERNAL auth if ANONYMOUS is allowed
author
Lennart Poettering
<lennart@poettering.net>
Mon, 1 Apr 2013 01:24:03 +0000
(
03:24
+0200)
committer
Lennart Poettering
<lennart@poettering.net>
Mon, 1 Apr 2013 01:29:29 +0000
(
03:29
+0200)
src/libsystemd-bus/bus-socket.c
patch
|
blob
|
history
diff --git
a/src/libsystemd-bus/bus-socket.c
b/src/libsystemd-bus/bus-socket.c
index b9ef7c03720ea6f58e5d88961d7015ecbafc7f9f..30e594243d5d62893182f30d21b1600cc22b84c4 100644
(file)
--- a/
src/libsystemd-bus/bus-socket.c
+++ b/
src/libsystemd-bus/bus-socket.c
@@
-235,7
+235,7
@@
static int verify_external_token(sd_bus *b, const char *p, size_t l) {
* the owner of this bus wanted authentication he should have
* checked SO_PEERCRED before even creating the bus object. */
- if (!b->ucred_valid)
+ if (!b->
anonymous_auth && !b->
ucred_valid)
return 0;
if (l <= 0)
@@
-258,7
+258,9
@@
static int verify_external_token(sd_bus *b, const char *p, size_t l) {
if (r < 0)
return 0;
- if (u != b->ucred.uid)
+ /* We ignore the passed value if anonymous authentication is
+ * on anyway. */
+ if (!b->anonymous_auth && u != b->ucred.uid)
return 0;
return 1;