chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy
[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 b5ecc322f56e7fba9d6642a3b3e4e60daa6dc5a7..2d447721d9480d6f6845dbd1ca05ba3e4e254791 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,
@@
-249,7
+252,7
@@
int bus_session_method_lock(sd_bus_message *message, void *userdata, sd_bus_erro
}
static int method_set_idle_hint(sd_bus_message *message, void *userdata, sd_bus_error *error) {
}
static int method_set_idle_hint(sd_bus_message *message, void *userdata, sd_bus_error *error) {
- _cleanup_
bus_creds_unref_
sd_bus_creds *creds = NULL;
+ _cleanup_
(sd_bus_creds_unrefp)
sd_bus_creds *creds = NULL;
Session *s = userdata;
uid_t uid;
int r, b;
Session *s = userdata;
uid_t uid;
int r, b;
@@
-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,
@@
-323,7
+327,7
@@
int bus_session_method_kill(sd_bus_message *message, void *userdata, sd_bus_erro
}
static int method_take_control(sd_bus_message *message, void *userdata, sd_bus_error *error) {
}
static int method_take_control(sd_bus_message *message, void *userdata, sd_bus_error *error) {
- _cleanup_
bus_creds_unref_
sd_bus_creds *creds = NULL;
+ _cleanup_
(sd_bus_creds_unrefp)
sd_bus_creds *creds = NULL;
Session *s = userdata;
int r, force;
uid_t uid;
Session *s = userdata;
int r, force;
uid_t uid;
@@
-517,7
+521,7
@@
int session_object_find(sd_bus *bus, const char *path, const char *interface, vo
assert(m);
if (streq(path, "/org/freedesktop/login1/session/self")) {
assert(m);
if (streq(path, "/org/freedesktop/login1/session/self")) {
- _cleanup_
bus_creds_unref_
sd_bus_creds *creds = NULL;
+ _cleanup_
(sd_bus_creds_unrefp)
sd_bus_creds *creds = NULL;
sd_bus_message *message;
const char *name;
sd_bus_message *message;
const char *name;
@@
-594,7
+598,7
@@
int session_node_enumerator(sd_bus *bus, const char *path, void *userdata, char
message = sd_bus_get_current_message(bus);
if (message) {
message = sd_bus_get_current_message(bus);
if (message) {
- _cleanup_
bus_creds_unref_
sd_bus_creds *creds = NULL;
+ _cleanup_
(sd_bus_creds_unrefp)
sd_bus_creds *creds = NULL;
const char *name;
r = sd_bus_query_sender_creds(message, SD_BUS_CREDS_SESSION|SD_BUS_CREDS_AUGMENT, &creds);
const char *name;
r = sd_bus_query_sender_creds(message, SD_BUS_CREDS_SESSION|SD_BUS_CREDS_AUGMENT, &creds);
@@
-688,7
+692,7
@@
int session_send_lock_all(Manager *m, bool lock) {
}
int session_send_create_reply(Session *s, sd_bus_error *error) {
}
int session_send_create_reply(Session *s, sd_bus_error *error) {
- _cleanup_
bus_message_unref_
sd_bus_message *c = NULL;
+ _cleanup_
(sd_bus_message_unrefp)
sd_bus_message *c = NULL;
_cleanup_close_ int fifo_fd = -1;
_cleanup_free_ char *p = NULL;
_cleanup_close_ int fifo_fd = -1;
_cleanup_free_ char *p = NULL;
@@
-701,8
+705,10
@@
int session_send_create_reply(Session *s, sd_bus_error *error) {
if (!s->create_message)
return 0;
if (!s->create_message)
return 0;
+#if 0 /// elogind does not support scope and service jobs
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,8
+720,8
@@
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 and user state file
before we notify the client
- * about the result. */
+ /* Update the session and user state file
s before we notify
+ *
the client
about the result. */
session_save(s);
user_save(s->user);
session_save(s);
user_save(s->user);