chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-bus: add API to check if a client has privileges
[elogind.git]
/
src
/
login
/
logind-session-dbus.c
diff --git
a/src/login/logind-session-dbus.c
b/src/login/logind-session-dbus.c
index 7ee49562cf1539193483f021c58be8eb80bd21e9..7d81500426dc0e7bbc5fed8c153a2f08b6bab719 100644
(file)
--- a/
src/login/logind-session-dbus.c
+++ b/
src/login/logind-session-dbus.c
@@
-27,6
+27,7
@@
#include "strv.h"
#include "bus-util.h"
#include "bus-errors.h"
#include "strv.h"
#include "bus-util.h"
#include "bus-errors.h"
+#include "bus-label.h"
#include "logind.h"
#include "logind-session.h"
#include "logind.h"
#include "logind-session.h"
@@
-188,7
+189,7
@@
static int method_terminate(sd_bus *bus, sd_bus_message *message, void *userdata
assert(message);
assert(s);
assert(message);
assert(s);
- r = session_stop(s);
+ r = session_stop(s
, true
);
if (r < 0)
return r;
if (r < 0)
return r;
@@
-492,7
+493,7
@@
int session_object_find(sd_bus *bus, const char *path, const char *interface, vo
sd_bus_message *message;
pid_t pid;
sd_bus_message *message;
pid_t pid;
- message = sd_bus_get_current(bus);
+ message = sd_bus_get_current
_message
(bus);
if (!message)
return 0;
if (!message)
return 0;
@@
-515,7
+516,7
@@
int session_object_find(sd_bus *bus, const char *path, const char *interface, vo
if (!p)
return 0;
if (!p)
return 0;
- e =
sd_
bus_label_unescape(p);
+ e = bus_label_unescape(p);
if (!e)
return -ENOMEM;
if (!e)
return -ENOMEM;
@@
-533,7
+534,7
@@
char *session_bus_path(Session *s) {
assert(s);
assert(s);
- t =
sd_
bus_label_escape(s->id);
+ t = bus_label_escape(s->id);
if (!t)
return NULL;
if (!t)
return NULL;
@@
-558,11
+559,9
@@
int session_node_enumerator(sd_bus *bus, const char *path, void *userdata, char
if (!p)
return -ENOMEM;
if (!p)
return -ENOMEM;
- r = strv_push(&l, p);
- if (r < 0) {
- free(p);
+ r = strv_consume(&l, p);
+ if (r < 0)
return r;
return r;
- }
}
*nodes = l;
}
*nodes = l;
@@
-677,9
+676,11
@@
int session_send_create_reply(Session *s, sd_bus_error *error) {
return -ENOMEM;
log_debug("Sending reply about created session: "
return -ENOMEM;
log_debug("Sending reply about created session: "
- "id=%s object_path=%s runtime_path=%s session_fd=%d seat=%s vtnr=%u",
+ "id=%s object_path=%s uid=%u runtime_path=%s "
+ "session_fd=%d seat=%s vtnr=%u",
s->id,
p,
s->id,
p,
+ (uint32_t) s->user->uid,
s->user->runtime_path,
fifo_fd,
s->seat ? s->seat->id : "",
s->user->runtime_path,
fifo_fd,
s->seat ? s->seat->id : "",