summaryrefslogtreecommitdiff
path: root/src/nm-sudo/nm-sudo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-sudo/nm-sudo.c')
-rw-r--r--src/nm-sudo/nm-sudo.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/nm-sudo/nm-sudo.c b/src/nm-sudo/nm-sudo.c
index c199d8994b..d8cf42f3c8 100644
--- a/src/nm-sudo/nm-sudo.c
+++ b/src/nm-sudo/nm-sudo.c
@@ -290,14 +290,26 @@ _bus_method_call(GDBusConnection * connection,
method_name,
g_variant_get_type_string(parameters));
+ if (!nm_streq(interface_name, NM_SUDO_DBUS_IFACE_NAME))
+ goto out_unknown_method;
+
+ if (nm_streq(method_name, "GetFD")) {
+ g_variant_get(parameters, "(u)", &arg_u);
+ _handle_get_fd(gl, invocation, arg_u);
+ return;
+ }
if (nm_streq(method_name, "Ping")) {
g_variant_get(parameters, "(&s)", &arg_s);
_handle_ping(gl, invocation, arg_s);
- } else if (nm_streq(method_name, "GetFD")) {
- g_variant_get(parameters, "(u)", &arg_u);
- _handle_get_fd(gl, invocation, arg_u);
- } else
- nm_assert_not_reached();
+ return;
+ }
+
+out_unknown_method:
+ g_dbus_method_invocation_return_error(invocation,
+ G_DBUS_ERROR,
+ G_DBUS_ERROR_UNKNOWN_METHOD,
+ "Unknown method %s",
+ method_name);
}
static GDBusInterfaceInfo *const interface_info = NM_DEFINE_GDBUS_INTERFACE_INFO(