]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: wpa_supplicant config file writing with arbitrary PSK value
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 4 Mar 2016 16:51:24 +0000 (18:51 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 2 May 2016 08:08:25 +0000 (11:08 +0300)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
tests/hwsim/test_wpas_config.py

index 7bd17c109a5f4235dc3e4f24d328780fd1b1705a..7d4dc1573885fdaff052a2559cfa0a2bb40bd172 100644 (file)
@@ -254,3 +254,48 @@ def test_wpas_config_file_wps2(dev, apdev):
             os.rmdir(config)
         except:
             pass
+
+def test_wpas_config_file_set_psk(dev):
+    """wpa_supplicant config file parsing/writing with arbitrary PSK value"""
+    config = "/tmp/test_wpas_config_file.conf"
+    if os.path.exists(config):
+        os.remove(config)
+
+    wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5')
+
+    try:
+        with open(config, "w") as f:
+            f.write("update_config=1\n")
+
+        wpas.interface_add("wlan5", config=config)
+
+        id = wpas.add_network()
+        wpas.set_network_quoted(id, "ssid", "foo")
+        if "OK" in wpas.request('SET_NETWORK %d psk "12345678"\n}\nmodel_name=foobar\nnetwork={\n#\"' % id):
+            raise Exception("Invalid psk value accepted")
+
+        if "OK" not in wpas.request("SAVE_CONFIG"):
+            raise Exception("Failed to save configuration file")
+
+        with open(config, "r") as f:
+            data = f.read()
+            logger.info("Configuration file contents: " + data)
+            if "model_name" in data:
+                raise Exception("Unexpected parameter added to configuration")
+
+        wpas.interface_remove("wlan5")
+        wpas.interface_add("wlan5", config=config)
+
+    finally:
+        try:
+            os.remove(config)
+        except:
+            pass
+        try:
+            os.remove(config + ".tmp")
+        except:
+            pass
+        try:
+            os.rmdir(config)
+        except:
+            pass