@@ -1,5 +1,5 @@
[SETUP]
-num_radios=4
+num_radios=5
start_iwd=0
hwsim_medium=yes
@@ -8,6 +8,7 @@ rad0=wpas.conf
[HOSTAPD]
rad1=hostapd.conf
+rad2=ssidHidden.conf
[NameSpaces]
-ns0=rad2
+ns0=rad3
@@ -26,11 +26,11 @@ class Test(unittest.TestCase):
self.wpas.dpp_stop_listen()
self.wpas.dpp_configurator_remove()
- def start_iwd_pkex_configurator(self, device, agent=False):
+ def start_iwd_pkex_configurator(self, device, agent=False, profile='ssidCCMP.psk'):
self.hapd.reload()
self.hapd.wait_for_event('AP-ENABLED')
- IWD.copy_to_storage('ssidCCMP.psk')
+ IWD.copy_to_storage(profile)
device.autoconnect = True
condition = 'obj.state == DeviceState.connected'
@@ -186,6 +186,71 @@ class Test(unittest.TestCase):
self.agent = None
+ def test_existing_network(self):
+ self.hapd.reload()
+ self.hapd.wait_for_event('AP-ENABLED')
+ IWD.copy_to_storage("existingProfile.psk", "/tmp/ns0/", "ssidCCMP.psk")
+
+ # Scan first so a network object exists, and its a known network
+ self.device[1].scan()
+ self.wd.wait_for_object_condition(self.device[1], 'obj.scanning == True')
+ self.wd.wait_for_object_condition(self.device[1], 'obj.scanning == False')
+
+ self.start_iwd_pkex_configurator(self.device[0])
+
+ self.device[1].dpp_pkex_enroll('secret123', identifier="test")
+ self.device[1].autoconnect = True
+
+ condition = 'obj.state == DeviceState.connected'
+ self.wd.wait_for_object_condition(self.device[1], condition)
+
+ # Check additional settings were carried over
+ with open('/tmp/ns0/ssidCCMP.psk', 'r') as f:
+ settings = f.read()
+
+ self.assertIn("SendHostname=true", settings)
+
+ def test_existing_hidden_network(self):
+ self.hapd_hidden.reload()
+ self.hapd_hidden.wait_for_event('AP-ENABLED')
+ IWD.copy_to_storage("existingProfile.psk", "/tmp/ns0/", "ssidHidden.psk")
+
+ # Scan first so a network object exists, and its a known network
+ self.device[1].scan()
+ self.wd.wait_for_object_condition(self.device[1], 'obj.scanning == True')
+ self.wd.wait_for_object_condition(self.device[1], 'obj.scanning == False')
+
+ self.start_iwd_pkex_configurator(self.device[0], profile='ssidHidden.psk')
+
+ self.device[1].dpp_pkex_enroll('secret123', identifier="test")
+ self.device[1].autoconnect = True
+
+ condition = 'obj.state == DeviceState.connected'
+ self.wd.wait_for_object_condition(self.device[1], condition)
+
+ # Check additional settings were carried over
+ with open('/tmp/ns0/ssidHidden.psk', 'r') as f:
+ settings = f.read()
+
+ self.assertIn("Hidden=true", settings)
+
+ def test_hidden_network(self):
+ self.hapd_hidden.reload()
+ self.hapd_hidden.wait_for_event('AP-ENABLED')
+ self.start_iwd_pkex_configurator(self.device[0], profile='ssidHidden.psk')
+
+ self.device[1].dpp_pkex_enroll('secret123', identifier="test")
+ self.device[1].autoconnect = True
+
+ condition = 'obj.state == DeviceState.connected'
+ self.wd.wait_for_object_condition(self.device[1], condition)
+
+ # Check additional settings were carried over
+ with open('/tmp/ns0/ssidHidden.psk', 'r') as f:
+ settings = f.read()
+
+ self.assertIn("Hidden=true", settings)
+
def setUp(self):
ns0 = ctx.get_namespace('ns0')
self.wpas = Wpas('wpas.conf')
@@ -197,6 +262,8 @@ class Test(unittest.TestCase):
self.device.append(self.wd_ns0.list_devices(1)[0])
self.hapd = HostapdCLI('hostapd.conf')
self.hapd.disable()
+ self.hapd_hidden = HostapdCLI('ssidHidden.conf')
+ self.hapd_hidden.disable()
self.hwsim = Hwsim()
self.rule_xchg_resp = self.hwsim.rules.create()
@@ -240,6 +307,7 @@ class Test(unittest.TestCase):
self.hapd = None
self.rule_xchg_resp = None
IWD.clear_storage()
+ IWD.clear_storage('/tmp/ns0')
@classmethod
def setUpClass(cls):
new file mode 100644
@@ -0,0 +1,9 @@
+hw_mode=g
+channel=6
+ssid=ssidHidden
+
+wpa=1
+wpa_pairwise=TKIP
+wpa_passphrase=secret123
+
+ignore_broadcast_ssid=1
new file mode 100644
@@ -0,0 +1,5 @@
+[Security]
+Passphrase=secret123
+
+[Settings]
+Hidden=true