mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-01-18 02:44:03 -05:00
tests: hostapd rfkill
Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
ab93fdebf1
commit
cded555f06
@ -10,6 +10,7 @@ import subprocess
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
import hostapd
|
import hostapd
|
||||||
|
from hostapd import HostapdGlobal
|
||||||
import hwsim_utils
|
import hwsim_utils
|
||||||
|
|
||||||
def get_rfkill_id(dev):
|
def get_rfkill_id(dev):
|
||||||
@ -115,3 +116,45 @@ def test_rfkill_autogo(dev, apdev):
|
|||||||
finally:
|
finally:
|
||||||
subprocess.call(['sudo', 'rfkill', 'unblock', id0])
|
subprocess.call(['sudo', 'rfkill', 'unblock', id0])
|
||||||
subprocess.call(['sudo', 'rfkill', 'unblock', id1])
|
subprocess.call(['sudo', 'rfkill', 'unblock', id1])
|
||||||
|
|
||||||
|
def test_rfkill_hostapd(dev, apdev):
|
||||||
|
"""rfkill block/unblock during and prior to hostapd operations"""
|
||||||
|
hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "open" })
|
||||||
|
|
||||||
|
id = get_rfkill_id(hapd)
|
||||||
|
if id is None:
|
||||||
|
return "skip"
|
||||||
|
|
||||||
|
try:
|
||||||
|
subprocess.call(['rfkill', 'block', id])
|
||||||
|
ev = hapd.wait_event(["INTERFACE-DISABLED"], timeout=5)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("INTERFACE-DISABLED event not seen")
|
||||||
|
subprocess.call(['rfkill', 'unblock', id])
|
||||||
|
ev = hapd.wait_event(["INTERFACE-ENABLED"], timeout=5)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("INTERFACE-ENABLED event not seen")
|
||||||
|
# hostapd does not current re-enable beaconing automatically
|
||||||
|
hapd.disable()
|
||||||
|
hapd.enable()
|
||||||
|
dev[0].connect("open", key_mgmt="NONE", scan_freq="2412")
|
||||||
|
subprocess.call(['rfkill', 'block', id])
|
||||||
|
ev = hapd.wait_event(["INTERFACE-DISABLED"], timeout=5)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("INTERFACE-DISABLED event not seen")
|
||||||
|
ev = dev[0].wait_event(["CTRL-EVENT-DISCONNECTED"], timeout=10)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Missing disconnection event")
|
||||||
|
dev[0].request("DISCONNECT")
|
||||||
|
hapd.disable()
|
||||||
|
|
||||||
|
hglobal = HostapdGlobal()
|
||||||
|
hglobal.flush()
|
||||||
|
hglobal.remove(apdev[0]['ifname'])
|
||||||
|
|
||||||
|
hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "open2" },
|
||||||
|
no_enable=True)
|
||||||
|
if "FAIL" not in hapd.request("ENABLE"):
|
||||||
|
raise Exception("ENABLE succeeded unexpectedly (rfkill)")
|
||||||
|
finally:
|
||||||
|
subprocess.call(['rfkill', 'unblock', id])
|
||||||
|
Loading…
Reference in New Issue
Block a user