PERFORCE change 137658 for review
Sam Leffler
sam at FreeBSD.org
Thu Mar 13 23:08:15 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=137658
Change 137658 by sam at sam_ebb on 2008/03/13 23:07:52
syslog support under -s cmd line option and CONFIG_DEBUG_SYSLOG
compile-time option
Affected files ...
.. //depot/projects/vap/contrib/wpa_supplicant/Makefile#4 edit
.. //depot/projects/vap/contrib/wpa_supplicant/common.c#4 edit
.. //depot/projects/vap/contrib/wpa_supplicant/defconfig#4 edit
.. //depot/projects/vap/contrib/wpa_supplicant/main.c#4 edit
.. //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant.c#4 edit
.. //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant_i.h#4 edit
Differences ...
==== //depot/projects/vap/contrib/wpa_supplicant/Makefile#4 (text+ko) ====
@@ -745,6 +745,10 @@
CFLAGS += -DCONFIG_DEBUG_FILE
endif
+ifdef CONFIG_DEBUG_SYSLOG
+CFLAGS += -DCONFIG_DEBUG_SYSLOG
+endif
+
OBJS += wpa_supplicant.o events.o
OBJS_t := $(OBJS) eapol_test.o radius.o radius_client.o
OBJS_t2 := $(OBJS) preauth_test.o
==== //depot/projects/vap/contrib/wpa_supplicant/common.c#4 (text+ko) ====
@@ -16,13 +16,18 @@
#include "common.h"
+#ifdef CONFIG_DEBUG_SYSLOG
+#include <syslog.h>
+#endif /* CONFIG_DEBUG_SYSLOG */
+
#ifdef CONFIG_DEBUG_FILE
static FILE *out_file = NULL;
#endif /* CONFIG_DEBUG_FILE */
int wpa_debug_level = MSG_INFO;
int wpa_debug_show_keys = 0;
int wpa_debug_timestamp = 0;
+int wpa_debug_syslog = 0;
static int hex2num(char c)
@@ -161,7 +166,41 @@
printf("%ld.%06u: ", (long) tv.sec, (unsigned int) tv.usec);
}
+void wpa_debug_open_syslog(void)
+{
+#ifdef CONFIG_DEBUG_SYSLOG
+ openlog("wpa_supplicant", LOG_PID | LOG_NDELAY, LOG_DAEMON);
+ wpa_debug_syslog++;
+#endif
+}
+
+void wpa_debug_close_syslog(void)
+{
+#ifdef CONFIG_DEBUG_SYSLOG
+ if (wpa_debug_syslog)
+ closelog();
+#endif
+}
+#ifdef CONFIG_DEBUG_SYSLOG
+static int syslog_priority(int level)
+{
+ switch (level) {
+ case MSG_MSGDUMP:
+ case MSG_DEBUG:
+ return LOG_DEBUG;
+ case MSG_INFO:
+ return LOG_NOTICE;
+ case MSG_WARNING:
+ return LOG_WARNING;
+ case MSG_ERROR:
+ return LOG_ERR;
+ }
+ return LOG_INFO;
+}
+#endif /* CONFIG_DEBUG_SYSLOG */
+
+
/**
* wpa_printf - conditional printf
* @level: priority level (MSG_*) of the message
@@ -179,6 +218,11 @@
va_start(ap, fmt);
if (level >= wpa_debug_level) {
+#ifdef CONFIG_DEBUG_SYSLOG
+ if (wpa_debug_syslog) {
+ vsyslog(syslog_priority(level), fmt, ap);
+ } else {
+#endif /* CONFIG_DEBUG_SYSLOG */
wpa_debug_print_timestamp();
#ifdef CONFIG_DEBUG_FILE
if (out_file) {
@@ -191,6 +235,9 @@
#ifdef CONFIG_DEBUG_FILE
}
#endif /* CONFIG_DEBUG_FILE */
+#ifdef CONFIG_DEBUG_SYSLOG
+ }
+#endif /* CONFIG_DEBUG_SYSLOG */
}
va_end(ap);
}
==== //depot/projects/vap/contrib/wpa_supplicant/defconfig#4 (text+ko) ====
@@ -321,3 +321,6 @@
# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
#CONFIG_DEBUG_FILE=y
+
+# Add support for logging via syslog
+#CONFIG_DEBUG_SYSLOG=y
==== //depot/projects/vap/contrib/wpa_supplicant/main.c#4 (text) ====
@@ -39,7 +39,7 @@
int i;
printf("%s\n\n%s\n"
"usage:\n"
- " wpa_supplicant [-BddhKLqqtuvwW] [-P<pid file>] "
+ " wpa_supplicant [-BddhKLqqstuvwW] [-P<pid file>] "
"[-g<global ctrl>] \\\n"
" -i<ifname> -c<config file> [-C<ctrl>] [-D<driver>] "
"[-p<driver_param>] \\\n"
@@ -77,6 +77,9 @@
printf(" -p = driver parameters\n"
" -P = PID file\n"
" -q = decrease debugging verbosity (-qq even less)\n"
+#ifdef CONFIG_DEBUG_SYSLOG
+ " -s = log output to syslog instead of stdout\n"
+#endif /* CONFIG_DEBUG_SYSLOG */
#ifdef CONFIG_CTRL_IFACE_DBUS
" -u = enable DBus control interface\n"
#endif /* CONFIG_CTRL_IFACE_DBUS */
@@ -147,7 +150,7 @@
wpa_supplicant_fd_workaround();
for (;;) {
- c = getopt(argc, argv, "b:Bc:C:D:df:g:hi:KLNp:P:qtuvwW");
+ c = getopt(argc, argv, "b:Bc:C:D:df:g:hi:KLNp:P:qstuvwW");
if (c < 0)
break;
switch (c) {
@@ -208,6 +211,11 @@
case 'q':
params.wpa_debug_level++;
break;
+#ifdef CONFIG_DEBUG_SYSLOG
+ case 's':
+ params.wpa_debug_syslog++;
+ break;
+#endif /* CONFIG_DEBUG_SYSLOG */
case 't':
params.wpa_debug_timestamp++;
break;
==== //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant.c#4 (text+ko) ====
@@ -2488,6 +2488,8 @@
return NULL;
wpa_debug_open_file(params->wpa_debug_file_path);
+ if (params->wpa_debug_syslog)
+ wpa_debug_open_syslog();
ret = eap_peer_register_methods();
if (ret) {
@@ -2612,5 +2614,6 @@
os_free(global->params.ctrl_interface);
os_free(global);
+ wpa_debug_close_syslog();
wpa_debug_close_file();
}
==== //depot/projects/vap/contrib/wpa_supplicant/wpa_supplicant_i.h#4 (text+ko) ====
@@ -161,6 +161,11 @@
* wpa_debug_file_path - Path of debug file or %NULL to use stdout
*/
const char *wpa_debug_file_path;
+
+ /**
+ * wpa_debug_syslog - Enable log output through syslog
+ */
+ const char *wpa_debug_syslog;
};
/**
More information about the p4-projects
mailing list