aboutsummaryrefslogtreecommitdiffstats
path: root/src/fst/fst_group.c
diff options
context:
space:
mode:
authorAnton Nayshtut <qca_antonn@qca.qualcomm.com>2015-11-10 15:51:07 +0200
committerGerrit - the friendly Code Review server <code-review@localhost>2015-12-01 08:14:52 -0800
commitcb7ecf9c78c96e154fb533510e260a259e5fad28 (patch)
tree9bdb617173923d2728a478e1d2a53cb2a114b903 /src/fst/fst_group.c
parent87704cf971d272347fa196c23e2574f0faa90a3c (diff)
downloadandroid_external_wpa_supplicant_8-cb7ecf9c78c96e154fb533510e260a259e5fad28.tar.gz
android_external_wpa_supplicant_8-cb7ecf9c78c96e154fb533510e260a259e5fad28.tar.bz2
android_external_wpa_supplicant_8-cb7ecf9c78c96e154fb533510e260a259e5fad28.zip
FST: Make FST peer connection check more permissive in hostapd
Modify the FST peer connection check so it won't skip peers without MB IEs making it more permissive for peers that didn't provide MB IEs during association request. This can be helpful, e.g., in cases where a STA's interface connected before it was added to the FST group. This allows the AP to receive FST Action frames and initiate session with a STA via STA's interface that doesn't expose MB IEs. The adjusted FST protocol is still safe, as it protects itself in many other ways (checking band info and it's accordance to the interfaces, Setup IDs, connection states of the interfaces involved, etc.) effectively avoiding all types of invalid situations. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Git-commit: b47d05aa458ed7c7dfbfe09fc2a2af1f2fee7fc7 Git-repo : git://w1.fi/srv/git/hostap.git CRs-Fixed: 945518 Change-Id: Ie1a94890d55dcd7027947cedd4313eddebe3d487
Diffstat (limited to 'src/fst/fst_group.c')
-rw-r--r--src/fst/fst_group.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/fst/fst_group.c b/src/fst/fst_group.c
index f2cd3296..e0c055f0 100644
--- a/src/fst/fst_group.c
+++ b/src/fst/fst_group.c
@@ -219,7 +219,8 @@ fst_group_get_new_iface_by_mbie_and_band_id(struct fst_group *g,
fst_mbie_get_peer_addr(mbie);
if (peer_addr &&
- fst_iface_is_connected(iface, peer_addr) &&
+ fst_iface_is_connected(iface, peer_addr,
+ TRUE) &&
band_id == fst_iface_get_band_id(iface)) {
os_memcpy(iface_peer_addr, peer_addr,
ETH_ALEN);