From patchwork Mon Apr 29 11:51:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Berg X-Patchwork-Id: 1928955 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=3fABvaKT; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=sipsolutions.net header.i=@sipsolutions.net header.a=rsa-sha256 header.s=mail header.b=H0tas8PX; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=patchwork.ozlabs.org) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VShXs3FdYz1ymX for ; Mon, 29 Apr 2024 21:53:01 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rm/1OBnhoBzdM2w7AJHoIaSR/LbyoX6a/UjsYdhNdzU=; b=3fABvaKT0SPn+X BN1D903Y/bXxvSVdOnyxjDovx8f7GuIrVhZ5BdfeWCxDBT64yIu354h4NeYAiC+PdDd8LSHGRxnP8 /T8wehV6hhD4YdgkiKfK7uJintfxlUH0x4wNLJTzR0exO6hX+aAo5SZ72aPJOc2E2ctyux6gXGvwd JrbOizq6KB1E3UX0ieRIeU7fuALJlRD+fxprrowCyonzup81+XNaOFEAjTKiNUFV1bkgpNzBOPdI8 Ki9vo4NyQGCE5YFB1ACbNlQynL5GVlUgY79FwIu1CQe1NFAaPplwBLUEuNUh1E8XVlL98Tf5hkzZE X9krtgUt7+9XcP//IyVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1PYo-00000002XR2-0o1U; Mon, 29 Apr 2024 11:52:42 +0000 Received: from s3.sipsolutions.net ([2a01:4f8:242:246e::2] helo=sipsolutions.net) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1PYQ-00000002XCB-1hza for hostap@lists.infradead.org; Mon, 29 Apr 2024 11:52:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sipsolutions.net; s=mail; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Content-Type:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-To: Resent-Cc:Resent-Message-ID; bh=6zvmjroKMJsvsiU233819fAQetkZGm0Wut5SjM2Pz9U=; t=1714391538; x=1715601138; b=H0tas8PXrttgdEhVXJFkkk569JBsZHjgI2ZRxmcOeBMQ776 WyHKYCJaySC6yQXsoGFa93prA5ra+bnJCDgMlH7dAq+zHagGe0M/c/gOQw1ZOxUroo5100sGUeUGZ 45KZPDG1NqoblGBoYgSB9sEkF/N/fT4lAEejJWCMf935JrPbL03wH5rB36Jdn9s2pQNG8M8/VSn6a MWPffrduMrSAnjhSfPtAM3THoJPg7NFG3siAWIzBwg1RRBopsu1VsnmAv4jPtWnGVglnO9PafeKbV Y7m5lRiHYZuTpJMsAAK53zPxtwnRkUDOY9536rXO/Ki58w56v58hmm/MRXT9gUOg==; Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.97) (envelope-from ) id 1s1PYO-0000000CNIg-1C5S; Mon, 29 Apr 2024 13:52:16 +0200 From: benjamin@sipsolutions.net To: hostap@lists.infradead.org Cc: Avraham Stern , Benjamin Berg Subject: [PATCH 11/16] MBO: Always accept BTM request with disassociation imminent bit set Date: Mon, 29 Apr 2024 13:51:52 +0200 Message-ID: <20240429115157.211073-12-benjamin@sipsolutions.net> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240429115157.211073-1-benjamin@sipsolutions.net> References: <20240429115157.211073-1-benjamin@sipsolutions.net> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240429_045218_522397_07F2EC9D X-CRM114-Status: GOOD ( 12.60 ) X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: From: Avraham Stern According to Multiband Operation specification (r17, section 3.5.2), a BSS Transition Management Request with the disassociation imminent bit set should always be accepted. Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -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 -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Avraham Stern According to Multiband Operation specification (r17, section 3.5.2), a BSS Transition Management Request with the disassociation imminent bit set should always be accepted. This is enforced in case the request did not include a candidate list. However, in case a candidate list was included but none of the APs in the candidate list was found in the scan results, the request is rejected. Fix that by always accepting a request with the disassociation imminent bit set even if no roaming candidate was found. type=feature Signed-off-by: Avraham Stern Signed-off-by: Benjamin Berg --- wpa_supplicant/wnm_sta.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c index 8c51b3ddb..4a3fd5eb1 100644 --- a/wpa_supplicant/wnm_sta.c +++ b/wpa_supplicant/wnm_sta.c @@ -1114,11 +1114,18 @@ int wnm_scan_process(struct wpa_supplicant *wpa_s, bool pre_scan_check) return 1; send_bss_resp_fail: - /* Send reject response for all the failures */ + if (wpa_s->wnm_reply) { + /* If disassoc imminent is set, we must not reject */ + if (wpa_s->wnm_mode & WNM_BSS_TM_REQ_DISASSOC_IMMINENT || + wpa_s->wnm_mode & WNM_BSS_TM_REQ_ESS_DISASSOC_IMMINENT) { + wpa_printf(MSG_DEBUG, + "WNM: Accept BTM request because disassociation imminent bit is set"); + status = WNM_BSS_TM_ACCEPT; + } - if (wpa_s->wnm_reply) wnm_send_bss_transition_mgmt_resp(wpa_s, status, reason, 0, NULL); + } wnm_btm_reset(wpa_s);