dbus: Treat '' in SSIDs of Interface.Scan as a request for broadcast scan
authorDaniel Kurtz <djkurtz@google.com>
Sat, 9 Oct 2010 13:27:53 +0000 (16:27 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 9 Oct 2010 13:27:53 +0000 (16:27 +0300)
commit556522ee09cf574acbdbbc375783d981dfb0f9e3
treed61b12e11a318cdf3f4b662d59429c39bb01f805
parenta7af023b84bd2bd8f3bd1f91db7fab83b58d6539
dbus: Treat '' in SSIDs of Interface.Scan as a request for broadcast scan

This patch changes wpa_supplicant policy for handling '' in SSIDs field of
Interface.SSID DBus message. It treats '' (zero-length) SSID as a request
for a broadcast scan, instead of ignoring it.

This patch updates DBus API .Scan() logic per the test cases listed below:

1) Interface.Scan({'Type':'active', 'Channel':(2412, 20)})
   Request:     Active scan with only '' SSID (1 channel)
   Should be:   1 broadcast ProbeRequest on specified channel
   Previous:    1 broadcast ProbeRequest on specified channel
   This Patch:  1 broadcast ProbeRequest on specified channel

2) Interface.Scan({'Type':'active', 'Channel':(2412, 20), 'SSIDs':['']})
   Request:     Active scan with only '' SSID (1 channel)
   Should be:   1 broadcast ProbeRequest on specified channel
   Previous:    No ProbeRequests; passive scan results for specified channel
   This Patch:  FIXED: 1 broadcast ProbeRequest on specified channel

3) Interface.Scan({'Type':'active', 'Channel':(2412, 20), 'SSIDs':['MySSID']})
   Request:     Active scan with only non-'' SSIDs (1 channel)
   Should be:   1 directed ProbeRequest for each SSID on specified channel,
no broadcast ProbeRequest
   Previous:    1 directed ProbeRequest for each SSID on specified channel,
no broadcast ProbeRequest
   This Patch:  1 directed ProbeRequest for each SSID on specified channel,
no broadcast ProbeRequest

4) Interface.Scan({'Type':'active', 'Channel':(2412, 20), 'SSIDs':['',
'MySSID']})
   Request:     Active scan with SSIDs, including 1 '' SSID (1 channel)
   Should be:   1 broadcast ProbeRequest, 1 directed ProbeRequest for each
non-'' SSID on specified channel
   Previous:    1 directed ProbeRequest for each non-'' SSID on specified
channel
   This Patch:  FIXED: 1 broadcast ProbeRequest, 1 directed ProbeRequest for
each non-'' SSID on specified channel
wpa_supplicant/dbus/dbus_new_handlers.c