Allow Action frames with unknown BSSID in GO mode
authorArik Nemtsov <arik@wizery.com>
Sun, 4 Dec 2011 10:10:11 +0000 (12:10 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 4 Dec 2011 10:10:11 +0000 (12:10 +0200)
P2P invitation responses are transmitted with the BSSID set to the peer
address. Pass these action frames up to allow the GO to receive the
Invitation Response (and avoid sending the Invitation Request multiple
times).

Signed-off-by: Arik Nemtsov <arik@wizery.com>
src/ap/ieee802_11.c

index 35a47f1..0352599 100644 (file)
@@ -1364,6 +1364,11 @@ void ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len,
                mgmt->bssid[4] == 0xff && mgmt->bssid[5] == 0xff;
 
        if (!broadcast &&
+#ifdef CONFIG_P2P
+           /* Invitation responses can be sent with the peer MAC as BSSID */
+           !((hapd->conf->p2p & P2P_GROUP_OWNER) &&
+             stype == WLAN_FC_STYPE_ACTION) &&
+#endif /* CONFIG_P2P */
            os_memcmp(mgmt->bssid, hapd->own_addr, ETH_ALEN) != 0) {
                printf("MGMT: BSSID=" MACSTR " not our address\n",
                       MAC2STR(mgmt->bssid));