]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Replace hostapd_michael_mic_failure() with generic driver event
authorJouni Malinen <j@w1.fi>
Sun, 13 Dec 2009 19:17:11 +0000 (21:17 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 13 Dec 2009 19:17:11 +0000 (21:17 +0200)
hostapd/drv_callbacks.c
src/drivers/driver.h
src/drivers/driver_atheros.c
src/drivers/driver_bsd.c
src/drivers/driver_hostap.c
src/drivers/driver_madwifi.c

index 5fde2496bbf44ca358f1911162e9f46ffd90276f..f8f768ef2521a92f79c4e3d232521a938be31256 100644 (file)
@@ -427,12 +427,6 @@ void hostapd_mgmt_tx_cb(struct hostapd_data *hapd, u8 *buf, size_t len,
 #endif /* NEED_AP_MLME */
 
 
-void hostapd_michael_mic_failure(struct hostapd_data *hapd, const u8 *addr)
-{
-       michael_mic_failure(hapd, addr, 1);
-}
-
-
 struct hostapd_data * hostapd_sta_get_bss(struct hostapd_data *hapd,
                                          const u8 *addr)
 {
index f1b86a6f4547370b56162c5eb967cd8ac89f02a7..228ce6bf0688dc9de5d97b9b36dddfd22ee08c0c 100644 (file)
@@ -1969,7 +1969,6 @@ void hostapd_mgmt_rx(struct hostapd_data *hapd, u8 *buf, size_t len,
                     u16 stype, struct hostapd_frame_info *fi);
 void hostapd_mgmt_tx_cb(struct hostapd_data *hapd, u8 *buf, size_t len,
                        u16 stype, int ok);
-void hostapd_michael_mic_failure(struct hostapd_data *hapd, const u8 *addr);
 struct hostapd_data * hostapd_sta_get_bss(struct hostapd_data *hapd,
                                          const u8 *addr);
 void hostapd_probe_req_rx(struct hostapd_data *hapd, const u8 *sa,
index 0db58e2b24f14962d2ed57140a86305686d574f4..8759b01382d52841c066b341be6fbaa7dc5244d1 100644 (file)
@@ -807,7 +807,12 @@ madwifi_wireless_event_wireless_custom(struct madwifi_driver_data *drv,
                }
                pos += 5;
                if (hwaddr_aton(pos, addr) == 0) {
-                       hostapd_michael_mic_failure(drv->hapd, addr);
+                       union wpa_event_data data;
+                       os_memset(&data, 0, sizeof(data));
+                       data.michael_mic_failure.unicast = 1;
+                       data.michael_mic_failure.src = addr;
+                       wpa_supplicant_event(drv->hapd,
+                                            EVENT_MICHAEL_MIC_FAILURE, &data);
                } else {
                        wpa_printf(MSG_DEBUG,
                                   "MLME-MICHAELMICFAILURE.indication "
index aa523d675990f9456baef2305dee9fca5aab4463..c3cbd096c7a0e0bdcc6db51025d521bfdd9b9275 100644 (file)
@@ -601,7 +601,6 @@ static void
 bsd_wireless_event_receive(int sock, void *ctx, void *sock_ctx)
 {
        struct bsd_driver_data *drv = ctx;
-       struct hostapd_data *hapd = drv->hapd;
        char buf[2048];
        struct if_announcemsghdr *ifan;
        struct rt_msghdr *rtm;
@@ -609,6 +608,7 @@ bsd_wireless_event_receive(int sock, void *ctx, void *sock_ctx)
        struct ieee80211_join_event *join;
        struct ieee80211_leave_event *leave;
        int n;
+       union wpa_event_data data;
 
        n = read(sock, buf, sizeof(buf));
        if (n < 0) {
@@ -652,7 +652,11 @@ bsd_wireless_event_receive(int sock, void *ctx, void *sock_ctx)
                                "Michael MIC failure wireless event: "
                                "keyix=%u src_addr=" MACSTR, mic->iev_keyix,
                                MAC2STR(mic->iev_src));
-                       hostapd_michael_mic_failure(hapd, mic->iev_src);
+                       os_memset(&data, 0, sizeof(data));
+                       data.michael_mic_failure.unicast = 1;
+                       data.michael_mic_failure.src = mic->iev_src;
+                       wpa_supplicant_event(drv->hapd,
+                                            EVENT_MICHAEL_MIC_FAILURE, &data);
                        break;
                }
                break;
index b49f1df11f244bad4a3bb443180c38a0a8f2819e..3e376589fb8746c9313bb04fe81bc5750a94738a 100644 (file)
@@ -846,7 +846,12 @@ hostapd_wireless_event_wireless_custom(struct hostap_driver_data *drv,
                }
                pos += 5;
                if (hwaddr_aton(pos, addr) == 0) {
-                       hostapd_michael_mic_failure(drv->hapd, addr);
+                       union wpa_event_data data;
+                       os_memset(&data, 0, sizeof(data));
+                       data.michael_mic_failure.unicast = 1;
+                       data.michael_mic_failure.src = addr;
+                       wpa_supplicant_event(drv->hapd,
+                                            EVENT_MICHAEL_MIC_FAILURE, &data);
                } else {
                        wpa_printf(MSG_DEBUG,
                                   "MLME-MICHAELMICFAILURE.indication "
index 3dc46eca2a3cc52f2e49f966b7efa9b365437f58..f1c14743d0b26264f30c45a66148461646d274ef 100644 (file)
@@ -908,7 +908,12 @@ madwifi_wireless_event_wireless_custom(struct madwifi_driver_data *drv,
                }
                pos += 5;
                if (hwaddr_aton(pos, addr) == 0) {
-                       hostapd_michael_mic_failure(drv->hapd, addr);
+                       union wpa_event_data data;
+                       os_memset(&data, 0, sizeof(data));
+                       data.michael_mic_failure.unicast = 1;
+                       data.michael_mic_failure.src = addr;
+                       wpa_supplicant_event(drv->hapd,
+                                            EVENT_MICHAEL_MIC_FAILURE, &data);
                } else {
                        wpa_printf(MSG_DEBUG,
                                   "MLME-MICHAELMICFAILURE.indication "