wpa_supplicant: Drop the old D-Bus interface support
This drops support for the fi.epitest.hostap.WPASupplicant D-Bus name along with the associated CONFIG_CTRL_IFACE_DBUS option. Nothing should really be using this since 2010. This is a just a straightforward removal. Perhaps the dbus_common.c and dbus_new.c can be merged now. Also, the "_NEW" suffix of the config option seems to make even less sense than it used to. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
This commit is contained in:
parent
192d061add
commit
6a8dee76d4
19 changed files with 36 additions and 2771 deletions
|
@ -1,91 +0,0 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import dbus
|
||||
import sys, os
|
||||
import time
|
||||
|
||||
WPAS_DBUS_SERVICE = "fi.epitest.hostap.WPASupplicant"
|
||||
WPAS_DBUS_INTERFACE = "fi.epitest.hostap.WPASupplicant"
|
||||
WPAS_DBUS_OPATH = "/fi/epitest/hostap/WPASupplicant"
|
||||
|
||||
WPAS_DBUS_INTERFACES_INTERFACE = "fi.epitest.hostap.WPASupplicant.Interface"
|
||||
WPAS_DBUS_INTERFACES_OPATH = "/fi/epitest/hostap/WPASupplicant/Interfaces"
|
||||
WPAS_DBUS_BSSID_INTERFACE = "fi.epitest.hostap.WPASupplicant.BSSID"
|
||||
|
||||
def byte_array_to_string(s):
|
||||
import urllib
|
||||
r = ""
|
||||
for c in s:
|
||||
if c >= 32 and c < 127:
|
||||
r += "%c" % c
|
||||
else:
|
||||
r += urllib.quote(chr(c))
|
||||
return r
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 2:
|
||||
print("Usage: wpas-test.py <interface>")
|
||||
os._exit(1)
|
||||
|
||||
ifname = sys.argv[1]
|
||||
|
||||
bus = dbus.SystemBus()
|
||||
wpas_obj = bus.get_object(WPAS_DBUS_SERVICE, WPAS_DBUS_OPATH)
|
||||
wpas = dbus.Interface(wpas_obj, WPAS_DBUS_INTERFACE)
|
||||
|
||||
# See if wpa_supplicant already knows about this interface
|
||||
path = None
|
||||
try:
|
||||
path = wpas.getInterface(ifname)
|
||||
except dbus.dbus_bindings.DBusException as exc:
|
||||
if str(exc) != "wpa_supplicant knows nothing about this interface.":
|
||||
raise exc
|
||||
try:
|
||||
path = wpas.addInterface(ifname, {'driver': dbus.Variant('wext')})
|
||||
except dbus.dbus_bindings.DBusException as exc:
|
||||
if str(exc) != "wpa_supplicant already controls this interface.":
|
||||
raise exc
|
||||
|
||||
if_obj = bus.get_object(WPAS_DBUS_SERVICE, path)
|
||||
iface = dbus.Interface(if_obj, WPAS_DBUS_INTERFACES_INTERFACE)
|
||||
iface.scan()
|
||||
# Should really wait for the "scanResults" signal instead of sleeping
|
||||
time.sleep(5)
|
||||
res = iface.scanResults()
|
||||
|
||||
print("Scanned wireless networks:")
|
||||
for opath in res:
|
||||
net_obj = bus.get_object(WPAS_DBUS_SERVICE, opath)
|
||||
net = dbus.Interface(net_obj, WPAS_DBUS_BSSID_INTERFACE)
|
||||
props = net.properties()
|
||||
|
||||
# Convert the byte-array for SSID and BSSID to printable strings
|
||||
bssid = ""
|
||||
for item in props["bssid"]:
|
||||
bssid = bssid + ":%02x" % item
|
||||
bssid = bssid[1:]
|
||||
ssid = byte_array_to_string(props["ssid"])
|
||||
wpa = "no"
|
||||
if props.has_key("wpaie"):
|
||||
wpa = "yes"
|
||||
wpa2 = "no"
|
||||
if props.has_key("rsnie"):
|
||||
wpa2 = "yes"
|
||||
freq = 0
|
||||
if props.has_key("frequency"):
|
||||
freq = props["frequency"]
|
||||
caps = props["capabilities"]
|
||||
qual = props["quality"]
|
||||
level = props["level"]
|
||||
noise = props["noise"]
|
||||
maxrate = props["maxrate"] / 1000000
|
||||
|
||||
print(" %s :: ssid='%s' wpa=%s wpa2=%s quality=%d%% rate=%d freq=%d" % (bssid, ssid, wpa, wpa2, qual, maxrate, freq))
|
||||
|
||||
wpas.removeInterface(dbus.ObjectPath(path))
|
||||
# Should fail here with unknown interface error
|
||||
iface.scan()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue