Fix FreeBSD build by not adding -ldl
[wpasupplicant] / hostapd / drv_callbacks.c
index dec7eb9..ca65078 100644 (file)
@@ -103,7 +103,7 @@ void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,
        if (!hapd->conf->ieee802_1x && !hapd->conf->wpa)
                accounting_sta_start(hapd, sta);
 
-       hostapd_wme_sta_config(hapd, sta);
+       hostapd_wmm_sta_config(hapd, sta);
 
        /* Start IEEE 802.1X authentication process for new stations */
        ieee802_1x_new_station(hapd, sta);
@@ -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:
 
@@ -252,6 +258,7 @@ void hostapd_eapol_receive(struct hostapd_data *hapd, const u8 *sa,
 }
 
 
+#ifdef NEED_MLME
 void hostapd_mgmt_rx(struct hostapd_data *hapd, u8 *buf, size_t len,
                     u16 stype, struct hostapd_frame_info *fi)
 {
@@ -264,6 +271,7 @@ void hostapd_mgmt_tx_cb(struct hostapd_data *hapd, u8 *buf, size_t len,
 {
        ieee802_11_mgmt_cb(hapd, buf, len, stype, ok);
 }
+#endif /* NEED_MLME */
 
 
 void hostapd_michael_mic_failure(struct hostapd_data *hapd, const u8 *addr)