On 10/10/2014 04:42 PM, Lukasz Skalski wrote: > 'ListQueuedOwners' method should return 'NameHasNoOwner' error > if chosen name is not available on bus.
Applied, thanks! > > --- > src/bus-proxyd/bus-proxyd.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/src/bus-proxyd/bus-proxyd.c b/src/bus-proxyd/bus-proxyd.c > index 4f44825..52498f3 100644 > --- a/src/bus-proxyd/bus-proxyd.c > +++ b/src/bus-proxyd/bus-proxyd.c > @@ -733,6 +733,7 @@ static int process_driver(sd_bus *a, sd_bus *b, > sd_bus_message *m) { > struct kdbus_cmd_free cmd_free; > struct kdbus_cmd_name *name; > _cleanup_strv_free_ char **owners = NULL; > + _cleanup_bus_error_free_ sd_bus_error error = > SD_BUS_ERROR_NULL; > char *arg0; > int err = 0; > > @@ -743,6 +744,14 @@ static int process_driver(sd_bus *a, sd_bus *b, > sd_bus_message *m) { > if (!service_name_is_valid(arg0)) > return synthetic_reply_method_errno(m, -EINVAL, > NULL); > > + r = sd_bus_get_owner(a, arg0, 0, NULL); > + if (r == -ESRCH || r == -ENXIO) { > + sd_bus_error_setf(&error, > SD_BUS_ERROR_NAME_HAS_NO_OWNER, "Could not get owners of name '%s': no such > name.", arg0); > + return synthetic_reply_method_errno(m, r, &error); > + } > + if (r < 0) > + return synthetic_reply_method_errno(m, r, NULL); > + > cmd.flags = KDBUS_NAME_LIST_QUEUED; > r = ioctl(a->input_fd, KDBUS_CMD_NAME_LIST, &cmd); > if (r < 0) > _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel