static int server_init(sd_bus **_bus) {
sd_bus *bus = NULL;
+ sd_id128_t id;
int r;
+ const char *unique;
assert(_bus);
goto fail;
}
+ r = sd_bus_get_peer(bus, &id);
+ if (r < 0) {
+ log_error("Failed to get peer ID: %s", strerror(-r));
+ goto fail;
+ }
+
+ r = sd_bus_get_unique_name(bus, &unique);
+ if (r < 0) {
+ log_error("Failed to get unique name: %s", strerror(-r));
+ goto fail;
+ }
+
+ log_info("Peer ID is " SD_ID128_FORMAT_STR ".", SD_ID128_FORMAT_VAL(id));
+ log_info("Unique ID: %s", unique);
+ log_info("Can send file handles: %i", sd_bus_can_send(bus, 'h'));
+
r = sd_bus_request_name(bus, "org.freedesktop.systemd.test", 0);
if (r < 0) {
log_error("Failed to acquire name: %s", strerror(-r));
while (!client1_gone || !client2_gone) {
_cleanup_bus_message_unref_ sd_bus_message *m = NULL, *reply = NULL;
+ pid_t pid = 0;
r = sd_bus_process(bus, &m);
if (r < 0) {
if (!m)
continue;
- log_info("Got message! %s", strna(sd_bus_message_get_member(m)));
+ sd_bus_message_get_pid(m, &pid);
+ log_info("Got message! member=%s pid=%lu label=%s", strna(sd_bus_message_get_member(m)), (unsigned long) pid, strna(sd_bus_message_get_label(m)));
/* bus_message_dump(m); */
/* sd_bus_message_rewind(m, true); */