[PATCH] wpa_supplicant: send a dbus reply only if requested by the caller

Helmut Schaa helmut.schaa at googlemail.com
Mon Feb 9 11:12:41 EST 2009


wpa_supplicant should not send a dbus reply as response to a method call if
no reply was requested by the caller. Sending a reply even if not requested
is basically no problem but triggers dbus warnings like the one below.

Feb  9 07:31:23 linux-gvjr dbus-daemon: Rejected send message, 2 matched rules;
type="error", sender=":1.129" (uid=0 pid=30228 comm="/usr/sbin/wpa_supplicant
-c /etc/wpa_supplicant/wp") interface="(unset)" member="(unset)" error
name="fi.epitest.hostap.WPASupplicant.InvalidInterface" requested_reply=0
destination=":1.128" (uid=0 pid=30226 comm="/usr/sbin/NetworkManager "))

Signed-off-by: Helmut Schaa <helmut.schaa at googlemail.com>
---
diff --git a/wpa_supplicant/ctrl_iface_dbus.c b/wpa_supplicant/ctrl_iface_dbus.c
index b772247..e7138d7 100644
--- a/wpa_supplicant/ctrl_iface_dbus.c
+++ b/wpa_supplicant/ctrl_iface_dbus.c
@@ -548,7 +548,8 @@ static DBusHandlerResult wpas_iface_message_handler(DBusConnection *connection,
 
 	/* If the message was handled, send back the reply */
 	if (reply) {
-		dbus_connection_send(connection, reply, NULL);
+		if(!dbus_message_get_no_reply(message))
+			dbus_connection_send(connection, reply, NULL);
 		dbus_message_unref(reply);
 	}
 
@@ -607,7 +608,8 @@ static DBusHandlerResult wpas_message_handler(DBusConnection *connection,
 
 	/* If the message was handled, send back the reply */
 	if (reply) {
-		dbus_connection_send(connection, reply, NULL);
+		if (!dbus_message_get_no_reply(message))
+			dbus_connection_send(connection, reply, NULL);
 		dbus_message_unref(reply);
 	}


More information about the HostAP mailing list