diff options
Diffstat (limited to 'package/network/services/hostapd/patches/0001-Revert-wpa_supplicant-Increase-authentication-timeou.patch')
-rw-r--r-- | package/network/services/hostapd/patches/0001-Revert-wpa_supplicant-Increase-authentication-timeou.patch | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/0001-Revert-wpa_supplicant-Increase-authentication-timeou.patch b/package/network/services/hostapd/patches/0001-Revert-wpa_supplicant-Increase-authentication-timeou.patch new file mode 100644 index 0000000..8d9cd45 --- /dev/null +++ b/package/network/services/hostapd/patches/0001-Revert-wpa_supplicant-Increase-authentication-timeou.patch @@ -0,0 +1,185 @@ +From 8a6a7112e5b1391018531f6b6c317f8870e0fcb6 Mon Sep 17 00:00:00 2001 +From: Daniel Golle <daniel@makrotopia.org> +Date: Thu, 3 May 2018 13:12:28 +0200 +Subject: [PATCH 1/2] Revert "wpa_supplicant: Increase authentication timeout + if CAC is started" + +This reverts commit 37547ad63c9df61ce6899675028594da2527efef. +--- + wpa_supplicant/events.c | 95 ++++--------------------------- + wpa_supplicant/wpa_supplicant.c | 20 ------- + wpa_supplicant/wpa_supplicant_i.h | 3 - + 3 files changed, 10 insertions(+), 108 deletions(-) + +--- a/wpa_supplicant/events.c ++++ b/wpa_supplicant/events.c +@@ -3776,81 +3776,6 @@ static void wpa_supplicant_event_port_au + } + + +-static unsigned int wpas_event_cac_ms(const struct wpa_supplicant *wpa_s, +- int freq) +-{ +- size_t i; +- int j; +- +- for (i = 0; i < wpa_s->hw.num_modes; i++) { +- const struct hostapd_hw_modes *mode = &wpa_s->hw.modes[i]; +- +- for (j = 0; j < mode->num_channels; j++) { +- const struct hostapd_channel_data *chan; +- +- chan = &mode->channels[j]; +- if (chan->freq == freq) +- return chan->dfs_cac_ms; +- } +- } +- +- return 0; +-} +- +- +-static void wpas_event_dfs_cac_started(struct wpa_supplicant *wpa_s, +- struct dfs_event *radar) +-{ +-#if defined(NEED_AP_MLME) && defined(CONFIG_AP) +- if (wpa_s->ap_iface) { +- wpas_ap_event_dfs_cac_started(wpa_s, radar); +- } else +-#endif /* NEED_AP_MLME && CONFIG_AP */ +- { +- unsigned int cac_time = wpas_event_cac_ms(wpa_s, radar->freq); +- +- cac_time /= 1000; /* convert from ms to sec */ +- if (!cac_time) +- cac_time = 10 * 60; /* max timeout: 10 minutes */ +- +- /* Restart auth timeout: CAC time added to initial timeout */ +- wpas_auth_timeout_restart(wpa_s, cac_time); +- } +-} +- +- +-static void wpas_event_dfs_cac_finished(struct wpa_supplicant *wpa_s, +- struct dfs_event *radar) +-{ +-#if defined(NEED_AP_MLME) && defined(CONFIG_AP) +- if (wpa_s->ap_iface) { +- wpas_ap_event_dfs_cac_finished(wpa_s, radar); +- } else +-#endif /* NEED_AP_MLME && CONFIG_AP */ +- { +- /* Restart auth timeout with original value after CAC is +- * finished */ +- wpas_auth_timeout_restart(wpa_s, 0); +- } +-} +- +- +-static void wpas_event_dfs_cac_aborted(struct wpa_supplicant *wpa_s, +- struct dfs_event *radar) +-{ +-#if defined(NEED_AP_MLME) && defined(CONFIG_AP) +- if (wpa_s->ap_iface) { +- wpas_ap_event_dfs_cac_aborted(wpa_s, radar); +- } else +-#endif /* NEED_AP_MLME && CONFIG_AP */ +- { +- /* Restart auth timeout with original value after CAC is +- * aborted */ +- wpas_auth_timeout_restart(wpa_s, 0); +- } +-} +- +- + static void wpa_supplicant_event_assoc_auth(struct wpa_supplicant *wpa_s, + union wpa_event_data *data) + { +@@ -4298,25 +4223,25 @@ void wpa_supplicant_event(void *ctx, enu + wpas_ap_event_dfs_radar_detected(wpa_s, + &data->dfs_event); + break; +- case EVENT_DFS_NOP_FINISHED: +- if (data) +- wpas_ap_event_dfs_cac_nop_finished(wpa_s, +- &data->dfs_event); +- break; +-#endif /* NEED_AP_MLME */ +-#endif /* CONFIG_AP */ + case EVENT_DFS_CAC_STARTED: + if (data) +- wpas_event_dfs_cac_started(wpa_s, &data->dfs_event); ++ wpas_ap_event_dfs_cac_started(wpa_s, &data->dfs_event); + break; + case EVENT_DFS_CAC_FINISHED: + if (data) +- wpas_event_dfs_cac_finished(wpa_s, &data->dfs_event); ++ wpas_ap_event_dfs_cac_finished(wpa_s, &data->dfs_event); + break; + case EVENT_DFS_CAC_ABORTED: + if (data) +- wpas_event_dfs_cac_aborted(wpa_s, &data->dfs_event); ++ wpas_ap_event_dfs_cac_aborted(wpa_s, &data->dfs_event); ++ break; ++ case EVENT_DFS_NOP_FINISHED: ++ if (data) ++ wpas_ap_event_dfs_cac_nop_finished(wpa_s, ++ &data->dfs_event); + break; ++#endif /* NEED_AP_MLME */ ++#endif /* CONFIG_AP */ + case EVENT_RX_MGMT: { + u16 fc, stype; + const struct ieee80211_mgmt *mgmt; +--- a/wpa_supplicant/wpa_supplicant.c ++++ b/wpa_supplicant/wpa_supplicant.c +@@ -243,30 +243,10 @@ void wpa_supplicant_req_auth_timeout(str + wpa_dbg(wpa_s, MSG_DEBUG, "Setting authentication timeout: %d sec " + "%d usec", sec, usec); + eloop_cancel_timeout(wpa_supplicant_timeout, wpa_s, NULL); +- wpa_s->last_auth_timeout_sec = sec; + eloop_register_timeout(sec, usec, wpa_supplicant_timeout, wpa_s, NULL); + } + + +-/* +- * wpas_auth_timeout_restart - Restart and change timeout for authentication +- * @wpa_s: Pointer to wpa_supplicant data +- * @sec_diff: difference in seconds applied to original timeout value +- */ +-void wpas_auth_timeout_restart(struct wpa_supplicant *wpa_s, int sec_diff) +-{ +- int new_sec = wpa_s->last_auth_timeout_sec + sec_diff; +- +- if (eloop_is_timeout_registered(wpa_supplicant_timeout, wpa_s, NULL)) { +- wpa_dbg(wpa_s, MSG_DEBUG, +- "Authentication timeout restart: %d sec", new_sec); +- eloop_cancel_timeout(wpa_supplicant_timeout, wpa_s, NULL); +- eloop_register_timeout(new_sec, 0, wpa_supplicant_timeout, +- wpa_s, NULL); +- } +-} +- +- + /** + * wpa_supplicant_cancel_auth_timeout - Cancel authentication timeout + * @wpa_s: Pointer to wpa_supplicant data +--- a/wpa_supplicant/wpa_supplicant_i.h ++++ b/wpa_supplicant/wpa_supplicant_i.h +@@ -1182,8 +1182,6 @@ struct wpa_supplicant { + /* RIC elements for FT protocol */ + struct wpabuf *ric_ies; + +- int last_auth_timeout_sec; +- + #ifdef CONFIG_DPP + struct dl_list dpp_bootstrap; /* struct dpp_bootstrap_info */ + struct dl_list dpp_configurator; /* struct dpp_configurator */ +@@ -1258,7 +1256,6 @@ void wpa_supplicant_initiate_eapol(struc + void wpa_clear_keys(struct wpa_supplicant *wpa_s, const u8 *addr); + void wpa_supplicant_req_auth_timeout(struct wpa_supplicant *wpa_s, + int sec, int usec); +-void wpas_auth_timeout_restart(struct wpa_supplicant *wpa_s, int sec_diff); + void wpa_supplicant_reinit_autoscan(struct wpa_supplicant *wpa_s); + void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s, + enum wpa_states state); |