]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: DPP Config Request/Response missing attributes
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 3 Nov 2017 18:59:35 +0000 (20:59 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 3 Nov 2017 19:14:08 +0000 (21:14 +0200)
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
tests/hwsim/test_dpp.py

index b8b0f4575aa308339c34c6b92ac8f5690dff2340..a1e4ecf07ef5151dcb2e8c9aa3df639729e66842 100644 (file)
@@ -2472,6 +2472,57 @@ def test_dpp_proto_auth_conf_i_auth_mismatch(dev, apdev):
     if "Mismatching Initiator Authenticating Tag" not in ev:
         raise Excception("Unexpected failure: " + ev)
 
+def run_dpp_proto_conf_req_missing(dev, test, reason):
+    run_dpp_proto_init(dev, 0, test)
+    ev = dev[1].wait_event(["DPP-FAIL"], timeout=5)
+    if ev is None:
+        raise Exception("DPP failure not seen")
+    if reason not in ev:
+        raise Exception("Unexpected failure: " + ev)
+
+def test_dpp_proto_conf_req_no_e_nonce(dev, apdev):
+    """DPP protocol testing - no E-nonce in Conf Req"""
+    run_dpp_proto_conf_req_missing(dev, 51,
+                                   "Missing or invalid Enrollee Nonce attribute")
+
+def test_dpp_proto_conf_req_no_config_attr_obj(dev, apdev):
+    """DPP protocol testing - no Config Attr Obj in Conf Req"""
+    run_dpp_proto_conf_req_missing(dev, 52,
+                                   "Missing or invalid Config Attributes attribute")
+
+def test_dpp_proto_conf_req_no_wrapped_data(dev, apdev):
+    """DPP protocol testing - no Wrapped Data in Conf Req"""
+    run_dpp_proto_conf_req_missing(dev, 53,
+                                   "Missing or invalid required Wrapped Data attribute")
+
+def run_dpp_proto_conf_resp_missing(dev, test, reason):
+    run_dpp_proto_init(dev, 1, test)
+    ev = dev[0].wait_event(["DPP-FAIL"], timeout=5)
+    if ev is None:
+        raise Exception("DPP failure not seen")
+    if reason not in ev:
+        raise Exception("Unexpected failure: " + ev)
+
+def test_dpp_proto_conf_resp_no_e_nonce(dev, apdev):
+    """DPP protocol testing - no E-nonce in Conf Resp"""
+    run_dpp_proto_conf_resp_missing(dev, 54,
+                                    "Missing or invalid Enrollee Nonce attribute")
+
+def test_dpp_proto_conf_resp_no_config_obj(dev, apdev):
+    """DPP protocol testing - no Config Object in Conf Resp"""
+    run_dpp_proto_conf_resp_missing(dev, 55,
+                                    "Missing required Configuration Object attribute")
+
+def test_dpp_proto_conf_resp_no_status(dev, apdev):
+    """DPP protocol testing - no Status in Conf Resp"""
+    run_dpp_proto_conf_resp_missing(dev, 56,
+                                    "Missing or invalid required DPP Status attribute")
+
+def test_dpp_proto_conf_resp_no_wrapped_data(dev, apdev):
+    """DPP protocol testing - no Wrapped Data in Conf Resp"""
+    run_dpp_proto_conf_resp_missing(dev, 57,
+                                    "Missing or invalid required Wrapped Data attribute")
+
 def run_dpp_proto_init_pkex(dev, test_dev, test):
     check_dpp_capab(dev[0])
     check_dpp_capab(dev[1])