X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-control.c;h=a8983168abeee595d3b6b5f146f4c86b8392929c;hb=f98a58fe894d34e4d9675757180f34a8523c936e;hp=f08d78a7891d1a40dbef1abe4247ce952d80d4ac;hpb=c20733832fdfc780380f1b276655d69782057e49;p=elogind.git diff --git a/src/libsystemd-bus/bus-control.c b/src/libsystemd-bus/bus-control.c index f08d78a78..a8983168a 100644 --- a/src/libsystemd-bus/bus-control.c +++ b/src/libsystemd-bus/bus-control.c @@ -96,7 +96,7 @@ static int bus_request_name_dbus1(sd_bus *bus, const char *name, uint64_t flags) r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "RequestName", NULL, @@ -173,7 +173,7 @@ static int bus_release_name_dbus1(sd_bus *bus, const char *name) { r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "ReleaseName", NULL, @@ -230,10 +230,10 @@ static int kernel_get_list(sd_bus *bus, uint64_t flags, char ***x) { KDBUS_ITEM_FOREACH(name, name_list, names) { - if ((flags & KDBUS_NAME_LIST_UNIQUE) && name->id != previous_id) { + if ((flags & KDBUS_NAME_LIST_UNIQUE) && name->owner_id != previous_id) { char *n; - if (asprintf(&n, ":1.%llu", (unsigned long long) name->id) < 0) + if (asprintf(&n, ":1.%llu", (unsigned long long) name->owner_id) < 0) return -ENOMEM; r = strv_push(x, n); @@ -242,7 +242,7 @@ static int kernel_get_list(sd_bus *bus, uint64_t flags, char ***x) { return -ENOMEM; } - previous_id = name->id; + previous_id = name->owner_id; } if (name->size > sizeof(*name) && service_name_is_valid(name->name)) { @@ -295,7 +295,7 @@ static int bus_list_names_dbus1(sd_bus *bus, char ***acquired, char ***activatab r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "ListNames", NULL, @@ -315,7 +315,7 @@ static int bus_list_names_dbus1(sd_bus *bus, char ***acquired, char ***activatab r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "ListActivatableNames", NULL, @@ -565,7 +565,7 @@ static int bus_get_owner_dbus1( r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "GetNameOwner", NULL, @@ -603,7 +603,7 @@ static int bus_get_owner_dbus1( r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "GetConnectionUnixProcessID", NULL, @@ -632,7 +632,7 @@ static int bus_get_owner_dbus1( r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "GetConnectionUnixUser", NULL, @@ -659,7 +659,7 @@ static int bus_get_owner_dbus1( r = sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "GetConnectionSELinuxSecurityContext", NULL, @@ -803,7 +803,7 @@ static int add_name_change_match(sd_bus *bus, item->name_change.new.id = new_owner_id; if (name) - strcpy(item->name_change.name, name); + memcpy(item->name_change.name, name, l); /* If the old name is unset or empty, then * this can match against added names */ @@ -854,7 +854,9 @@ static int add_name_change_match(sd_bus *bus, m->cookie = cookie; item = m->items; - item->size = offsetof(struct kdbus_item, id_change) + sizeof(struct kdbus_notify_id_change); + item->size = + offsetof(struct kdbus_item, id_change) + + sizeof(struct kdbus_notify_id_change); item->id_change.id = name_id; /* If the old name is unset or empty, then this can @@ -1021,7 +1023,7 @@ int bus_add_match_internal_kernel( m = alloca0(sz); m->size = sz; m->cookie = cookie; - m->id = id; + m->owner_id = id; item = m->items; item->size = offsetof(struct kdbus_item, id) + sizeof(uint64_t); @@ -1071,7 +1073,7 @@ static int bus_add_match_internal_dbus1( return sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "AddMatch", NULL, @@ -1109,7 +1111,7 @@ int bus_remove_match_internal_kernel( zero(m); m.size = offsetof(struct kdbus_cmd_match, items); m.cookie = cookie; - m.id = id; + m.owner_id = id; r = ioctl(bus->input_fd, KDBUS_CMD_MATCH_REMOVE, &m); if (r < 0) @@ -1128,7 +1130,7 @@ static int bus_remove_match_internal_dbus1( return sd_bus_call_method( bus, "org.freedesktop.DBus", - "/", + "/org/freedesktop/DBus", "org.freedesktop.DBus", "RemoveMatch", NULL,