From patchwork Sat Jan 4 22:10:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Wetzel X-Patchwork-Id: 1217672 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=wetzel-home.de Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="M8PXPPPK"; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=wetzel-home.de header.i=@wetzel-home.de header.b="SPfLmqjp"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47qwwQ5Mb9z9sP3 for ; Sun, 5 Jan 2020 09:11:34 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kcY/5b/JanJEn3QJS5/GDtbWa2qTdxhDLN6lgX2IZl0=; b=M8PXPPPKJLzEzf rG6X2cHKdAjg8eM8Kp5sf+N0MVMv+CCRuZ1mzS2c4nAf0Qk47ci/EZHdXMS9SuVKIcqaLCPToBwa1 qtBTwydKfpUV9X9JGFPe0dzhJRoKY6+C2bIxOQ6TKtEZj3+5cexfRNxcBD5X6t9+P2nAJrXMZJfu/ n/WQxFllvY7eU8sf//+WlPnpT3VHExMrpcfBLn/lr2ORxNCvb6Y4PLg9vkzxufMp9ZWNMtR8VcRM/ m9nn6vZsTCjEUmer9XpkFsuGvShLIgdFms/MyTOfC2+WmWJzaEXlAVUzTnbXy0HrU6ovae18R8Qey uGlgSuPP4oITcQd6A/1w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1inrdo-00036x-R4; Sat, 04 Jan 2020 22:11:28 +0000 Received: from 13.mo7.mail-out.ovh.net ([87.98.150.175]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1inrdP-0002gC-Ge for hostap@lists.infradead.org; Sat, 04 Jan 2020 22:11:07 +0000 Received: from player794.ha.ovh.net (unknown [10.109.146.175]) by mo7.mail-out.ovh.net (Postfix) with ESMTP id E90E9148EFB for ; Sat, 4 Jan 2020 23:10:57 +0100 (CET) Received: from awhome.eu (p4FF91EE6.dip0.t-ipconnect.de [79.249.30.230]) (Authenticated sender: postmaster@awhome.eu) by player794.ha.ovh.net (Postfix) with ESMTPSA id 118B9AD8662F; Sat, 4 Jan 2020 22:10:53 +0000 (UTC) From: Alexander Wetzel DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wetzel-home.de; s=wetzel-home; t=1578175792; bh=iWUdy/pWl9iqUOHS106AaNXZT38w+P4CPb/kzD4fZyM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=SPfLmqjpE/dGcJNE7OtLR80ccdKZC8FJEncsApMybvazoDoxtmJlbDRCIiUjYOKu6 Xx6zcFQbZZ19bgvt9sVXn7Y3K0WThul1iYOHdX1/EmTmVU+cXssseYF3auF5kEZNlQ T7Q7uQmGuC02uAGHvvhe9wzQpoe7HCDIMaZ2X4wo= To: j@w1.fi Subject: [Patch v9 01/16] nl80211: Add support for CAN_REPLACE_PTK0 Date: Sat, 4 Jan 2020 23:10:00 +0100 Message-Id: <20200104221015.90469-2-alexander@wetzel-home.de> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200104221015.90469-1-alexander@wetzel-home.de> References: <20200104221015.90469-1-alexander@wetzel-home.de> MIME-Version: 1.0 X-Ovh-Tracer-Id: 968555396661058812 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedufedrvdeghedgudeitdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeetlhgvgigrnhguvghrucghvghtiigvlhcuoegrlhgvgigrnhguvghrseifvghtiigvlhdqhhhomhgvrdguvgeqnecukfhppedtrddtrddtrddtpdejledrvdegledrfedtrddvfedtnecurfgrrhgrmhepmhhouggvpehsmhhtphdqohhuthdphhgvlhhopehplhgrhigvrhejleegrdhhrgdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomheprghlvgigrghnuggvrhesfigvthiivghlqdhhohhmvgdruggvpdhrtghpthhtohephhhoshhtrghpsehlihhsthhsrdhinhhfrhgruggvrggurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200104_141103_703089_624AB3CD X-CRM114-Status: GOOD ( 10.48 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [87.98.150.175 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexander Wetzel , hostap@lists.infradead.org, luca@coelho.fi, johannes@sipsolutions.net Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The CAN_REPLACE_PTK0 flag provided by nl80211 can be used to detect if the card/driver is able to rekey STA PTK keys using only keyid 0 correctly. Check if the card/driver support it and make the status available as driver flag. Signed-off-by: Alexander Wetzel --- src/drivers/driver.h | 2 ++ src/drivers/driver_nl80211_capa.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/drivers/driver.h b/src/drivers/driver.h index f1027c08e..6288fe103 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -1704,6 +1704,8 @@ struct wpa_driver_capa { #define WPA_DRIVER_FLAGS_FTM_RESPONDER 0x0100000000000000ULL /** Driver support 4-way handshake offload for WPA-Personal */ #define WPA_DRIVER_FLAGS_4WAY_HANDSHAKE_PSK 0x0200000000000000ULL +/** Driver can correctly rekey PTKs without Extended Key ID */ +#define WPA_DRIVER_FLAGS_SAFE_PTK0_REKEYS 0x0400000000000000ULL u64 flags; #define FULL_AP_CLIENT_STATE_SUPP(drv_flags) \ diff --git a/src/drivers/driver_nl80211_capa.c b/src/drivers/driver_nl80211_capa.c index 9a82cd1e5..96f691b60 100644 --- a/src/drivers/driver_nl80211_capa.c +++ b/src/drivers/driver_nl80211_capa.c @@ -417,6 +417,10 @@ static void wiphy_info_ext_feature_flags(struct wiphy_info_data *info, NL80211_EXT_FEATURE_DFS_OFFLOAD)) capa->flags |= WPA_DRIVER_FLAGS_DFS_OFFLOAD; + if (ext_feature_isset(ext_features, len, + NL80211_EXT_FEATURE_CAN_REPLACE_PTK0)) + capa->flags |= WPA_DRIVER_FLAGS_SAFE_PTK0_REKEYS; + #ifdef CONFIG_MBO if (ext_feature_isset(ext_features, len, NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME) &&