From 9e5205d2f79f8ff914ca9c1b838013ef9e595f60 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 31 May 2019 15:33:46 +0200 Subject: [PATCH] sd-bus: improve bus error message for uknown properties MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit "Unknown interface or property." → "Unknown interface org.freedesktop.network1.Link or property BitRates." (I don't think the quotes are necessary. Dbus names have pretty strict rules.) --- src/libsystemd/sd-bus/bus-objects.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c index d18c5781775..ae643cacc74 100644 --- a/src/libsystemd/sd-bus/bus-objects.c +++ b/src/libsystemd/sd-bus/bus-objects.c @@ -1437,16 +1437,22 @@ int bus_process_object(sd_bus *bus, sd_bus_message *m) { return 0; if (sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Properties", "Get") || - sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Properties", "Set")) + sd_bus_message_is_method_call(m, "org.freedesktop.DBus.Properties", "Set")) { + const char *interface = NULL, *property = NULL; + + (void) sd_bus_message_rewind(m, true); + (void) sd_bus_message_read_basic(m, 's', &interface); + (void) sd_bus_message_read_basic(m, 's', &property); + r = sd_bus_reply_method_errorf( m, SD_BUS_ERROR_UNKNOWN_PROPERTY, - "Unknown property or interface."); - else + "Unknown interface %s or property %s.", strnull(interface), strnull(property)); + } else r = sd_bus_reply_method_errorf( m, SD_BUS_ERROR_UNKNOWN_METHOD, - "Unknown method '%s' or interface '%s'.", m->member, m->interface); + "Unknown method %s or interface %s.", m->member, m->interface); if (r < 0) return r; -- 2.47.3