]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
wlantest: Add support for log output into a file
authorJouni Malinen <j@w1.fi>
Sun, 17 Nov 2013 19:16:29 +0000 (21:16 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 17 Nov 2013 19:40:17 +0000 (21:40 +0200)
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 <j@w1.fi>

src/utils/Makefile
wlantest/Makefile
wlantest/wlantest.c

index 940b4d8f1c57e12f360b24e3ccf6658f0edb78a1..b04a8a361dcb1952d50d1c3c7673b3be1b26d207 100644 (file)
@@ -11,6 +11,7 @@ include ../lib.rules
 
 #CFLAGS += -DWPA_TRACE
 CFLAGS += -DCONFIG_IPV6
+CFLAGS += -DCONFIG_DEBUG_FILE
 
 LIB_OBJS= \
        base64.o \
index 6594b345c809a5803ed22136d5df4205f0ac62c1..a08fd547d7d2ddddf8bbeed5a4a6311061ca72d1 100644 (file)
@@ -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
index 29664587d6415873b50607287466458f8372a6cf..57c8be025c155fd3fd884b285c035f614949874f 100644 (file)
@@ -30,7 +30,8 @@ static void usage(void)
               "         [-I<wired ifname>] [-R<wired pcap file>] "
               "[-P<RADIUS shared secret>]\n"
               "         [-n<write pcapng file>]\n"
-              "         [-w<write pcap file>] [-f<MSK/PMK file>]\n");
+              "         [-w<write pcap file>] [-f<MSK/PMK file>]\n"
+              "         [-L<log file>]\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();