diff options
Diffstat (limited to 'source/n/wpa_supplicant/patches')
5 files changed, 154 insertions, 0 deletions
diff --git a/source/n/wpa_supplicant/patches/dbus-service-file-args.diff b/source/n/wpa_supplicant/patches/dbus-service-file-args.diff new file mode 100644 index 00000000..7e2449f2 --- /dev/null +++ b/source/n/wpa_supplicant/patches/dbus-service-file-args.diff @@ -0,0 +1,20 @@ +diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in +--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.epitest.hostap.WPASupplicant.service.in 2012-05-06 01:07:44.523999837 -0500 +@@ -1,5 +1,5 @@ + [D-BUS Service] + Name=fi.epitest.hostap.WPASupplicant +-Exec=@BINDIR@/wpa_supplicant -u ++Exec=@BINDIR@/wpa_supplicant -B -u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid + User=root + SystemdService=wpa_supplicant.service +diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in +--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in 2012-05-06 01:06:59.528589953 -0500 +@@ -1,5 +1,5 @@ + [D-BUS Service] + Name=fi.w1.wpa_supplicant1 +-Exec=@BINDIR@/wpa_supplicant -u ++Exec=@BINDIR@/wpa_supplicant -B -u -f /var/log/wpa_supplicant.log -P /var/run/wpa_supplicant.pid + User=root + SystemdService=wpa_supplicant.service diff --git a/source/n/wpa_supplicant/patches/include-unistd_h.diff b/source/n/wpa_supplicant/patches/include-unistd_h.diff new file mode 100644 index 00000000..a3c6ae83 --- /dev/null +++ b/source/n/wpa_supplicant/patches/include-unistd_h.diff @@ -0,0 +1,15 @@ +diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_gui-qt4/wpagui.cpp wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_gui-qt4/wpagui.cpp +--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_gui-qt4/wpagui.cpp 2012-05-05 17:04:40.706570034 -0500 +@@ -12,10 +12,8 @@ + * See README and COPYING for more details. + */ + +-#ifdef __MINGW32__ +-/* Need to get getopt() */ ++/* Need to get getopt() regardless with gcc-4.7.x */ + #include <unistd.h> +-#endif + + #ifdef CONFIG_NATIVE_WINDOWS + #include <windows.h> diff --git a/source/n/wpa_supplicant/patches/libnl3-includes.diff b/source/n/wpa_supplicant/patches/libnl3-includes.diff new file mode 100644 index 00000000..f8ff01c1 --- /dev/null +++ b/source/n/wpa_supplicant/patches/libnl3-includes.diff @@ -0,0 +1,12 @@ +diff -Nur wpa_supplicant-1.0-rc3.orig/src/drivers/drivers.mak wpa_supplicant-1.0-rc3/src/drivers/drivers.mak +--- wpa_supplicant-1.0-rc3.orig/src/drivers/drivers.mak 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/src/drivers/drivers.mak 2012-05-05 17:16:01.933597117 -0500 +@@ -48,7 +48,7 @@ + ifdef CONFIG_LIBNL32 + DRV_LIBS += -lnl-3 + DRV_LIBS += -lnl-genl-3 +- DRV_CFLAGS += -DCONFIG_LIBNL20 ++ DRV_CFLAGS += -DCONFIG_LIBNL20 `pkg-config --cflags libnl-3.0` + else + ifdef CONFIG_LIBNL_TINY + DRV_LIBS += -lnl-tiny diff --git a/source/n/wpa_supplicant/patches/quiet-scan-results-message.diff b/source/n/wpa_supplicant/patches/quiet-scan-results-message.diff new file mode 100644 index 00000000..2b3eb672 --- /dev/null +++ b/source/n/wpa_supplicant/patches/quiet-scan-results-message.diff @@ -0,0 +1,12 @@ +diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c wpa_supplicant-1.0-rc3/wpa_supplicant/events.c +--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/wpa_supplicant/events.c 2012-05-05 17:02:38.061179720 -0500 +@@ -1076,7 +1076,7 @@ + } + + wpa_dbg(wpa_s, MSG_DEBUG, "New scan results available"); +- wpa_msg_ctrl(wpa_s, MSG_INFO, WPA_EVENT_SCAN_RESULTS); ++ wpa_msg_ctrl(wpa_s, MSG_DEBUG, WPA_EVENT_SCAN_RESULTS); + wpas_notify_scan_results(wpa_s); + + wpas_notify_scan_done(wpa_s, 1); diff --git a/source/n/wpa_supplicant/patches/squelch-driver-disconnect-spam.diff b/source/n/wpa_supplicant/patches/squelch-driver-disconnect-spam.diff new file mode 100644 index 00000000..b8d2be6a --- /dev/null +++ b/source/n/wpa_supplicant/patches/squelch-driver-disconnect-spam.diff @@ -0,0 +1,95 @@ +diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c wpa_supplicant-1.0-rc3/wpa_supplicant/events.c +--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/events.c 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/wpa_supplicant/events.c 2012-05-06 01:01:17.529134316 -0500 +@@ -1593,6 +1593,15 @@ + wpa_s->keys_cleared = 0; + wpa_clear_keys(wpa_s, wpa_s->bssid); + } ++ ++ if (wpa_s->wpa_state == WPA_DISCONNECTED) { ++ wpa_s->disconnect_count++; ++ if (!eloop_is_timeout_registered(wpa_disconnect_spam_handle, wpa_s, NULL)) { ++ eloop_register_timeout(6, 0, wpa_disconnect_spam_handle, wpa_s, NULL); ++ wpa_printf(MSG_DEBUG, "%s: scheduled DISCONNECT spam handler", __FUNCTION__); ++ } ++ } ++ + wpa_supplicant_mark_disassoc(wpa_s); + + if (authenticating && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)) +diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant.c wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant.c +--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant.c 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant.c 2012-05-06 01:01:17.530134303 -0500 +@@ -434,6 +434,9 @@ + + wpa_supplicant_cancel_scan(wpa_s); + wpa_supplicant_cancel_auth_timeout(wpa_s); ++ if (eloop_is_timeout_registered(wpa_disconnect_spam_handle, wpa_s, NULL)) ++ eloop_cancel_timeout(wpa_disconnect_spam_handle, wpa_s, NULL); ++ + eloop_cancel_timeout(wpa_supplicant_stop_countermeasures, wpa_s, NULL); + #ifdef CONFIG_DELAYED_MIC_ERROR_REPORT + eloop_cancel_timeout(wpa_supplicant_delayed_mic_error_report, +@@ -592,6 +595,23 @@ + #endif /* CONFIG_BGSCAN */ + + ++void wpa_disconnect_spam_handle(void *eloop_ctx, void *timeout_ctx) ++{ ++ struct wpa_supplicant *wpa_s = eloop_ctx; ++ const u8 bssid[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; ++ ++ wpa_printf(MSG_DEBUG, "%s: %d disconnect events in 6 seconds", ++ __FUNCTION__, wpa_s->disconnect_count); ++ ++ if (wpa_s->disconnect_count >= 3) { ++ wpa_printf(MSG_DEBUG, "%s: forcing SSID/BSSID reset", __FUNCTION__); ++ wpa_drv_disassociate(wpa_s, bssid, WLAN_REASON_DEAUTH_LEAVING); ++ wpa_supplicant_req_scan(wpa_s, 1, 0); ++ } ++ wpa_s->disconnect_count = 0; ++} ++ ++ + /** + * wpa_supplicant_set_state - Set current connection state + * @wpa_s: Pointer to wpa_supplicant data +@@ -612,6 +632,18 @@ + if (state != WPA_SCANNING) + wpa_supplicant_notify_scanning(wpa_s, 0); + ++ if (state != WPA_DISCONNECTED && state != WPA_SCANNING) { ++ /* If the state isn't disconnected, cancel any registered ++ * disconnect spam handler, which should only live while ++ * disconnect events are coming in quickly. ++ */ ++ wpa_s->disconnect_count = 0; ++ if (eloop_is_timeout_registered(wpa_disconnect_spam_handle, wpa_s, NULL)) { ++ wpa_printf(MSG_DEBUG, "%s: canceling DISCONNECT spam handler", __FUNCTION__); ++ eloop_cancel_timeout(wpa_disconnect_spam_handle, wpa_s, NULL); ++ } ++ } ++ + if (state == WPA_COMPLETED && wpa_s->new_connection) { + #if defined(CONFIG_CTRL_IFACE) || !defined(CONFIG_NO_STDOUT_DEBUG) + struct wpa_ssid *ssid = wpa_s->current_ssid; +diff -Nur wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant_i.h wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant_i.h +--- wpa_supplicant-1.0-rc3.orig/wpa_supplicant/wpa_supplicant_i.h 2012-04-16 15:15:40.000000000 -0500 ++++ wpa_supplicant-1.0-rc3/wpa_supplicant/wpa_supplicant_i.h 2012-05-06 01:01:17.530134303 -0500 +@@ -355,6 +355,8 @@ + struct wps_er *wps_er; + int blacklist_cleared; + ++ int disconnect_count; ++ + struct wpabuf *pending_eapol_rx; + struct os_time pending_eapol_rx_time; + u8 pending_eapol_rx_src[ETH_ALEN]; +@@ -535,6 +537,7 @@ + int sec, int usec); + void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s, + enum wpa_states state); ++void wpa_disconnect_spam_handle(void *eloop_ctx, void *timeout_ctx); + struct wpa_ssid * wpa_supplicant_get_ssid(struct wpa_supplicant *wpa_s); + const char * wpa_supplicant_get_eap_mode(struct wpa_supplicant *wpa_s); + void wpa_supplicant_cancel_auth_timeout(struct wpa_supplicant *wpa_s); |