From d33fef57a4d255e7caa772a61210b9d89a74ea5f Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 17 Nov 2013 21:16:29 +0200 Subject: [PATCH] wlantest: Add support for log output into a file This allows wlantest debug log output to be directed to a file so that RELOG command can be used to rotate files more easily than stdout. Signed-hostap: Jouni Malinen --- src/utils/Makefile | 1 + wlantest/Makefile | 1 + wlantest/wlantest.c | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/utils/Makefile b/src/utils/Makefile index 940b4d8f1..b04a8a361 100644 --- a/src/utils/Makefile +++ b/src/utils/Makefile @@ -11,6 +11,7 @@ include ../lib.rules #CFLAGS += -DWPA_TRACE CFLAGS += -DCONFIG_IPV6 +CFLAGS += -DCONFIG_DEBUG_FILE LIB_OBJS= \ base64.o \ diff --git a/wlantest/Makefile b/wlantest/Makefile index 6594b345c..a08fd547d 100644 --- a/wlantest/Makefile +++ b/wlantest/Makefile @@ -42,6 +42,7 @@ OBJS_lib += ../src/crypto/libcrypto.a CFLAGS += -DCONFIG_PEERKEY CFLAGS += -DCONFIG_IEEE80211W CFLAGS += -DCONFIG_IEEE80211R +CFLAGS += -DCONFIG_DEBUG_FILE OBJS += ../src/common/ieee802_11_common.o OBJS += ../src/common/wpa_common.o diff --git a/wlantest/wlantest.c b/wlantest/wlantest.c index 29664587d..57c8be025 100644 --- a/wlantest/wlantest.c +++ b/wlantest/wlantest.c @@ -30,7 +30,8 @@ static void usage(void) " [-I] [-R] " "[-P]\n" " [-n]\n" - " [-w] [-f]\n"); + " [-w] [-f]\n" + " [-L]\n"); } @@ -250,6 +251,8 @@ int wlantest_relog(struct wlantest *wt) int ret = 0; wpa_printf(MSG_INFO, "Re-open log/capture files"); + if (wpa_debug_reopen_file()) + ret = -1; if (wt->write_file) { write_pcap_deinit(wt); @@ -274,6 +277,7 @@ int main(int argc, char *argv[]) const char *read_wired_file = NULL; const char *ifname = NULL; const char *ifname_wired = NULL; + const char *logfile = NULL; struct wlantest wt; int ctrl_iface = 0; @@ -286,7 +290,7 @@ int main(int argc, char *argv[]) wlantest_init(&wt); for (;;) { - c = getopt(argc, argv, "cdf:Fhi:I:n:p:P:qr:R:w:W:"); + c = getopt(argc, argv, "cdf:Fhi:I:L:n:p:P:qr:R:w:W:"); if (c < 0) break; switch (c) { @@ -313,6 +317,9 @@ int main(int argc, char *argv[]) case 'I': ifname_wired = optarg; break; + case 'L': + logfile = optarg; + break; case 'n': wt.pcapng_file = optarg; break; @@ -353,6 +360,9 @@ int main(int argc, char *argv[]) if (eloop_init()) return -1; + if (logfile) + wpa_debug_open_file(logfile); + if (wt.write_file && write_pcap_init(&wt, wt.write_file) < 0) return -1; @@ -384,6 +394,7 @@ int main(int argc, char *argv[]) wlantest_deinit(&wt); + wpa_debug_close_file(); eloop_destroy(); os_program_deinit();