tests: Use bridge in sigma_dut_ap_eap_osen
This is needed to allow sigma_dut to enable ap_isolate=1. In addition, verify that the two associated STAs with RSN(EAP) and OSEN cannot exchange frames between them. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
5d332a13f7
commit
4902eb04b1
1 changed files with 16 additions and 2 deletions
|
@ -17,6 +17,7 @@ import time
|
||||||
import hostapd
|
import hostapd
|
||||||
from utils import HwsimSkip
|
from utils import HwsimSkip
|
||||||
from hwsim import HWSimRadio
|
from hwsim import HWSimRadio
|
||||||
|
import hwsim_utils
|
||||||
from test_dpp import check_dpp_capab, update_hapd_config
|
from test_dpp import check_dpp_capab, update_hapd_config
|
||||||
from test_suite_b import check_suite_b_192_capa, suite_b_as_params, suite_b_192_rsa_ap_params
|
from test_suite_b import check_suite_b_192_capa, suite_b_as_params, suite_b_192_rsa_ap_params
|
||||||
from test_ap_eap import check_eap_capa
|
from test_ap_eap import check_eap_capa
|
||||||
|
@ -63,7 +64,8 @@ def sigma_dut_cmd_check(cmd, port=9000, timeout=2):
|
||||||
raise Exception("sigma_dut command failed: " + cmd)
|
raise Exception("sigma_dut command failed: " + cmd)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def start_sigma_dut(ifname, debug=False, hostapd_logdir=None, cert_path=None):
|
def start_sigma_dut(ifname, debug=False, hostapd_logdir=None, cert_path=None,
|
||||||
|
bridge=None):
|
||||||
check_sigma_dut()
|
check_sigma_dut()
|
||||||
cmd = [ './sigma_dut',
|
cmd = [ './sigma_dut',
|
||||||
'-M', ifname,
|
'-M', ifname,
|
||||||
|
@ -78,6 +80,8 @@ def start_sigma_dut(ifname, debug=False, hostapd_logdir=None, cert_path=None):
|
||||||
cmd += [ '-H', hostapd_logdir ]
|
cmd += [ '-H', hostapd_logdir ]
|
||||||
if cert_path:
|
if cert_path:
|
||||||
cmd += [ '-C', cert_path ]
|
cmd += [ '-C', cert_path ]
|
||||||
|
if bridge:
|
||||||
|
cmd += [ '-b', bridge ]
|
||||||
sigma = subprocess.Popen(cmd, stdout=subprocess.PIPE,
|
sigma = subprocess.Popen(cmd, stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.PIPE)
|
stderr=subprocess.PIPE)
|
||||||
for i in range(20):
|
for i in range(20):
|
||||||
|
@ -2353,7 +2357,7 @@ def test_sigma_dut_ap_eap_osen(dev, apdev, params):
|
||||||
logdir = os.path.join(params['logdir'],
|
logdir = os.path.join(params['logdir'],
|
||||||
"sigma_dut_ap_eap_osen.sigma-hostapd")
|
"sigma_dut_ap_eap_osen.sigma-hostapd")
|
||||||
with HWSimRadio() as (radio, iface):
|
with HWSimRadio() as (radio, iface):
|
||||||
sigma = start_sigma_dut(iface, hostapd_logdir=logdir)
|
sigma = start_sigma_dut(iface, bridge="ap-br0", hostapd_logdir=logdir)
|
||||||
try:
|
try:
|
||||||
sigma_dut_cmd_check("ap_reset_default")
|
sigma_dut_cmd_check("ap_reset_default")
|
||||||
sigma_dut_cmd_check("ap_set_wireless,NAME,AP,CHANNEL,1,SSID,test-hs20,MODE,11ng")
|
sigma_dut_cmd_check("ap_set_wireless,NAME,AP,CHANNEL,1,SSID,test-hs20,MODE,11ng")
|
||||||
|
@ -2361,6 +2365,9 @@ def test_sigma_dut_ap_eap_osen(dev, apdev, params):
|
||||||
sigma_dut_cmd_check("ap_set_security,NAME,AP,KEYMGNT,WPA2-ENT-OSEN,PMF,Optional")
|
sigma_dut_cmd_check("ap_set_security,NAME,AP,KEYMGNT,WPA2-ENT-OSEN,PMF,Optional")
|
||||||
sigma_dut_cmd_check("ap_config_commit,NAME,AP")
|
sigma_dut_cmd_check("ap_config_commit,NAME,AP")
|
||||||
|
|
||||||
|
subprocess.call(['brctl', 'setfd', 'ap-br0', '0'])
|
||||||
|
subprocess.call(['ip', 'link', 'set', 'dev', 'ap-br0', 'up'])
|
||||||
|
|
||||||
# RSN-OSEN (for OSU)
|
# RSN-OSEN (for OSU)
|
||||||
dev[0].connect("test-hs20", proto="OSEN", key_mgmt="OSEN",
|
dev[0].connect("test-hs20", proto="OSEN", key_mgmt="OSEN",
|
||||||
pairwise="CCMP",
|
pairwise="CCMP",
|
||||||
|
@ -2373,9 +2380,16 @@ def test_sigma_dut_ap_eap_osen(dev, apdev, params):
|
||||||
ca_cert="auth_serv/ca.pem", phase2="auth=MSCHAPV2",
|
ca_cert="auth_serv/ca.pem", phase2="auth=MSCHAPV2",
|
||||||
ieee80211w='2', scan_freq="2412")
|
ieee80211w='2', scan_freq="2412")
|
||||||
|
|
||||||
|
hwsim_utils.test_connectivity(dev[0], dev[1], broadcast=False,
|
||||||
|
success_expected=False, timeout=1)
|
||||||
|
|
||||||
sigma_dut_cmd_check("ap_reset_default")
|
sigma_dut_cmd_check("ap_reset_default")
|
||||||
finally:
|
finally:
|
||||||
stop_sigma_dut(sigma)
|
stop_sigma_dut(sigma)
|
||||||
|
subprocess.call(['ip', 'link', 'set', 'dev', 'ap-br0', 'down'],
|
||||||
|
stderr=open('/dev/null', 'w'))
|
||||||
|
subprocess.call(['brctl', 'delbr', 'ap-br0'],
|
||||||
|
stderr=open('/dev/null', 'w'))
|
||||||
|
|
||||||
def test_sigma_dut_ap_eap(dev, apdev, params):
|
def test_sigma_dut_ap_eap(dev, apdev, params):
|
||||||
"""sigma_dut controlled AP WPA2-Enterprise"""
|
"""sigma_dut controlled AP WPA2-Enterprise"""
|
||||||
|
|
Loading…
Reference in a new issue