<div dir="ltr">Thanks, Dan. I'll update my patch.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 8, 2014 at 9:19 PM, Dan Williams <span dir="ltr"><<a href="mailto:dcbw@redhat.com" target="_blank">dcbw@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Tue, 2014-04-08 at 17:59 -0700, <a href="mailto:quiche@chromium.org">quiche@chromium.org</a> wrote:<br>
> If we receive a scan request via D-Bus, and wpa_supplicant_scan_trigger<br>
> fails, return the failure to the caller over D-Bus.<br>
<br>
</div>I would suggest making a new namespaced error for the scan failure,<br>
which is API, instead of using a magic error string in the message.<br>
This makes it easier for clients to depend on the error.<br>
<br>
Copy and paste wpas_dbus_error_unknown_error(), rename it, and #define a<br>
new WPAS_DBUS_ERROR_UNKNOWN_ERROR called perhaps<br>
WPA_DBUS_ERROR_IFACE_SCAN_ERROR and defined to:<br>
<br>
WPAS_DBUS_NEW_IFACE_INTERFACE ".ScanError"<br>
<br>
since it's an interface (eg, network interface) specific error.<br>
<br>
The error string passed to dbus_message_new_error() is simply<br>
informational, and isn't supposed to be API in any way.<br>
<span class="HOEnZb"><font color="#888888"><br>
Dan<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> Signed-hostap: mukesh agrawal <<a href="mailto:quiche@chromium.org">quiche@chromium.org</a>><br>
> ---<br>
> Â wpa_supplicant/dbus/dbus_new_handlers.c | 10 ++++++++--<br>
> Â 1 file changed, 8 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c<br>
> index 4d5e109..d4f9a77 100644<br>
> --- a/wpa_supplicant/dbus/dbus_new_handlers.c<br>
> +++ b/wpa_supplicant/dbus/dbus_new_handlers.c<br>
> @@ -1221,7 +1221,10 @@ DBusMessage * wpas_dbus_handler_scan(DBusMessage *message,<br>
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "passive scan");<br>
> Â Â Â Â Â Â Â Â Â Â Â goto out;<br>
> Â Â Â Â Â Â Â } else if (params.freqs && params.freqs[0]) {<br>
> - Â Â Â Â Â Â Â Â Â Â wpa_supplicant_trigger_scan(wpa_s, &params);<br>
> + Â Â Â Â Â Â Â Â Â Â if (wpa_supplicant_trigger_scan(wpa_s, &params)) {<br>
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â reply = wpas_dbus_error_unknown_error(<br>
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â message, "Scan request rejected");<br>
> + Â Â Â Â Â Â Â Â Â Â }<br>
> Â Â Â Â Â Â Â } else {<br>
> Â Â Â Â Â Â Â Â Â Â Â wpa_s->scan_req = 2;<br>
> Â Â Â Â Â Â Â Â Â Â Â wpa_supplicant_req_scan(wpa_s, 0, 0);<br>
> @@ -1231,7 +1234,10 @@ DBusMessage * wpas_dbus_handler_scan(DBusMessage *message,<br>
> Â Â Â Â Â Â Â Â Â Â Â /* Add wildcard ssid */<br>
> Â Â Â Â Â Â Â Â Â Â Â params.num_ssids++;<br>
> Â Â Â Â Â Â Â }<br>
> - Â Â Â Â Â Â wpa_supplicant_trigger_scan(wpa_s, &params);<br>
> + Â Â Â Â Â Â if (wpa_supplicant_trigger_scan(wpa_s, &params)) {<br>
> + Â Â Â Â Â Â Â Â Â Â reply = wpas_dbus_error_unknown_error(<br>
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â message, "Scan request rejected");<br>
> + Â Â Â Â Â Â }<br>
> Â Â Â } else {<br>
> Â Â Â Â Â Â Â wpa_printf(MSG_DEBUG, "wpas_dbus_handler_scan[dbus]: "<br>
> Â Â Â Â Â Â Â Â Â Â Â Â Â "Unknown scan type: %s", type);<br>
<br>
<br>
</div></div></blockquote></div><br></div>