chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prep v228: Add remaining updates from upstream (3/3)
[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 563153e2d92b64644f35e3c587cbd4da43a71bd3..0be2f8abef94791facedd88ef1654c82e57a6321 100644
(file)
--- a/
src/login/logind-session-dbus.c
+++ b/
src/login/logind-session-dbus.c
@@
-22,15
+22,16
@@
#include <errno.h>
#include <string.h>
#include <errno.h>
#include <string.h>
-#include "util.h"
-#include "strv.h"
-#include "bus-util.h"
+#include "alloc-util.h"
#include "bus-common-errors.h"
#include "bus-label.h"
#include "bus-common-errors.h"
#include "bus-label.h"
-
-#include "logind.h"
-#include "logind-session.h"
+#include "bus-util.h"
+#include "fd-util.h"
#include "logind-session-device.h"
#include "logind-session-device.h"
+#include "logind-session.h"
+#include "logind.h"
+#include "strv.h"
+#include "util.h"
static int property_get_user(
sd_bus *bus,
static int property_get_user(
sd_bus *bus,
@@
-191,6
+192,7
@@
int bus_session_method_terminate(sd_bus_message *message, void *userdata, sd_bus
message,
CAP_KILL,
"org.freedesktop.login1.manage",
message,
CAP_KILL,
"org.freedesktop.login1.manage",
+ NULL,
false,
s->user->uid,
&s->manager->polkit_registry,
false,
s->user->uid,
&s->manager->polkit_registry,
@@
-232,6
+234,7
@@
int bus_session_method_lock(sd_bus_message *message, void *userdata, sd_bus_erro
message,
CAP_SYS_ADMIN,
"org.freedesktop.login1.lock-sessions",
message,
CAP_SYS_ADMIN,
"org.freedesktop.login1.lock-sessions",
+ NULL,
false,
s->user->uid,
&s->manager->polkit_registry,
false,
s->user->uid,
&s->manager->polkit_registry,
@@
-306,6
+309,7
@@
int bus_session_method_kill(sd_bus_message *message, void *userdata, sd_bus_erro
message,
CAP_KILL,
"org.freedesktop.login1.manage",
message,
CAP_KILL,
"org.freedesktop.login1.manage",
+ NULL,
false,
s->user->uid,
&s->manager->polkit_registry,
false,
s->user->uid,
&s->manager->polkit_registry,
@@
-701,8
+705,11
@@
int session_send_create_reply(Session *s, sd_bus_error *error) {
if (!s->create_message)
return 0;
if (!s->create_message)
return 0;
+/// elogind does not support scope and service jobs
+#if 0
if (!sd_bus_error_is_set(error) && (s->scope_job || s->user->service_job))
return 0;
if (!sd_bus_error_is_set(error) && (s->scope_job || s->user->service_job))
return 0;
+#endif // 0
c = s->create_message;
s->create_message = NULL;
c = s->create_message;
s->create_message = NULL;
@@
-714,9
+721,10
@@
int session_send_create_reply(Session *s, sd_bus_error *error) {
if (fifo_fd < 0)
return fifo_fd;
if (fifo_fd < 0)
return fifo_fd;
- /* Update the session
state file before we notify the client
- * about the result. */
+ /* Update the session
and user state files before we notify
+ *
the client
about the result. */
session_save(s);
session_save(s);
+ user_save(s->user);
p = session_bus_path(s);
if (!p)
p = session_bus_path(s);
if (!p)