From patchwork Thu Apr 7 05:38:08 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Janusz.Dziedzic@tieto.com X-Patchwork-Id: 607314 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3qgbp90znXz9t3b for ; Thu, 7 Apr 2016 18:48:00 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=tieto.com header.i=@tieto.com header.b=ObqKpr2D; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1ao5bL-0002cw-D9; Thu, 07 Apr 2016 08:47:43 +0000 Received: from mail-lb0-x229.google.com ([2a00:1450:4010:c04::229]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ao2ek-0004xf-25 for hostap@lists.infradead.org; Thu, 07 Apr 2016 05:39:25 +0000 Received: by mail-lb0-x229.google.com with SMTP id bc4so42859312lbc.2 for ; Wed, 06 Apr 2016 22:38:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tieto.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/3PhXFyCt02EddenI2KCxDbJpfQZYGu/ME4KgjtFxAE=; b=ObqKpr2DFD7dAh75GBDA+OiFH/1bCzrLayejn6qv+RST8TgPLkh4yzHjvK9L7TprhN trFuHsSEgORlRPBXjTG0myv1iN8YXon2TQmFA3x0NEU717s/RtlFqbT9wZGB+/gKbIFt hufRI3g2qqcPRu8+gLfWjHW6SNdhfYNXe+XbI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=/3PhXFyCt02EddenI2KCxDbJpfQZYGu/ME4KgjtFxAE=; b=TL3BZtDLVsoM7AAaSfPViUAcqentMubulvkr4ZxTtNJfh67FMzim9jIiTqco9CsOcp gf6cy1Tm50pWvCxpdWj+lW4SNdCyuM93XitSmo6taKKLN98W8kl54JLDwQANlLbOYPMh 85ZuHKs3lSQeB9yg59JJRo6/QP5MlOAPk7sniaosjRY6rtHl9PA5iU10eml5O89gu3z8 TvR0rEmyLoDdDTeQUjaXRd7ZWaTYzbUIpyOdpOXd2R27fHQD9l8IiIJNL0erWEOpHlKX Y3lgByUTciw2TCE95S7Qjx7MZmkheLz3IHpa+fSyBaZgrAAE948h01mr+UPJaowBrZEV m29Q== X-Gm-Message-State: AD7BkJK0NbiZewM/Do9vMwSA/XGXvBgae0Q4DrEukRXqxni7O2l8bdHjFMlaqZTeLePilsy7IJSP9eaepidFuTzCwOpAlT91e18ETSSUIct/0KzRHZ1nfW2S8BTEMl0rJyWOMz7m43WgcCuS8UavPmq57abscxjz123xyOB2C7LeVrw68OYFL1b5kqyGzQLRMB2J X-Received: by 10.112.140.129 with SMTP id rg1mr565970lbb.80.1460007519731; Wed, 06 Apr 2016 22:38:39 -0700 (PDT) Received: from localhost.localdomain ([213.192.73.50]) by smtp.gmail.com with ESMTPSA id f134sm938018lff.34.2016.04.06.22.38.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Apr 2016 22:38:39 -0700 (PDT) From: Janusz Dziedzic To: hostap@lists.infradead.org Subject: [PATCH v2 10/17] tests: use hapd from hostapd.add_ap() Date: Thu, 7 Apr 2016 07:38:08 +0200 Message-Id: <1460007495-17921-10-git-send-email-janusz.dziedzic@tieto.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1460007495-17921-1-git-send-email-janusz.dziedzic@tieto.com> References: <1460007495-17921-1-git-send-email-janusz.dziedzic@tieto.com> X-DomainID: tieto.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160406_223903_249588_5685BFC4 X-CRM114-Status: GOOD ( 10.07 ) X-Spam-Score: -2.7 (--) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-2.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [2a00:1450:4010:c04:0:0:0:229 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain X-Mailman-Approved-At: Thu, 07 Apr 2016 01:47:41 -0700 X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: j@w1.fi, Janusz Dziedzic MIME-Version: 1.0 Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Part 2 Signed-off-by: Janusz Dziedzic --- tests/hwsim/test_ap_hs20.py | 3 +- tests/hwsim/test_ap_pmf.py | 1 - tests/hwsim/test_ap_tdls.py | 10 +- tests/hwsim/test_ap_wps.py | 299 +++++++++++++++++++------------------------- tests/hwsim/test_gas.py | 3 +- tests/hwsim/test_nfc_wps.py | 79 +++++------- 6 files changed, 169 insertions(+), 226 deletions(-) diff --git a/tests/hwsim/test_ap_hs20.py b/tests/hwsim/test_ap_hs20.py index a4e6179..a3b61b2 100644 --- a/tests/hwsim/test_ap_hs20.py +++ b/tests/hwsim/test_ap_hs20.py @@ -1040,8 +1040,7 @@ def test_ap_hs20_gas_frag_while_associated(dev, apdev): bssid = apdev[0]['bssid'] params = hs20_ap_params() params['hessid'] = bssid - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) hapd.set("gas_frag_limit", "50") dev[0].hs20_enable() diff --git a/tests/hwsim/test_ap_pmf.py b/tests/hwsim/test_ap_pmf.py index 69bc3d4..7086b74 100644 --- a/tests/hwsim/test_ap_pmf.py +++ b/tests/hwsim/test_ap_pmf.py @@ -38,7 +38,6 @@ def test_ap_pmf_required(dev, apdev): key_mgmt="WPA-PSK WPA-PSK-SHA256", proto="WPA2", scan_freq="2412") hwsim_utils.test_connectivity(dev[1], hapd) - hapd = hostapd.Hostapd(apdev[0]['ifname']) hapd.request("SA_QUERY " + dev[0].p2p_interface_addr()) hapd.request("SA_QUERY " + dev[1].p2p_interface_addr()) wt.require_ap_pmf_mandatory(apdev[0]['bssid']) diff --git a/tests/hwsim/test_ap_tdls.py b/tests/hwsim/test_ap_tdls.py index 71a6521..1823287 100644 --- a/tests/hwsim/test_ap_tdls.py +++ b/tests/hwsim/test_ap_tdls.py @@ -103,9 +103,8 @@ def check_connectivity(sta0, sta1, hapd): hwsim_utils.test_connectivity(sta0, hapd) hwsim_utils.test_connectivity(sta1, hapd) -def setup_tdls(sta0, sta1, ap, reverse=False, expect_fail=False): +def setup_tdls(sta0, sta1, hapd, reverse=False, expect_fail=False): logger.info("Setup TDLS") - hapd = hostapd.Hostapd(ap['ifname']) check_connectivity(sta0, sta1, hapd) bssid = ap['bssid'] addr0 = sta0.p2p_interface_addr() @@ -127,9 +126,8 @@ def setup_tdls(sta0, sta1, ap, reverse=False, expect_fail=False): tdls_check_dl(sta0, sta1, bssid, addr0, addr1) check_connectivity(sta0, sta1, hapd) -def teardown_tdls(sta0, sta1, ap, responder=False, wildcard=False): +def teardown_tdls(sta0, sta1, hapd, responder=False, wildcard=False): logger.info("Teardown TDLS") - hapd = hostapd.Hostapd(ap['ifname']) check_connectivity(sta0, sta1, hapd) bssid = ap['bssid'] addr0 = sta0.p2p_interface_addr() @@ -544,9 +542,9 @@ def test_ap_tdls_link_status(dev, apdev): wlantest_setup() connect_2sta_wpa2_psk(dev, hapd) check_tdls_link(dev[0], dev[1], connected=False) - setup_tdls(dev[0], dev[1], apdev[0]) + setup_tdls(dev[0], dev[1], hapd) check_tdls_link(dev[0], dev[1], connected=True) - teardown_tdls(dev[0], dev[1], apdev[0]) + teardown_tdls(dev[0], dev[1], hapd) check_tdls_link(dev[0], dev[1], connected=False) if "FAIL" not in dev[0].request("TDLS_LINK_STATUS foo"): raise Exception("Unexpected TDLS_LINK_STATUS response for invalid argument") diff --git a/tests/hwsim/test_ap_wps.py b/tests/hwsim/test_ap_wps.py index 405b419..bef82fe 100644 --- a/tests/hwsim/test_ap_wps.py +++ b/tests/hwsim/test_ap_wps.py @@ -41,9 +41,8 @@ def wps_start_ap(apdev, ssid="test-wps-conf"): def test_ap_wps_init(dev, apdev): """Initial AP configuration with first WPS Enrollee""" ssid = "test-wps" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) logger.info("WPS provisioning step") hapd.request("WPS_PBC") if "PBC Status: Active" not in hapd.request("WPS_GET_STATUS"): @@ -98,9 +97,8 @@ def test_ap_wps_init_2ap_pbc(dev, apdev): """Initial two-radio AP configuration with first WPS PBC Enrollee""" ssid = "test-wps" params = { "ssid": ssid, "eap_server": "1", "wps_state": "1" } - hostapd.add_ap(apdev[0], params) + hapd = hostapd.add_ap(apdev[0], params) hostapd.add_ap(apdev[1], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("WPS provisioning step") hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412", force_scan=True) @@ -135,9 +133,8 @@ def test_ap_wps_init_2ap_pin(dev, apdev): """Initial two-radio AP configuration with first WPS PIN Enrollee""" ssid = "test-wps" params = { "ssid": ssid, "eap_server": "1", "wps_state": "1" } - hostapd.add_ap(apdev[0], params) + hapd = hostapd.add_ap(apdev[0], params) hostapd.add_ap(apdev[1], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("WPS provisioning step") pin = dev[0].wps_read_pin() hapd.request("WPS_PIN any " + pin) @@ -165,9 +162,8 @@ def test_ap_wps_init_2ap_pin(dev, apdev): def test_ap_wps_init_through_wps_config(dev, apdev): """Initial AP configuration using wps_config command""" ssid = "test-wps-init-config" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) if "FAIL" in hapd.request("WPS_CONFIG " + ssid.encode("hex") + " WPA2PSK CCMP " + "12345678".encode("hex")): raise Exception("WPS_CONFIG command failed") ev = hapd.wait_event(["WPS-NEW-AP-SETTINGS"], timeout=5) @@ -184,10 +180,9 @@ def test_ap_wps_init_through_wps_config(dev, apdev): def test_ap_wps_init_through_wps_config_2(dev, apdev): """AP configuration using wps_config and wps_cred_processing=2""" ssid = "test-wps-init-config" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1", - "wps_cred_processing": "2" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1", + "wps_cred_processing": "2" }) if "FAIL" in hapd.request("WPS_CONFIG " + ssid.encode("hex") + " WPA2PSK CCMP " + "12345678".encode("hex")): raise Exception("WPS_CONFIG command failed") ev = hapd.wait_event(["WPS-NEW-AP-SETTINGS"], timeout=5) @@ -199,20 +194,18 @@ def test_ap_wps_init_through_wps_config_2(dev, apdev): def test_ap_wps_invalid_wps_config_passphrase(dev, apdev): """AP configuration using wps_config command with invalid passphrase""" ssid = "test-wps-init-config" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) if "FAIL" not in hapd.request("WPS_CONFIG " + ssid.encode("hex") + " WPA2PSK CCMP " + "1234567".encode("hex")): raise Exception("Invalid WPS_CONFIG command accepted") def test_ap_wps_conf(dev, apdev): """WPS PBC provisioning with configured AP""" ssid = "test-wps-conf" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) logger.info("WPS provisioning step") hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412") @@ -317,11 +310,10 @@ def test_ap_wps_twice(dev, apdev): def test_ap_wps_incorrect_pin(dev, apdev): """WPS PIN provisioning with incorrect PIN""" ssid = "test-wps-incorrect-pin" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) logger.info("WPS provisioning attempt 1") hapd.request("WPS_PIN any 12345670") @@ -360,11 +352,10 @@ def test_ap_wps_incorrect_pin(dev, apdev): def test_ap_wps_conf_pin(dev, apdev): """WPS PIN provisioning with configured AP""" ssid = "test-wps-conf-pin" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) logger.info("WPS provisioning step") pin = dev[0].wps_read_pin() hapd.request("WPS_PIN any " + pin) @@ -399,12 +390,11 @@ def test_ap_wps_conf_pin(dev, apdev): def test_ap_wps_conf_pin_mixed_mode(dev, apdev): """WPS PIN provisioning with configured AP (WPA+WPA2)""" ssid = "test-wps-conf-pin-mixed" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "3", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "wpa_pairwise": "TKIP" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "3", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "wpa_pairwise": "TKIP" }) logger.info("WPS provisioning step") pin = dev[0].wps_read_pin() @@ -457,11 +447,10 @@ def test_ap_wps_conf_pin_mixed_mode(dev, apdev): def test_ap_wps_conf_pin_v1(dev, apdev): """WPS PIN provisioning with configured WPS v1.0 AP""" ssid = "test-wps-conf-pin-v1" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) logger.info("WPS provisioning step") pin = dev[0].wps_read_pin() hapd.request("SET wps_version_number 0x10") @@ -483,11 +472,10 @@ def test_ap_wps_conf_pin_v1(dev, apdev): def test_ap_wps_conf_pin_2sta(dev, apdev): """Two stations trying to use WPS PIN at the same time""" ssid = "test-wps-conf-pin2" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) logger.info("WPS provisioning step") pin = "12345670" pin2 = "55554444" @@ -505,11 +493,10 @@ def test_ap_wps_conf_pin_2sta(dev, apdev): def test_ap_wps_conf_pin_timeout(dev, apdev): """WPS PIN provisioning with configured AP timing out PIN""" ssid = "test-wps-conf-pin" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) addr = dev[0].p2p_interface_addr() pin = dev[0].wps_read_pin() if "FAIL" not in hapd.request("WPS_PIN "): @@ -620,17 +607,16 @@ def test_ap_wps_random_ap_pin(dev, apdev): """WPS registrar using random AP PIN""" ssid = "test-wps-reg-random-ap-pin" ap_uuid = "27ea801a-9e5c-4e73-bd82-f89cbcd10d7e" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "device_name": "Wireless AP", "manufacturer": "Company", - "model_name": "WAP", "model_number": "123", - "serial_number": "12345", "device_type": "6-0050F204-1", - "os_version": "01020300", - "config_methods": "label push_button", - "uuid": ap_uuid, "upnp_iface": "lo" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "device_name": "Wireless AP", "manufacturer": "Company", + "model_name": "WAP", "model_number": "123", + "serial_number": "12345", "device_type": "6-0050F204-1", + "os_version": "01020300", + "config_methods": "label push_button", + "uuid": ap_uuid, "upnp_iface": "lo" }) appin = hapd.request("WPS_AP_PIN random") if "FAIL" in appin: raise Exception("Could not generate random AP PIN") @@ -777,11 +763,11 @@ def test_ap_wps_setup_locked(dev, apdev): """WPS registrar locking up AP setup on AP PIN failures""" ssid = "test-wps-incorrect-ap-pin" appin = "12345670" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "ap_pin": appin}) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "ap_pin": appin}) new_ssid = "wps-new-ssid-test" new_passphrase = "1234567890" @@ -814,7 +800,6 @@ def test_ap_wps_setup_locked(dev, apdev): logger.info("BSS: " + str(bss)) raise Exception("AP Setup Locked not indicated in scan results") - hapd = hostapd.Hostapd(apdev[0]['ifname']) status = hapd.request("WPS_GET_STATUS") if "Last WPS result: Failed" not in status: raise Exception("WPS failure result not shown correctly") @@ -825,7 +810,6 @@ def test_ap_wps_setup_locked(dev, apdev): dev[0].dump_monitor() logger.info("WPS provisioning step") pin = dev[0].wps_read_pin() - hapd = hostapd.Hostapd(apdev[0]['ifname']) hapd.request("WPS_PIN any " + pin) dev[0].request("WPS_PIN %s %s" % (apdev[0]['bssid'], pin)) ev = dev[0].wait_event(["WPS-SUCCESS"], timeout=30) @@ -844,11 +828,11 @@ def test_ap_wps_setup_locked_timeout(dev, apdev): """WPS re-enabling AP PIN after timeout""" ssid = "test-wps-incorrect-ap-pin" appin = "12345670" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "ap_pin": appin}) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "ap_pin": appin}) new_ssid = "wps-new-ssid-test" new_passphrase = "1234567890" @@ -874,7 +858,6 @@ def test_ap_wps_setup_locked_timeout(dev, apdev): time.sleep(0.1) if not ap_setup_locked: raise Exception("AP setup was not locked") - hapd = hostapd.Hostapd(apdev[0]['ifname']) ev = hapd.wait_event(["WPS-AP-SETUP-UNLOCKED"], timeout=80) if ev is None: raise Exception("AP PIN did not get unlocked on 60 second timeout") @@ -919,19 +902,17 @@ def test_ap_wps_setup_locked_2(dev, apdev): def test_ap_wps_pbc_overlap_2ap(dev, apdev): """WPS PBC session overlap with two active APs""" - hostapd.add_ap(apdev[0], - { "ssid": "wps1", "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "wps_independent": "1"}) - hostapd.add_ap(apdev[1], - { "ssid": "wps2", "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "123456789", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "wps_independent": "1"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": "wps1", "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "wps_independent": "1"}) + hapd2 = hostapd.add_ap(apdev[1], + { "ssid": "wps2", "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "123456789", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "wps_independent": "1"}) hapd.request("WPS_PBC") - hapd2 = hostapd.Hostapd(apdev[1]['ifname']) hapd2.request("WPS_PBC") logger.info("WPS provisioning step") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412", force_scan=True) @@ -947,11 +928,10 @@ def test_ap_wps_pbc_overlap_2ap(dev, apdev): def test_ap_wps_pbc_overlap_2sta(dev, apdev): """WPS PBC session overlap with two active STAs""" ssid = "test-wps-pbc-overlap" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) logger.info("WPS provisioning step") hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412") @@ -985,12 +965,11 @@ def test_ap_wps_pbc_overlap_2sta(dev, apdev): def test_ap_wps_cancel(dev, apdev): """WPS AP cancelling enabled config method""" ssid = "test-wps-ap-cancel" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) bssid = apdev[0]['bssid'] - hapd = hostapd.Hostapd(apdev[0]['ifname']) logger.info("Verify PBC enable/cancel") hapd.request("WPS_PBC") @@ -1908,13 +1887,12 @@ def test_ap_wps_fragmentation(dev, apdev): """WPS with fragmentation in EAP-WSC and mixed mode WPA+WPA2""" ssid = "test-wps-fragmentation" appin = "12345670" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "3", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "wpa_pairwise": "TKIP", "ap_pin": appin, - "fragment_size": "50" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "3", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "wpa_pairwise": "TKIP", "ap_pin": appin, + "fragment_size": "50" }) logger.info("WPS provisioning step (PBC)") hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq=2412) @@ -1960,11 +1938,10 @@ def test_ap_wps_fragmentation(dev, apdev): def test_ap_wps_new_version_sta(dev, apdev): """WPS compatibility with new version number on the station""" ssid = "test-wps-ver" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) logger.info("WPS provisioning step") hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412") @@ -1977,11 +1954,10 @@ def test_ap_wps_new_version_sta(dev, apdev): def test_ap_wps_new_version_ap(dev, apdev): """WPS compatibility with new version number on the AP""" ssid = "test-wps-ver" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) logger.info("WPS provisioning step") if "FAIL" in hapd.request("SET wps_version_number 0x43"): raise Exception("Failed to enable test functionality") @@ -1994,11 +1970,10 @@ def test_ap_wps_new_version_ap(dev, apdev): def test_ap_wps_check_pin(dev, apdev): """Verify PIN checking through control interface""" - hostapd.add_ap(apdev[0], - { "ssid": "wps", "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": "wps", "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP" }) for t in [ ("12345670", "12345670"), ("12345678", "FAIL-CHECKSUM"), ("12345", "FAIL"), @@ -2028,10 +2003,9 @@ def test_ap_wps_wep_config(dev, apdev): """WPS 2.0 AP rejecting WEP configuration""" ssid = "test-wps-config" appin = "12345670" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "ap_pin": appin}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "ap_pin": appin}) dev[0].scan_for_bss(apdev[0]['bssid'], freq=2412) dev[0].wps_reg(apdev[0]['bssid'], appin, "wps-new-ssid-wep", "OPEN", "WEP", "hello", no_wait=True) @@ -2051,10 +2025,9 @@ def test_ap_wps_wep_config(dev, apdev): def test_ap_wps_wep_enroll(dev, apdev): """WPS 2.0 STA rejecting WEP configuration""" ssid = "test-wps-wep" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "skip_cred_build": "1", "extra_cred": "wps-wep-cred" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "skip_cred_build": "1", "extra_cred": "wps-wep-cred" }) hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq=2412) dev[0].request("WPS_PBC " + apdev[0]['bssid']) @@ -2075,8 +2048,7 @@ def test_ap_wps_ie_fragmentation(dev, apdev): "model_name": "1234567890abcdef1234567890abcdef", "model_number": "1234567890abcdef1234567890abcdef", "serial_number": "1234567890abcdef1234567890abcdef" } - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412") dev[0].request("WPS_PBC " + apdev[0]['bssid']) @@ -2237,12 +2209,11 @@ def test_ap_wps_pin_request_file(dev, apdev): pinfile = "/tmp/ap_wps_pin_request_file.log" if os.path.exists(pinfile): os.remove(pinfile) - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wps_pin_requests": pinfile, - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wps_pin_requests": pinfile, + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) uuid = dev[0].get_status_field("uuid") pin = dev[0].wps_read_pin() try: @@ -2284,8 +2255,7 @@ def test_ap_wps_auto_setup_with_config_file(dev, apdev): f.write("ssid=wps\n") f.write("eap_server=1\n") f.write("wps_state=1\n") - hostapd.add_bss(apdev[0], ifname, conffile) - hapd = hostapd.Hostapd(ifname) + hapd = hostapd.add_bss(apdev[0], ifname, conffile) hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412") dev[0].request("WPS_PBC " + apdev[0]['bssid']) @@ -3432,8 +3402,7 @@ def test_ap_wps_upnp_http_proto_chunked(dev, apdev): def test_ap_wps_disabled(dev, apdev): """WPS operations while WPS is disabled""" ssid = "test-wps-disabled" - hostapd.add_ap(apdev[0], { "ssid": ssid }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], { "ssid": ssid }) if "FAIL" not in hapd.request("WPS_PBC"): raise Exception("WPS_PBC succeeded unexpectedly") if "FAIL" not in hapd.request("WPS_CANCEL"): @@ -3442,10 +3411,9 @@ def test_ap_wps_disabled(dev, apdev): def test_ap_wps_mixed_cred(dev, apdev): """WPS 2.0 STA merging mixed mode WPA/WPA2 credentials""" ssid = "test-wps-wep" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "skip_cred_build": "1", "extra_cred": "wps-mixed-cred" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "skip_cred_build": "1", "extra_cred": "wps-mixed-cred" }) hapd.request("WPS_PBC") dev[0].scan_for_bss(apdev[0]['bssid'], freq="2412") dev[0].request("WPS_PBC " + apdev[0]['bssid']) @@ -3466,11 +3434,10 @@ def test_ap_wps_mixed_cred(dev, apdev): def test_ap_wps_while_connected(dev, apdev): """WPS PBC provisioning while connected to another AP""" ssid = "test-wps-conf" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) hostapd.add_ap(apdev[1], { "ssid": "open" }) dev[0].connect("open", key_mgmt="NONE", scan_freq="2412") @@ -3487,11 +3454,10 @@ def test_ap_wps_while_connected(dev, apdev): def test_ap_wps_while_connected_no_autoconnect(dev, apdev): """WPS PBC provisioning while connected to another AP and STA_AUTOCONNECT disabled""" ssid = "test-wps-conf" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) hostapd.add_ap(apdev[1], { "ssid": "open" }) @@ -3568,9 +3534,8 @@ def test_ap_wps_ap_scan_2(dev, apdev): def test_ap_wps_eapol_workaround(dev, apdev): """EAPOL workaround code path for 802.1X header length mismatch""" ssid = "test-wps" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) bssid = apdev[0]['bssid'] hapd.request("SET ext_eapol_frame_io 1") dev[0].request("SET ext_eapol_frame_io 1") @@ -3675,11 +3640,10 @@ def test_ap_wps_iteration_error(dev, apdev): def test_ap_wps_priority(dev, apdev): """WPS PIN provisioning with configured AP and wps_priority""" ssid = "test-wps-conf-pin" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) logger.info("WPS provisioning step") pin = dev[0].wps_read_pin() hapd.request("WPS_PIN any " + pin) @@ -3828,11 +3792,10 @@ def test_ap_wps_wpa_cli_action(dev, apdev, test_params): stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) ssid = "test-wps-conf" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP"}) prg = os.path.join(test_params['logdir'], 'alt-wpa_supplicant/wpa_supplicant/wpa_cli') diff --git a/tests/hwsim/test_gas.py b/tests/hwsim/test_gas.py index f44d718..2d45fd3 100644 --- a/tests/hwsim/test_gas.py +++ b/tests/hwsim/test_gas.py @@ -52,8 +52,7 @@ def hs20_ap_params(): def start_ap(ap): params = hs20_ap_params() params['hessid'] = ap['bssid'] - hostapd.add_ap(ap, params) - return hostapd.Hostapd(ap['ifname']) + return hostapd.add_ap(ap, params) def get_gas_response(dev, bssid, info, allow_fetch_failure=False, extra_test=False): diff --git a/tests/hwsim/test_nfc_wps.py b/tests/hwsim/test_nfc_wps.py index 5f7add8..ea5d602 100644 --- a/tests/hwsim/test_nfc_wps.py +++ b/tests/hwsim/test_nfc_wps.py @@ -38,8 +38,7 @@ def test_nfc_wps_password_token_sta(dev, apdev): """NFC tag with password token on the station/Enrollee""" ssid = "test-wps-nfc-pw-token-conf" params = ap_wps_params(ssid) - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) logger.info("WPS provisioning step using password token from station") wps = dev[0].request("WPS_NFC_TOKEN WPS").rstrip() if "FAIL" in wps: @@ -61,8 +60,7 @@ def test_nfc_wps_config_token(dev, apdev): """NFC tag with configuration token from AP""" ssid = "test-wps-nfc-conf-token" params = ap_wps_params(ssid) - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) logger.info("NFC configuration token from AP to station") conf = hapd.request("WPS_NFC_CONFIG_TOKEN NDEF").rstrip() if "FAIL" in conf: @@ -82,9 +80,8 @@ def test_nfc_wps_config_token(dev, apdev): def test_nfc_wps_config_token_init(dev, apdev): """NFC tag with configuration token from AP with auto configuration""" ssid = "test-wps-nfc-conf-token-init" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) logger.info("NFC configuration token from AP to station") conf = hapd.request("WPS_NFC_CONFIG_TOKEN NDEF").rstrip() if "FAIL" in conf: @@ -99,9 +96,8 @@ def test_nfc_wps_config_token_init(dev, apdev): def test_nfc_wps_password_token_sta_init(dev, apdev): """Initial AP configuration with first WPS NFC Enrollee""" ssid = "test-wps-nfc-pw-token-init" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) logger.info("WPS provisioning step using password token from station") pw = dev[0].request("WPS_NFC_TOKEN NDEF").rstrip() if "FAIL" in pw: @@ -119,9 +115,8 @@ def test_nfc_wps_password_token_sta_init(dev, apdev): def test_nfc_wps_password_token_ap(dev, apdev): """WPS registrar configuring an AP using AP password token""" ssid = "test-wps-nfc-pw-token-init" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) logger.info("WPS configuration step") pw = hapd.request("WPS_NFC_TOKEN NDEF").rstrip() if "FAIL" in pw: @@ -162,9 +157,8 @@ def test_nfc_wps_handover_init(dev, apdev): def _test_nfc_wps_handover_init(dev, apdev): dev[0].request("SET ignore_old_scan_res 1") ssid = "test-wps-nfc-handover-init" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) logger.info("NFC connection handover") req = dev[0].request("NFC_GET_HANDOVER_REQ NDEF WPS-CR").rstrip() if "FAIL" in req: @@ -189,9 +183,8 @@ def _test_nfc_wps_handover_init(dev, apdev): def test_nfc_wps_handover_errors(dev, apdev): """WPS AP NFC handover report error cases""" ssid = "test-wps-nfc-handover" - hostapd.add_ap(apdev[0], - { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], + { "ssid": ssid, "eap_server": "1", "wps_state": "1" }) sel = hapd.request("NFC_GET_HANDOVER_SEL NDEF WPS-CR").rstrip() if "FAIL" in sel: raise Exception("Failed to generate NFC connection handover select") @@ -220,8 +213,7 @@ def test_nfc_wps_handover(dev, apdev): """Connect to WPS AP with NFC connection handover""" ssid = "test-wps-nfc-handover" params = ap_wps_params(ssid) - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) logger.info("NFC connection handover") req = dev[0].request("NFC_GET_HANDOVER_REQ NDEF WPS-CR").rstrip() if "FAIL" in req: @@ -307,8 +299,7 @@ def test_nfc_wps_handover_with_pw_token_set(dev, apdev): """Connect to WPS AP with NFC connection handover (wps_nfc_* set)""" ssid = "test-wps-nfc-handover2" params = ap_wps_params(ssid) - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) # enable a password token (which won't be used in this test case) pw = hapd.request("WPS_NFC_TOKEN NDEF").rstrip() if "FAIL" in pw: @@ -339,8 +330,7 @@ def test_nfc_wps_handover_pk_hash_mismatch_sta(dev, apdev): if "FAIL" in dev[0].request("SET wps_corrupt_pkhash 1"): raise Exception("Could not enable wps_corrupt_pkhash") params = ap_wps_params(ssid) - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) logger.info("NFC connection handover") req = dev[0].request("NFC_GET_HANDOVER_REQ NDEF WPS-CR").rstrip() if "FAIL" in req: @@ -365,8 +355,7 @@ def test_nfc_wps_handover_pk_hash_mismatch_ap(dev, apdev): """WPS NFC connection handover with invalid pkhash from AP (negative)""" ssid = "wps-nfc-handover-pkhash-ap" params = ap_wps_params(ssid) - hostapd.add_ap(apdev[0], params) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = hostapd.add_ap(apdev[0], params) if "FAIL" in hapd.request("SET wps_corrupt_pkhash 1"): raise Exception("Could not enable wps_corrupt_pkhash") logger.info("NFC connection handover") @@ -392,16 +381,16 @@ def test_nfc_wps_handover_pk_hash_mismatch_ap(dev, apdev): def start_ap_er(er, ap, ssid): ap_pin = "12345670" ap_uuid = "27ea801a-9e5c-4e73-bd82-f89cbcd10d7e" - hostapd.add_ap(ap, - { "ssid": ssid, "eap_server": "1", "wps_state": "2", - "wpa_passphrase": "12345678", "wpa": "2", - "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", - "device_name": "Wireless AP", "manufacturer": "Company", - "model_name": "WAP", "model_number": "123", - "serial_number": "12345", "device_type": "6-0050F204-1", - "os_version": "01020300", - "config_methods": "label push_button", - "ap_pin": ap_pin, "uuid": ap_uuid, "upnp_iface": "lo"}) + hapd = hostapd.add_ap(ap, + { "ssid": ssid, "eap_server": "1", "wps_state": "2", + "wpa_passphrase": "12345678", "wpa": "2", + "wpa_key_mgmt": "WPA-PSK", "rsn_pairwise": "CCMP", + "device_name": "Wireless AP", "manufacturer": "Company", + "model_name": "WAP", "model_number": "123", + "serial_number": "12345", "device_type": "6-0050F204-1", + "os_version": "01020300", + "config_methods": "label push_button", + "ap_pin": ap_pin, "uuid": ap_uuid, "upnp_iface": "lo"}) logger.info("Learn AP configuration") er.dump_monitor() try: @@ -422,6 +411,7 @@ def start_ap_er(er, ap, ssid): logger.info("Use learned network configuration on ER") er.request("WPS_ER_SET_CONFIG " + ap_uuid + " 0") + return hapd def test_nfc_wps_er_pw_token(dev, apdev): """WPS NFC password token from Enrollee to ER""" @@ -433,8 +423,7 @@ def test_nfc_wps_er_pw_token(dev, apdev): def _test_nfc_wps_er_pw_token(dev, apdev): ssid = "wps-nfc-er-pw-token" - start_ap_er(dev[0], apdev[0], ssid) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = start_ap_er(dev[0], apdev[0], ssid) logger.info("WPS provisioning step using password token from station") dev[1].request("SET ignore_old_scan_res 1") pw = dev[1].request("WPS_NFC_TOKEN NDEF").rstrip() @@ -463,8 +452,7 @@ def test_nfc_wps_er_config_token(dev, apdev): def _test_nfc_wps_er_config_token(dev, apdev): ssid = "wps-nfc-er-config-token" - start_ap_er(dev[0], apdev[0], ssid) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = start_ap_er(dev[0], apdev[0], ssid) logger.info("WPS provisioning step using configuration token from ER") wps = dev[0].request("WPS_ER_NFC_CONFIG_TOKEN WPS " + apdev[0]['bssid']).rstrip() if "FAIL" in wps: @@ -488,8 +476,7 @@ def test_nfc_wps_er_handover(dev, apdev): def _test_nfc_wps_er_handover(dev, apdev): ssid = "wps-nfc-er-handover" - start_ap_er(dev[0], apdev[0], ssid) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = start_ap_er(dev[0], apdev[0], ssid) logger.info("WPS provisioning step using connection handover") req = dev[1].request("NFC_GET_HANDOVER_REQ NDEF WPS-CR").rstrip() if "FAIL" in req: @@ -517,8 +504,7 @@ def test_nfc_wps_er_handover_pk_hash_mismatch_sta(dev, apdev): def _test_nfc_wps_er_handover_pk_hash_mismatch_sta(dev, apdev): ssid = "wps-nfc-er-handover-pkhash-sta" - start_ap_er(dev[0], apdev[0], ssid) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = start_ap_er(dev[0], apdev[0], ssid) logger.info("WPS provisioning step using connection handover") if "FAIL" in dev[1].request("SET wps_corrupt_pkhash 1"): raise Exception("Could not enable wps_corrupt_pkhash") @@ -552,8 +538,7 @@ def test_nfc_wps_er_handover_pk_hash_mismatch_er(dev, apdev): def _test_nfc_wps_er_handover_pk_hash_mismatch_er(dev, apdev): ssid = "wps-nfc-er-handover-pkhash-er" - start_ap_er(dev[0], apdev[0], ssid) - hapd = hostapd.Hostapd(apdev[0]['ifname']) + hapd = start_ap_er(dev[0], apdev[0], ssid) logger.info("WPS provisioning step using connection handover") if "FAIL" in dev[0].request("SET wps_corrupt_pkhash 1"): raise Exception("Could not enable wps_corrupt_pkhash")