tests: Add a test for dynamic hostapd config change
test_ap_change_ssid verifies that the SET and RELOAD control interface commands can be used to change the SSID of a hostapd-controlled WPA2-PSK AP, i.e., for a case where the PSK needs to be derived again after the SSID change. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
6f2db2fbdd
commit
709f18d501
2 changed files with 36 additions and 0 deletions
35
tests/hwsim/test_ap_dynamic.py
Normal file
35
tests/hwsim/test_ap_dynamic.py
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# Test cases for dynamic BSS changes with hostapd
|
||||||
|
# Copyright (c) 2013, Qualcomm Atheros, Inc.
|
||||||
|
#
|
||||||
|
# This software may be distributed under the terms of the BSD license.
|
||||||
|
# See README for more details.
|
||||||
|
|
||||||
|
import time
|
||||||
|
import subprocess
|
||||||
|
import logging
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
import hwsim_utils
|
||||||
|
import hostapd
|
||||||
|
|
||||||
|
def test_ap_change_ssid(dev, apdev):
|
||||||
|
"""Dynamic SSID change with hostapd and WPA2-PSK"""
|
||||||
|
params = hostapd.wpa2_params(ssid="test-wpa2-psk-start",
|
||||||
|
passphrase="12345678")
|
||||||
|
hostapd.add_ap(apdev[0]['ifname'], params)
|
||||||
|
id = dev[0].connect("test-wpa2-psk-start", psk="12345678")
|
||||||
|
dev[0].request("DISCONNECT")
|
||||||
|
|
||||||
|
logger.info("Change SSID dynamically")
|
||||||
|
hapd = hostapd.Hostapd(apdev[0]['ifname'])
|
||||||
|
res = hapd.request("SET ssid test-wpa2-psk-new")
|
||||||
|
if "OK" not in res:
|
||||||
|
raise Exception("SET command failed")
|
||||||
|
res = hapd.request("RELOAD")
|
||||||
|
if "OK" not in res:
|
||||||
|
raise Exception("RELOAD command failed")
|
||||||
|
|
||||||
|
dev[0].set_network_quoted(id, "ssid", "test-wpa2-psk-new")
|
||||||
|
dev[0].connect_network(id)
|
|
@ -554,6 +554,7 @@ class WpaSupplicant:
|
||||||
else:
|
else:
|
||||||
self.dump_monitor()
|
self.dump_monitor()
|
||||||
self.select_network(id)
|
self.select_network(id)
|
||||||
|
return id
|
||||||
|
|
||||||
def scan(self, type=None):
|
def scan(self, type=None):
|
||||||
if type:
|
if type:
|
||||||
|
|
Loading…
Reference in a new issue