]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Interworking: Don't filter probe requests when interworking is disabled
authorMaxime Bizon <mbizon@freebox.fr>
Wed, 23 Apr 2014 21:23:37 +0000 (23:23 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 24 Apr 2014 09:15:32 +0000 (12:15 +0300)
With hidden SSID (ignore_broadcast_ssid), an IOS device trying to
connect to the AP will send a probe request with ANT == 2. If
interworking support is just compiled (not enabled), we will drop the
probe request since default ANT is 0.

Check that interworking is enabled before filtering based on ANT or
HESSID to match the behavior of code without CONFIG_INTERWORKING.

Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
src/ap/beacon.c

index e06ce778d4dc705c87cbc442507f4fadb589786f..56df3182e4028aa24a5c6d70d7c536451001821a 100644 (file)
@@ -600,7 +600,8 @@ void handle_probe_req(struct hostapd_data *hapd,
        }
 
 #ifdef CONFIG_INTERWORKING
-       if (elems.interworking && elems.interworking_len >= 1) {
+       if (hapd->conf->interworking &&
+           elems.interworking && elems.interworking_len >= 1) {
                u8 ant = elems.interworking[0] & 0x0f;
                if (ant != INTERWORKING_ANT_WILDCARD &&
                    ant != hapd->conf->access_network_type) {
@@ -611,7 +612,7 @@ void handle_probe_req(struct hostapd_data *hapd,
                }
        }
 
-       if (elems.interworking &&
+       if (hapd->conf->interworking && elems.interworking &&
            (elems.interworking_len == 7 || elems.interworking_len == 9)) {
                const u8 *hessid;
                if (elems.interworking_len == 7)