diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-01-07 20:25:30 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-01-07 20:25:30 +0100 |
commit | d29ae2914e1146f45ff4104faafef5331837bed7 (patch) | |
tree | c089dd2d77869d4ca8c6aff2a0ea6f4e2865d9f3 /src/libsystemd | |
parent | 76877fb9ccb7f9f921ea921cf692f4d2774d590c (diff) | |
download | systemd-d29ae2914e1146f45ff4104faafef5331837bed7.tar.gz |
sd-bus: unify how we set the sender of synthetic messages
Diffstat (limited to 'src/libsystemd')
-rw-r--r-- | src/libsystemd/sd-bus/bus-kernel.c | 10 | ||||
-rw-r--r-- | src/libsystemd/sd-bus/bus-message.c | 20 | ||||
-rw-r--r-- | src/libsystemd/sd-bus/bus-message.h | 3 | ||||
-rw-r--r-- | src/libsystemd/sd-bus/sd-bus.c | 11 |
4 files changed, 23 insertions, 21 deletions
diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c index 4dcea8ee71..7c946e61c2 100644 --- a/src/libsystemd/sd-bus/bus-kernel.c +++ b/src/libsystemd/sd-bus/bus-kernel.c @@ -379,15 +379,6 @@ fail: return r; } -static void bus_message_set_sender_driver(sd_bus *bus, sd_bus_message *m) { - assert(bus); - assert(m); - - m->sender = m->creds.unique_name = (char*) "org.freedesktop.DBus"; - m->creds.well_known_names_driver = true; - m->creds.mask |= (SD_BUS_CREDS_UNIQUE_NAME|SD_BUS_CREDS_WELL_KNOWN_NAMES) & bus->creds_mask; -} - static void unset_memfds(struct sd_bus_message *m) { struct bus_body_part *part; unsigned i; @@ -1274,7 +1265,6 @@ static int translate_reply( if (r < 0) return r; - bus_message_set_sender_driver(bus, m); message_set_timestamp(bus, m, ts); r = bus_seal_synthetic_message(bus, m); diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c index 0f9334bb84..f352c72981 100644 --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c @@ -754,6 +754,24 @@ _public_ int sd_bus_message_new_method_errnof( return sd_bus_message_new_method_error(call, m, &berror); } +void bus_message_set_sender_local(sd_bus *bus, sd_bus_message *m) { + assert(bus); + assert(m); + + m->sender = m->creds.unique_name = (char*) "org.freedesktop.DBus.Local"; + m->creds.well_known_names_local = true; + m->creds.mask |= (SD_BUS_CREDS_UNIQUE_NAME|SD_BUS_CREDS_WELL_KNOWN_NAMES) & bus->creds_mask; +} + +void bus_message_set_sender_driver(sd_bus *bus, sd_bus_message *m) { + assert(bus); + assert(m); + + m->sender = m->creds.unique_name = (char*) "org.freedesktop.DBus"; + m->creds.well_known_names_driver = true; + m->creds.mask |= (SD_BUS_CREDS_UNIQUE_NAME|SD_BUS_CREDS_WELL_KNOWN_NAMES) & bus->creds_mask; +} + int bus_message_new_synthetic_error( sd_bus *bus, uint64_t cookie, @@ -796,6 +814,8 @@ int bus_message_new_synthetic_error( t->error._need_free = -1; + bus_message_set_sender_driver(bus, t); + *m = t; return 0; diff --git a/src/libsystemd/sd-bus/bus-message.h b/src/libsystemd/sd-bus/bus-message.h index 4dd280dcf0..b4cdce7bf4 100644 --- a/src/libsystemd/sd-bus/bus-message.h +++ b/src/libsystemd/sd-bus/bus-message.h @@ -235,3 +235,6 @@ int bus_message_new_synthetic_error(sd_bus *bus, uint64_t serial, const sd_bus_e int bus_message_remarshal(sd_bus *bus, sd_bus_message **m); int bus_message_append_sender(sd_bus_message *m, const char *sender); + +void bus_message_set_sender_driver(sd_bus *bus, sd_bus_message *m); +void bus_message_set_sender_local(sd_bus *bus, sd_bus_message *m); diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index a8d03b8ac4..4b1c60edac 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -2140,8 +2140,6 @@ static int process_timeout(sd_bus *bus) { if (r < 0) return r; - m->sender = "org.freedesktop.DBus"; - r = bus_seal_synthetic_message(bus, m); if (r < 0) return r; @@ -2544,15 +2542,6 @@ null_message: return r; } -static void bus_message_set_sender_local(sd_bus *bus, sd_bus_message *m) { - assert(bus); - assert(m); - - m->sender = m->creds.unique_name = (char*) "org.freedesktop.DBus.Local"; - m->creds.well_known_names_local = true; - m->creds.mask |= (SD_BUS_CREDS_UNIQUE_NAME|SD_BUS_CREDS_WELL_KNOWN_NAMES) & bus->creds_mask; -} - static int process_closing(sd_bus *bus, sd_bus_message **ret) { _cleanup_bus_message_unref_ sd_bus_message *m = NULL; struct reply_callback *c; |