From patchwork Sat Sep 24 21:07:46 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: michael-dev X-Patchwork-Id: 674355 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::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 3shNCG3B2pz9s4x for ; Sun, 25 Sep 2016 07:09:29 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=fami-braun.de header.i=@fami-braun.de header.b=t9t74SsH; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bnuCA-0000am-2O; Sat, 24 Sep 2016 21:09:14 +0000 Received: from mo6-p00-ob.smtp.rzone.de ([2a01:238:20a:202:5300::4]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bnuBi-0000Pu-0N for hostap@lists.infradead.org; Sat, 24 Sep 2016 21:08:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1474751298; l=2674; s=domk; d=fami-braun.de; h=References:In-Reply-To:Date:Subject:To:From; bh=mal3w4T0DuwdLK5ew55al7yoQNZK8DcCAPUILT0qrx8=; b=t9t74SsHmYGu5VSRvXiZ2wUazkSSGo9rOj9JbA4VRt6S3ry9DWtYmjhCi/UWR6p4lDi bDZ4AP6LQIeoWes49C5UeWzLB+Mp/W0AF8JKLZxjZ9zEfBBjI/IDgW4CR0o2r+5jVMNiD wBRLx6BaEAB1FI0ZvHc+WCpxhFIXM/BqS1Y= X-RZG-AUTH: :P20JeEWkefDI1ODZs1HHtgV3eF0OpFsRaGIBBWYxhJvJPtnXtogBWn6YvUkYzDKvBT07wx/0LJ4BNA== X-RZG-CLASS-ID: mo00 Received: from dynamic.fami-braun.de ([2a01:198:45f::254]) by smtp.strato.de (RZmta 39.3 AUTH) with ESMTPSA id Y01663s8OL8IFU1 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate) for ; Sat, 24 Sep 2016 23:08:18 +0200 (CEST) Received: from dynamic.fami-braun.de (localhost [127.0.0.1]) by dynamic.fami-braun.de (fami-braun.de) with ESMTP id B6AEA154369 for ; Sat, 24 Sep 2016 23:08:17 +0200 (CEST) Received: by dynamic.fami-braun.de (fami-braun.de, from userid 1001) id A37A015829D; Sat, 24 Sep 2016 23:08:17 +0200 (CEST) From: "M. Braun" To: hostap@lists.infradead.org Subject: [PATCH v2 02/33] test: FT with locally generated PMK_R0/PMK_R1 from PSK Date: Sat, 24 Sep 2016 23:07:46 +0200 Message-Id: <1474751297-7277-3-git-send-email-michael-dev@fami-braun.de> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1474751297-7277-1-git-send-email-michael-dev@fami-braun.de> References: <1474751297-7277-1-git-send-email-michael-dev@fami-braun.de> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160924_140846_454265_EDDD3E96 X-CRM114-Status: UNSURE ( 7.56 ) X-CRM114-Notice: Please train this message. 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 [2a01:238:20a:202:5300:0:0:4 listed in] [list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -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 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid 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: , MIME-Version: 1.0 Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Michael Braun Signed-off-by: Michael Braun --- tests/hwsim/test_ap_ft.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/tests/hwsim/test_ap_ft.py b/tests/hwsim/test_ap_ft.py index bd9b1ab..a5aeb06 100644 --- a/tests/hwsim/test_ap_ft.py +++ b/tests/hwsim/test_ap_ft.py @@ -46,19 +46,27 @@ def ft_params(rsn=True, ssid=None, passphrase=None): params["reassociation_deadline"] = "1000" return params -def ft_params1(rsn=True, ssid=None, passphrase=None): +def ft_params1a(rsn=True, ssid=None, passphrase=None): params = ft_params(rsn, ssid, passphrase) params['nas_identifier'] = "nas1.w1.fi" params['r1_key_holder'] = "000102030405" + return params + +def ft_params1(rsn=True, ssid=None, passphrase=None): + params = ft_params1a(rsn, ssid, passphrase) params['r0kh'] = [ "02:00:00:00:03:00 nas1.w1.fi 100102030405060708090a0b0c0d0e0f", "02:00:00:00:04:00 nas2.w1.fi 300102030405060708090a0b0c0d0e0f" ] params['r1kh'] = "02:00:00:00:04:00 00:01:02:03:04:06 200102030405060708090a0b0c0d0e0f" return params -def ft_params2(rsn=True, ssid=None, passphrase=None): +def ft_params2a(rsn=True, ssid=None, passphrase=None): params = ft_params(rsn, ssid, passphrase) params['nas_identifier'] = "nas2.w1.fi" params['r1_key_holder'] = "000102030406" + return params + +def ft_params2(rsn=True, ssid=None, passphrase=None): + params = ft_params2a(rsn, ssid, passphrase) params['r0kh'] = [ "02:00:00:00:03:00 nas1.w1.fi 200102030405060708090a0b0c0d0e0f", "02:00:00:00:04:00 nas2.w1.fi 000102030405060708090a0b0c0d0e0f" ] params['r1kh'] = "02:00:00:00:03:00 00:01:02:03:04:05 300102030405060708090a0b0c0d0e0f" @@ -162,6 +170,22 @@ def test_ap_ft(dev, apdev): if "[WPA2-FT/PSK-CCMP]" not in dev[0].request("SCAN_RESULTS"): raise Exception("Scan results missing RSN element info") +def test_ap_ft_disconnected(dev, apdev): + """WPA2-PSK-FT AP w/o PULL/PUSH""" + ssid = "test-ft" + passphrase="12345678" + + params = ft_params1a(ssid=ssid, passphrase=passphrase) + params['ft_psk_generate_local'] = "1"; + hapd0 = hostapd.add_ap(apdev[0]['ifname'], params) + params = ft_params2a(ssid=ssid, passphrase=passphrase) + params['ft_psk_generate_local'] = "1"; + hapd1 = hostapd.add_ap(apdev[1]['ifname'], params) + + run_roams(dev[0], apdev, hapd0, hapd1, ssid, passphrase) + if "[WPA2-FT/PSK-CCMP]" not in dev[0].request("SCAN_RESULTS"): + raise Exception("Scan results missing RSN element info") + def test_ap_ft_many(dev, apdev): """WPA2-PSK-FT AP multiple times""" ssid = "test-ft"