+++ /dev/null
-02:00:00:00:00:00 1
-02:00:00:00:01:00 2
+++ /dev/null
-02:00:00:00:00:00 1
-02:00:00:00:01:00 2
-02:00:00:00:02:00 3
+++ /dev/null
-02:00:00:00:00:00
-02:00:00:00:00:12
-02:00:00:00:00:34
--02:00:00:00:00:12
--02:00:00:00:00:34
-01:01:01:01:01:01
-03:01:01:01:01:03
def send_file(apdev, src, dst):
hapd_global = HostapdGlobal(apdev)
return hapd_global.send_file(src, dst)
+
+def acl_file(dev, apdev, conf):
+ filename = os.path.join("/tmp", conf)
+
+ if conf == 'hostapd.macaddr':
+ with open(filename, 'w') as f:
+ mac0 = dev[0].get_status_field("address")
+ f.write(mac0 + '\n')
+ f.write("02:00:00:00:00:12\n")
+ f.write("02:00:00:00:00:34\n")
+ f.write("-02:00:00:00:00:12\n")
+ f.write("-02:00:00:00:00:34\n")
+ f.write("01:01:01:01:01:01\n")
+ f.write("03:01:01:01:01:03\n")
+ elif conf == 'hostapd.accept':
+ with open(filename, 'w') as f:
+ mac0 = dev[0].get_status_field("address")
+ mac1 = dev[1].get_status_field("address")
+ f.write(mac0 + " 1\n")
+ f.write(mac1 + " 2\n")
+ elif conf == 'hostapd.accept2':
+ with open(filename, 'w') as f:
+ mac0 = dev[0].get_status_field("address")
+ mac1 = dev[1].get_status_field("address")
+ mac2 = dev[2].get_status_field("address")
+ f.write(mac0 + " 1\n")
+ f.write(mac1 + " 2\n")
+ f.write(mac2 + " 3\n")
+ else:
+ return conf
+
+ return filename
"""WPA2-PSK-FT AP with VLAN"""
ssid = "test-ft"
passphrase = "12345678"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
+ hostapd.send_file(apdev[1], filename, filename)
params = ft_params1(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
params = ft_params2(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, conndev="brvlan1")
"""WPA2-PSK-FT AP with VLAN and local key generation"""
ssid = "test-ft"
passphrase = "12345678"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
+ hostapd.send_file(apdev[1], filename, filename)
params = ft_params1a(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
params['ft_psk_generate_local'] = "1"
hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
params = ft_params2a(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
params['ft_psk_generate_local'] = "1"
hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
"""WPA2-PSK-FT AP with VLAN and dest-AP does not have VLAN info locally"""
ssid = "test-ft"
passphrase = "12345678"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
params = ft_params1(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
params = ft_params2(ssid=ssid, passphrase=passphrase)
"""WPA2-PSK-FT AP with VLAN multiple times"""
ssid = "test-ft"
passphrase = "12345678"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
+ hostapd.send_file(apdev[1], filename, filename)
params = ft_params1(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
params = ft_params2(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, roams=50,
"""WPA2-PSK-FT AP over DS with VLAN"""
ssid = "test-ft"
passphrase = "12345678"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
+ hostapd.send_file(apdev[1], filename, filename)
params = ft_params1(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
params = ft_params2(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True,
"""WPA2-PSK-FT AP over DS with VLAN multiple times"""
ssid = "test-ft"
passphrase = "12345678"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
+ hostapd.send_file(apdev[1], filename, filename)
params = ft_params1(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
params = ft_params2(ssid=ssid, passphrase=passphrase)
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True,
"""WPA2-PSK-FT AP over DS (pull PMK) with VLAN"""
ssid = "test-ft"
passphrase = "12345678"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
+ hostapd.send_file(apdev[1], filename, filename)
params = ft_params1(ssid=ssid, passphrase=passphrase)
params["pmk_r1_push"] = "0"
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd0 = hostapd.add_ap(apdev[0]['ifname'], params)
params = ft_params2(ssid=ssid, passphrase=passphrase)
params["pmk_r1_push"] = "0"
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd1 = hostapd.add_ap(apdev[1]['ifname'], params)
run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase, over_ds=True,
"""MAC ACL accept list"""
ssid = "acl"
params = {}
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.macaddr')
+ hostapd.send_file(apdev[0], filename, filename)
params['ssid'] = ssid
- params['accept_mac_file'] = "hostapd.macaddr"
+ params['accept_mac_file'] = filename
hapd = hostapd.add_ap(apdev[0], params)
dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412")
dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412")
"""MAC ACL deny list"""
ssid = "acl"
params = {}
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.macaddr')
+ hostapd.send_file(apdev[0], filename, filename)
params['ssid'] = ssid
- params['deny_mac_file'] = "hostapd.macaddr"
+ params['deny_mac_file'] = filename
hapd = hostapd.add_ap(apdev[0], params)
dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412", passive=True)
dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412", wait_connect=False)
"""MAC ACL accept/deny management"""
ssid = "acl"
params = {}
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.macaddr')
+ hostapd.send_file(apdev[0], filename, filename)
params['ssid'] = ssid
- params['deny_mac_file'] = "hostapd.macaddr"
+ params['deny_mac_file'] = filename
hapd = hostapd.add_ap(apdev[0], params)
accept = hapd.request("ACCEPT_ACL SHOW").splitlines()
def test_ap_vlan_open(dev, apdev):
"""AP VLAN with open network"""
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
params = {"ssid": "test-vlan-open",
"dynamic_vlan": "1",
- "accept_mac_file": "hostapd.accept"}
+ "accept_mac_file": filename}
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412")
def test_ap_vlan_file_open(dev, apdev):
"""AP VLAN with open network and vlan_file mapping"""
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
params = {"ssid": "test-vlan-open",
"dynamic_vlan": "1",
"vlan_file": "hostapd.vlan",
- "accept_mac_file": "hostapd.accept"}
+ "accept_mac_file": filename}
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412")
def test_ap_vlan_file_open2(dev, apdev):
"""AP VLAN with open network and vlan_file mapping (2)"""
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept2')
+ hostapd.send_file(apdev[0], filename, filename)
params = {"ssid": "test-vlan-open",
"dynamic_vlan": "1",
"vlan_file": "hostapd.vlan2",
- "accept_mac_file": "hostapd.accept2"}
+ "accept_mac_file": filename}
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412")
def test_ap_vlan_wpa2(dev, apdev):
"""AP VLAN with WPA2-PSK"""
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
params = hostapd.wpa2_params(ssid="test-vlan",
passphrase="12345678")
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect("test-vlan", psk="12345678", scan_freq="2412")
def test_ap_vlan_wpa2_radius_local(dev, apdev):
"""AP VLAN with WPA2-Enterprise and local file setting VLAN IDs"""
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
params = hostapd.wpa2_eap_params(ssid="test-vlan")
params['dynamic_vlan'] = "0"
params['vlan_file'] = "hostapd.vlan"
params['vlan_bridge'] = "test_br_vlan"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect("test-vlan", key_mgmt="WPA-EAP", eap="PAX",
def test_ap_vlan_tagged(dev, apdev):
"""AP VLAN with tagged interface"""
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
params = {"ssid": "test-vlan-open",
"dynamic_vlan": "1",
"vlan_tagged_interface": "lo",
- "accept_mac_file": "hostapd.accept"}
+ "accept_mac_file": filename}
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect("test-vlan-open", key_mgmt="NONE", scan_freq="2412")
def test_ap_vlan_without_station(dev, apdev, p):
"""AP VLAN with WPA2-PSK and no station"""
try:
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
subprocess.call(['brctl', 'addbr', 'brvlan1'])
subprocess.call(['brctl', 'setfd', 'brvlan1', '0'])
subprocess.call(['ifconfig', 'brvlan1', 'up'])
passphrase="12345678x")
params['dynamic_vlan'] = "1"
params['vlan_file'] = 'hostapd.wlan3.vlan'
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd = hostapd.add_ap(apdev[0], params)
# inject some traffic
def test_ap_vlan_reconnect(dev, apdev):
"""AP VLAN with WPA2-PSK connect, disconnect, connect"""
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
+ hostapd.send_file(apdev[0], filename, filename)
params = hostapd.wpa2_params(ssid="test-vlan",
passphrase="12345678")
params['dynamic_vlan'] = "1"
- params['accept_mac_file'] = "hostapd.accept"
+ params['accept_mac_file'] = filename
hapd = hostapd.add_ap(apdev[0], params)
logger.info("connect sta")
def test_hapd_ctrl_set_deny_mac_file(dev, apdev):
"""hostapd and SET deny_mac_file ctrl_iface command"""
ssid = "hapd-ctrl"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.macaddr')
params = {"ssid": ssid}
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412")
dev[1].connect(ssid, key_mgmt="NONE", scan_freq="2412")
- if "OK" not in hapd.request("SET deny_mac_file hostapd.macaddr"):
+ hapd.send_file(filename, filename)
+ if "OK" not in hapd.request("SET deny_mac_file " + filename):
raise Exception("Unexpected SET failure")
dev[0].wait_disconnected(timeout=15)
ev = dev[1].wait_event(["CTRL-EVENT-DISCONNECTED"], 1)
def test_hapd_ctrl_set_accept_mac_file(dev, apdev):
"""hostapd and SET accept_mac_file ctrl_iface command"""
ssid = "hapd-ctrl"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.macaddr')
params = {"ssid": ssid}
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412")
dev[1].connect(ssid, key_mgmt="NONE", scan_freq="2412")
+ hapd.send_file(filename, filename)
hapd.request("SET macaddr_acl 1")
- if "OK" not in hapd.request("SET accept_mac_file hostapd.macaddr"):
+ if "OK" not in hapd.request("SET accept_mac_file " + filename):
raise Exception("Unexpected SET failure")
dev[1].wait_disconnected(timeout=15)
ev = dev[0].wait_event(["CTRL-EVENT-DISCONNECTED"], 1)
def test_hapd_ctrl_set_accept_mac_file_vlan(dev, apdev):
"""hostapd and SET accept_mac_file ctrl_iface command (VLAN ID)"""
ssid = "hapd-ctrl"
+ filename = hostapd.acl_file(dev, apdev, 'hostapd.accept')
params = {"ssid": ssid}
hapd = hostapd.add_ap(apdev[0], params)
dev[0].connect(ssid, key_mgmt="NONE", scan_freq="2412")
dev[1].connect(ssid, key_mgmt="NONE", scan_freq="2412")
+ hapd.send_file(filename, filename)
hapd.request("SET macaddr_acl 1")
- if "OK" not in hapd.request("SET accept_mac_file hostapd.accept"):
+ if "OK" not in hapd.request("SET accept_mac_file " + filename):
raise Exception("Unexpected SET failure")
dev[1].wait_disconnected(timeout=15)
dev[0].wait_disconnected(timeout=15)