No OWE transition mode element on hidden OWE network

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

While playing around with OWE transition mode I noticed the hidden OWE
network has no OWE transition mode element. The two network configs are
attached.

According to the OWE Spec v1.1, section 2.2.1:

"The OWE BSS shall include the OWE Transition Mode element in all
Beacon and Probe Response frames to encapsulate the BSSID and SSID of
the Open BSS."

I figured it was a misconfiguration but then I found the following code
in src/ap/ieee802_11_shared.c:

static int hostapd_eid_owe_trans_enabled(struct hostapd_data *hapd)
{
	return hapd->conf->owe_transition_ssid_len > 0 &&
		!is_zero_ether_addr(hapd->conf->owe_transition_bssid);
}

This is called prior to appending the OWE transition element so for the
hidden SSID (where ssid_len < 0) it returns false and the IE is never
built/appended.

Removing the SSID length check seems to fix this and I see the OWE
transition element for the hidden OWE network. Attached is the patch to
remove this length check.

Thanks,
James
ssid=owe-hidden
bssid=a6:44:ce:d8:61:6f
channel=1
ignore_broadcast_ssid=1
ieee80211w=1

wpa=2
wpa_key_mgmt=OWE
rsn_pairwise=CCMP
owe_transition_ssid="transition"
owe_transition_bssid=fe:e1:de:ce:a5:ed
channel=1
ssid=transition
bssid=fe:e1:de:ce:a5:ed
owe_transition_ssid="owe-hidden"
owe_transition_bssid=a6:44:ce:d8:61:6f
From 49bc686b2d05acef909449e61f1492e346a7dff4 Mon Sep 17 00:00:00 2001
From: James Prestwood <prestwoj@xxxxxxxxx>
Date: Thu, 9 Sep 2021 16:05:24 -0700
Subject: [PATCH] owe: remove ssid length check for OWE transition element

This removes the SSID length check when appending the OWE transition
element. With this check in place the transition element is never
appended to the hidden OWE network.

Signed-off-by: James Prestwood <prestwoj@xxxxxxxxx>
---
 src/ap/ieee802_11_shared.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/ap/ieee802_11_shared.c b/src/ap/ieee802_11_shared.c
index 4bff9e591..fc3b2e01e 100644
--- a/src/ap/ieee802_11_shared.c
+++ b/src/ap/ieee802_11_shared.c
@@ -812,8 +812,7 @@ u8 hostapd_mbo_ie_len(struct hostapd_data *hapd)
 #ifdef CONFIG_OWE
 static int hostapd_eid_owe_trans_enabled(struct hostapd_data *hapd)
 {
-	return hapd->conf->owe_transition_ssid_len > 0 &&
-		!is_zero_ether_addr(hapd->conf->owe_transition_bssid);
+	return !is_zero_ether_addr(hapd->conf->owe_transition_bssid);
 }
 #endif /* CONFIG_OWE */
 
-- 
2.31.1

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap

[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux