Parcourir la source

Fix WPS in non-WPA modes with drivers that implement MLME

Need to set WLAN_STA_WPS and WLAN_STA_MAYBE_WPS flags even if WPA is not
enabled. This allows open and static WEP modes to initiate WPS
negotiation with madwifi-like drivers.
Jouni Malinen il y a 16 ans
Parent
commit
a9aca28ba3
1 fichiers modifiés avec 6 ajouts et 0 suppressions
  1. 6 0
      hostapd/drv_callbacks.c

+ 6 - 0
hostapd/drv_callbacks.c

@@ -208,6 +208,12 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
 			wpa_hexdump(MSG_DEBUG, "IE", ie, ielen);
 			return -1;
 		}
+	} else if (hapd->conf->wps_state) {
+		if (ie && ielen > 4 && ie[0] == 0xdd && ie[1] >= 4 &&
+		    os_memcmp(ie + 2, "\x00\x50\xf2\x04", 4) == 0) {
+			sta->flags |= WLAN_STA_WPS;
+		} else
+			sta->flags |= WLAN_STA_MAYBE_WPS;
 	}
 skip_wpa_check: