From: Zbigniew Jędrzejewski-Szmek Date: Fri, 31 May 2019 13:33:46 +0000 (+0200) Subject: sd-bus: improve bus error message for uknown properties X-Git-Tag: v243-rc1~317^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9e5205d2f79f8ff914ca9c1b838013ef9e595f60;p=thirdparty%2Fsystemd.git sd-bus: improve bus error message for uknown properties "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.) --- 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;