<div dir="ltr">Thanks, Dan. I&#39;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">&lt;<a href="mailto:dcbw@redhat.com" target="_blank">dcbw@redhat.com</a>&gt;</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>


&gt; If we receive a scan request via D-Bus, and wpa_supplicant_scan_trigger<br>
&gt; 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 &quot;.ScanError&quot;<br>
<br>
since it&#39;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&#39;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>
&gt; Signed-hostap: mukesh agrawal &lt;<a href="mailto:quiche@chromium.org">quiche@chromium.org</a>&gt;<br>
&gt; ---<br>
&gt; Â wpa_supplicant/dbus/dbus_new_handlers.c | 10 ++++++++--<br>
&gt; Â 1 file changed, 8 insertions(+), 2 deletions(-)<br>
&gt;<br>
&gt; diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c<br>
&gt; index 4d5e109..d4f9a77 100644<br>
&gt; --- a/wpa_supplicant/dbus/dbus_new_handlers.c<br>
&gt; +++ b/wpa_supplicant/dbus/dbus_new_handlers.c<br>
&gt; @@ -1221,7 +1221,10 @@ DBusMessage * wpas_dbus_handler_scan(DBusMessage *message,<br>
&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  &quot;passive scan&quot;);<br>
&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  goto out;<br>
&gt; Â  Â  Â  Â  Â  Â  Â  } else if (params.freqs &amp;&amp; params.freqs[0]) {<br>
&gt; - Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  wpa_supplicant_trigger_scan(wpa_s, &amp;params);<br>
&gt; + Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  if (wpa_supplicant_trigger_scan(wpa_s, &amp;params)) {<br>
&gt; + Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  reply = wpas_dbus_error_unknown_error(<br>
&gt; + Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  message, &quot;Scan request rejected&quot;);<br>
&gt; + Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  }<br>
&gt; Â  Â  Â  Â  Â  Â  Â  } else {<br>
&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  wpa_s-&gt;scan_req = 2;<br>
&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  wpa_supplicant_req_scan(wpa_s, 0, 0);<br>
&gt; @@ -1231,7 +1234,10 @@ DBusMessage * wpas_dbus_handler_scan(DBusMessage *message,<br>
&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  /* Add wildcard ssid */<br>
&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  params.num_ssids++;<br>
&gt; Â  Â  Â  Â  Â  Â  Â  }<br>
&gt; - Â  Â  Â  Â  Â  Â  wpa_supplicant_trigger_scan(wpa_s, &amp;params);<br>
&gt; + Â  Â  Â  Â  Â  Â  if (wpa_supplicant_trigger_scan(wpa_s, &amp;params)) {<br>
&gt; + Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  reply = wpas_dbus_error_unknown_error(<br>
&gt; + Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  message, &quot;Scan request rejected&quot;);<br>
&gt; + Â  Â  Â  Â  Â  Â  }<br>
&gt; Â  Â  Â  } else {<br>
&gt; Â  Â  Â  Â  Â  Â  Â  wpa_printf(MSG_DEBUG, &quot;wpas_dbus_handler_scan[dbus]: &quot;<br>
&gt; Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â  Â &quot;Unknown scan type: %s&quot;, type);<br>
<br>
<br>
</div></div></blockquote></div><br></div>