wpa_supplicant/wpa_supplicant-sigusr1-changes-debuglevel.patch

41 lines
1.4 KiB
Diff

---
wpa_supplicant/wpa_supplicant.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
Index: wpa_supplicant-2.10/wpa_supplicant/wpa_supplicant.c
===================================================================
--- wpa_supplicant-2.10.orig/wpa_supplicant/wpa_supplicant.c
+++ wpa_supplicant-2.10/wpa_supplicant/wpa_supplicant.c
@@ -121,6 +121,22 @@ const char *const wpa_supplicant_full_li
"\n";
#endif /* CONFIG_NO_STDOUT_DEBUG */
+static void wpa_supplicant_handle_sigusr1(int sig,
+ void *signal_ctx)
+{
+ /* Increase verbosity (by decreasing the debug level) and wrap back
+ * to MSG_INFO when needed.
+ */
+ if (wpa_debug_level)
+ wpa_debug_level--;
+ else
+ wpa_debug_level = MSG_INFO;
+
+ wpa_printf(MSG_INFO, "Signal %d received - changing debug level to %s", sig,
+ (wpa_debug_level == MSG_INFO) ? "INFO" :
+ ((wpa_debug_level == MSG_DEBUG) ? "DEBUG" :
+ ((wpa_debug_level == MSG_MSGDUMP) ? "MSGDUMP" : "UNKNOWN")));
+}
static void wpa_bss_tmp_disallow_timeout(void *eloop_ctx, void *timeout_ctx);
#if defined(CONFIG_FILS) && defined(IEEE8021X_EAPOL)
@@ -7474,6 +7490,8 @@ int wpa_supplicant_run(struct wpa_global
eloop_register_signal_terminate(wpa_supplicant_terminate, global);
eloop_register_signal_reconfig(wpa_supplicant_reconfig, global);
+ eloop_register_signal(SIGUSR1, wpa_supplicant_handle_sigusr1, NULL);
+
eloop_run();
return 0;