From 08672cb5071af320127f6fe8d0916f62bedd82f3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 8 Mar 2011 02:27:43 +0100 Subject: [PATCH] dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object is unknown --- src/dbus-job.c | 7 +++++-- src/dbus-unit.c | 7 +++++-- src/dbus.h | 8 ++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/dbus-job.c b/src/dbus-job.c index 2a33039bd..e90d585b6 100644 --- a/src/dbus-job.c +++ b/src/dbus-job.c @@ -193,8 +193,11 @@ static DBusHandlerResult bus_job_message_handler(DBusConnection *connection, DBu if (r == -ENOMEM) return DBUS_HANDLER_RESULT_NEED_MEMORY; - if (r == -ENOENT) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + if (r == -ENOENT) { + DBusError e; + dbus_set_error_const(&e, DBUS_ERROR_UNKNOWN_OBJECT, "Unknown job"); + return bus_send_error_reply(m, connection, message, &e, r); + } return bus_send_error_reply(m, connection, message, NULL, r); } diff --git a/src/dbus-unit.c b/src/dbus-unit.c index 835eeda32..cd6ad843f 100644 --- a/src/dbus-unit.c +++ b/src/dbus-unit.c @@ -567,8 +567,11 @@ static DBusHandlerResult bus_unit_message_handler(DBusConnection *connection, DB if (r == -ENOMEM) return DBUS_HANDLER_RESULT_NEED_MEMORY; - if (r == -ENOENT) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + if (r == -ENOENT) { + DBusError e; + dbus_set_error_const(&e, DBUS_ERROR_UNKNOWN_OBJECT, "Unknown unit"); + return bus_send_error_reply(m, connection, message, &e, r); + } return bus_send_error_reply(m, connection, message, NULL, r); } diff --git a/src/dbus.h b/src/dbus.h index 255b65337..2aaeb4745 100644 --- a/src/dbus.h +++ b/src/dbus.h @@ -24,6 +24,14 @@ #include +#ifndef DBUS_ERROR_UNKNOWN_OBJECT +#define DBUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject" +#endif + +#ifndef DBUS_ERROR_UNKNOWN_INTERFACE +#define DBUS_ERROR_UNKNOWN_INTERFACE "org.freedesktop.DBus.Error.UnknownInterface" +#endif + #include "manager.h" typedef int (*BusPropertyCallback)(Manager *m, DBusMessageIter *iter, const char *property, void *data); -- 2.30.2