diff --git a/hostapd/beacon.c b/hostapd/beacon.c index 2e0d3e3a8..1df875242 100644 --- a/hostapd/beacon.c +++ b/hostapd/beacon.c @@ -312,7 +312,7 @@ void handle_probe_req(struct hostapd_data *hapd, struct ieee80211_mgmt *mgmt, } #endif /* CONFIG_WPS */ - if (hostapd_send_mgmt_frame(hapd, resp, pos - (u8 *) resp, 0) < 0) + if (hostapd_send_mgmt_frame(hapd, resp, pos - (u8 *) resp) < 0) perror("handle_probe_req: send"); os_free(resp); diff --git a/hostapd/driver_i.h b/hostapd/driver_i.h index 81be2278e..170c3b3e8 100644 --- a/hostapd/driver_i.h +++ b/hostapd/driver_i.h @@ -175,12 +175,11 @@ hostapd_set_ssid(struct hostapd_data *hapd, const u8 *buf, size_t len) } static inline int -hostapd_send_mgmt_frame(struct hostapd_data *hapd, const void *msg, size_t len, - int flags) +hostapd_send_mgmt_frame(struct hostapd_data *hapd, const void *msg, size_t len) { if (hapd->driver == NULL || hapd->driver->send_mgmt_frame == NULL) return 0; - return hapd->driver->send_mgmt_frame(hapd->drv_priv, msg, len, flags); + return hapd->driver->send_mgmt_frame(hapd->drv_priv, msg, len); } static inline int diff --git a/hostapd/hostapd.c b/hostapd/hostapd.c index 0ed72f8f2..2f5a888c3 100644 --- a/hostapd/hostapd.c +++ b/hostapd/hostapd.c @@ -816,7 +816,7 @@ static int hostapd_wpa_auth_send_ft_action(void *ctx, const u8 *dst, os_memcpy(m->bssid, hapd->own_addr, ETH_ALEN); os_memcpy(&m->u, data, data_len); - res = hostapd_send_mgmt_frame(hapd, (u8 *) m, mlen, 0); + res = hostapd_send_mgmt_frame(hapd, (u8 *) m, mlen); os_free(m); return res; } diff --git a/hostapd/ieee802_11.c b/hostapd/ieee802_11.c index 759d9ffd6..f60c72d05 100644 --- a/hostapd/ieee802_11.c +++ b/hostapd/ieee802_11.c @@ -357,7 +357,7 @@ void ieee802_11_send_deauth(struct hostapd_data *hapd, u8 *addr, u16 reason) os_memcpy(mgmt.bssid, hapd->own_addr, ETH_ALEN); mgmt.u.deauth.reason_code = host_to_le16(reason); if (hostapd_send_mgmt_frame(hapd, &mgmt, IEEE80211_HDRLEN + - sizeof(mgmt.u.deauth), 0) < 0) + sizeof(mgmt.u.deauth)) < 0) perror("ieee802_11_send_deauth: send"); } @@ -452,7 +452,7 @@ static void send_auth_reply(struct hostapd_data *hapd, " auth_alg=%d auth_transaction=%d resp=%d (IE len=%lu)", MAC2STR(dst), auth_alg, auth_transaction, resp, (unsigned long) ies_len); - if (hostapd_send_mgmt_frame(hapd, reply, rlen, 0) < 0) + if (hostapd_send_mgmt_frame(hapd, reply, rlen) < 0) perror("send_auth_reply: send"); os_free(buf); @@ -1170,7 +1170,7 @@ static void handle_assoc(struct hostapd_data *hapd, send_len += p - reply->u.assoc_resp.variable; } - if (hostapd_send_mgmt_frame(hapd, reply, send_len, 0) < 0) + if (hostapd_send_mgmt_frame(hapd, reply, send_len) < 0) perror("handle_assoc: send"); } @@ -1298,7 +1298,7 @@ void ieee802_11_send_sa_query_req(struct hostapd_data *hapd, os_memcpy(mgmt.u.action.u.sa_query_req.trans_id, trans_id, WLAN_SA_QUERY_TR_ID_LEN); end = mgmt.u.action.u.sa_query_req.trans_id + WLAN_SA_QUERY_TR_ID_LEN; - if (hostapd_send_mgmt_frame(hapd, &mgmt, end - (u8 *) &mgmt, 0) < 0) + if (hostapd_send_mgmt_frame(hapd, &mgmt, end - (u8 *) &mgmt) < 0) perror("ieee802_11_send_sa_query_req: send"); } @@ -1416,7 +1416,7 @@ static void handle_action(struct hostapd_data *hapd, os_memcpy(mgmt->bssid, hapd->own_addr, ETH_ALEN); mgmt->u.action.category |= 0x80; - hostapd_send_mgmt_frame(hapd, mgmt, len, 0); + hostapd_send_mgmt_frame(hapd, mgmt, len); } } diff --git a/hostapd/sta_info.c b/hostapd/sta_info.c index cbf556c12..7a22e9298 100644 --- a/hostapd/sta_info.c +++ b/hostapd/sta_info.c @@ -314,7 +314,7 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx) ETH_ALEN); os_memcpy(hdr.IEEE80211_SA_FROMDS, hapd->own_addr, ETH_ALEN); - if (hostapd_send_mgmt_frame(hapd, &hdr, sizeof(hdr), 0) < 0) + if (hostapd_send_mgmt_frame(hapd, &hdr, sizeof(hdr)) < 0) perror("ap_handle_timer: send"); #endif /* CONFIG_NATIVE_WINDOWS */ } else if (sta->timeout_next != STA_REMOVE) { diff --git a/hostapd/wme.c b/hostapd/wme.c index 7f92a0a49..efcbe3714 100644 --- a/hostapd/wme.c +++ b/hostapd/wme.c @@ -160,7 +160,7 @@ static void wmm_send_action(struct hostapd_data *hapd, const u8 *addr, os_memcpy(t, tspec, sizeof(struct wmm_tspec_element)); len = ((u8 *) (t + 1)) - buf; - if (hostapd_send_mgmt_frame(hapd, m, len, 0) < 0) + if (hostapd_send_mgmt_frame(hapd, m, len) < 0) perror("wmm_send_action: send"); } diff --git a/src/drivers/driver.h b/src/drivers/driver.h index eee49cbc4..524274868 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -1249,8 +1249,7 @@ struct wpa_driver_ops { int (*hapd_set_ssid)(const char *ifname, void *priv, const u8 *buf, int len); int (*hapd_set_countermeasures)(void *priv, int enabled); - int (*send_mgmt_frame)(void *priv, const void *msg, size_t len, - int flags); + int (*send_mgmt_frame)(void *priv, const void *msg, size_t len); int (*sta_add)(const char *ifname, void *priv, struct hostapd_sta_add_params *params); int (*get_inact_sec)(void *priv, const u8 *addr); diff --git a/src/drivers/driver_hostap.c b/src/drivers/driver_hostap.c index de2e1cfb1..e22739dfc 100644 --- a/src/drivers/driver_hostap.c +++ b/src/drivers/driver_hostap.c @@ -293,8 +293,7 @@ static int hostap_init_sockets(struct hostap_driver_data *drv) } -static int hostap_send_mgmt_frame(void *priv, const void *msg, size_t len, - int flags) +static int hostap_send_mgmt_frame(void *priv, const void *msg, size_t len) { struct hostap_driver_data *drv = priv; struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) msg; @@ -302,7 +301,7 @@ static int hostap_send_mgmt_frame(void *priv, const void *msg, size_t len, /* Request TX callback */ hdr->frame_control |= host_to_le16(BIT(1)); - res = send(drv->sock, msg, len, flags); + res = send(drv->sock, msg, len, 0); hdr->frame_control &= ~host_to_le16(BIT(1)); return res; @@ -342,7 +341,7 @@ static int hostap_send_eapol(void *priv, const u8 *addr, const u8 *data, pos += 2; memcpy(pos, data, data_len); - res = hostap_send_mgmt_frame(drv, (u8 *) hdr, len, 0); + res = hostap_send_mgmt_frame(drv, (u8 *) hdr, len); free(hdr); if (res < 0) { @@ -1147,7 +1146,7 @@ static int hostap_sta_deauth(void *priv, const u8 *addr, int reason) memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN); mgmt.u.deauth.reason_code = host_to_le16(reason); return hostap_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN + - sizeof(mgmt.u.deauth), 0); + sizeof(mgmt.u.deauth)); } @@ -1164,7 +1163,7 @@ static int hostap_sta_disassoc(void *priv, const u8 *addr, int reason) memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN); mgmt.u.disassoc.reason_code = host_to_le16(reason); return hostap_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN + - sizeof(mgmt.u.disassoc), 0); + sizeof(mgmt.u.disassoc)); } diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 96acef9a2..f5f18c0b5 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -3039,7 +3039,7 @@ static int i802_set_rate_sets(void *priv, int *supp_rates, int *basic_rates, static int i802_send_frame(void *priv, const void *data, size_t len, - int encrypt, int flags) + int encrypt) { __u8 rtap_hdr[] = { 0x00, 0x00, /* radiotap version */ @@ -3074,11 +3074,10 @@ static int i802_send_frame(void *priv, const void *data, size_t len, if (encrypt) rtap_hdr[8] |= IEEE80211_RADIOTAP_F_WEP; - return sendmsg(drv->monitor_sock, &msg, flags); + return sendmsg(drv->monitor_sock, &msg, 0); } -static int i802_send_mgmt_frame(void *priv, const void *data, size_t len, - int flags) +static int i802_send_mgmt_frame(void *priv, const void *data, size_t len) { struct ieee80211_mgmt *mgmt; int do_not_encrypt = 0; @@ -3102,7 +3101,7 @@ static int i802_send_mgmt_frame(void *priv, const void *data, size_t len, do_not_encrypt = 1; } - return i802_send_frame(priv, data, len, !do_not_encrypt, flags); + return i802_send_frame(priv, data, len, !do_not_encrypt); } /* Set kernel driver on given frequency (MHz) */ @@ -3364,7 +3363,7 @@ static int i802_send_eapol(void *priv, const u8 *addr, const u8 *data, pos += 2; memcpy(pos, data, data_len); - res = i802_send_frame(drv, (u8 *) hdr, len, encrypt, 0); + res = i802_send_frame(drv, (u8 *) hdr, len, encrypt); free(hdr); if (res < 0) { @@ -4945,7 +4944,7 @@ static int i802_sta_deauth(void *priv, const u8 *addr, int reason) memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN); mgmt.u.deauth.reason_code = host_to_le16(reason); return i802_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN + - sizeof(mgmt.u.deauth), 0); + sizeof(mgmt.u.deauth)); } @@ -4961,8 +4960,8 @@ static int i802_sta_disassoc(void *priv, const u8 *addr, int reason) memcpy(mgmt.sa, drv->hapd->own_addr, ETH_ALEN); memcpy(mgmt.bssid, drv->hapd->own_addr, ETH_ALEN); mgmt.u.disassoc.reason_code = host_to_le16(reason); - return i802_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN + - sizeof(mgmt.u.disassoc), 0); + return i802_send_mgmt_frame(drv, &mgmt, IEEE80211_HDRLEN + + sizeof(mgmt.u.disassoc)); } diff --git a/src/drivers/driver_test.c b/src/drivers/driver_test.c index 2cbf59183..ab522fcb5 100644 --- a/src/drivers/driver_test.c +++ b/src/drivers/driver_test.c @@ -297,8 +297,7 @@ static int test_driver_send_ether(void *priv, const u8 *dst, const u8 *src, } -static int test_driver_send_mgmt_frame(void *priv, const void *buf, - size_t len, int flags) +static int test_driver_send_mgmt_frame(void *priv, const void *buf, size_t len) { struct test_driver_data *drv = priv; struct msghdr msg;