aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPurushottam Kushwaha <pkushwah@codeaurora.org>2019-07-26 05:55:19 (GMT)
committerJouni Malinen <j@w1.fi>2019-08-15 13:51:02 (GMT)
commit84ebc759a005ee3e068cb79d92a3d23ec5293017 (patch)
treeb48c3e6eb21ab6ed743f6471a1dd40cd3dad5a60
parentb6fe6e8b5ab11bae07df25f722fa2eb35cef81fb (diff)
downloadhostap-84ebc759a005ee3e068cb79d92a3d23ec5293017.zip
hostap-84ebc759a005ee3e068cb79d92a3d23ec5293017.tar.gz
hostap-84ebc759a005ee3e068cb79d92a3d23ec5293017.tar.bz2
HS 2.0: Match credentials based on required_roaming_consortium
When required_roaming_consortium is set in a credential, station should match this against Roaming Consortium(s) for a BSS similar to how it is matching for roaming_consortiums during Interworking credentials availability check for roaming_consortium. In the context of Hotspot 2.0 PPS MO, this means addressing matching part in the same manner for HomeSP/HomeOIList/<X+>/HomeOI regardless of how HomeSP/HomeOIList/<X+>/HomeOIRequired is set (i.e., the required part is used as an independent check for the AP advertising the needed information while the "credential can be used here and this is a home network" part is shared). Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
-rw-r--r--wpa_supplicant/interworking.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/wpa_supplicant/interworking.c b/wpa_supplicant/interworking.c
index dd35571..2c2ff9c 100644
--- a/wpa_supplicant/interworking.c
+++ b/wpa_supplicant/interworking.c
@@ -1395,7 +1395,11 @@ static struct wpa_cred * interworking_credentials_available_roaming_consortium(
!roaming_consortium_match(ie, anqp,
cred->roaming_consortium,
cred->roaming_consortium_len)) &&
- !cred_roaming_consortiums_match(ie, anqp, cred))
+ !cred_roaming_consortiums_match(ie, anqp, cred) &&
+ (cred->required_roaming_consortium_len == 0 ||
+ !roaming_consortium_match(
+ ie, anqp, cred->required_roaming_consortium,
+ cred->required_roaming_consortium_len)))
continue;
if (cred_no_required_oi_match(cred, bss))