summaryrefslogtreecommitdiffstats
path: root/contrib/wpa/src
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-03-02 02:26:53 +0000
committersam <sam@FreeBSD.org>2009-03-02 02:26:53 +0000
commit3cac7b891b7108169f5fed3997e777b56c060178 (patch)
tree9a4702b2a6316a180fa6909823635da3b5aa8524 /contrib/wpa/src
parent2af41b09fa9d6ff3f4c736a224f545663be143d2 (diff)
downloadFreeBSD-src-3cac7b891b7108169f5fed3997e777b56c060178.zip
FreeBSD-src-3cac7b891b7108169f5fed3997e777b56c060178.tar.gz
bring in local changes for:
CONFIG_DEBUG_SYSLOG CONFIG_TERMINATE_ONLASTIF EAP_SERVER
Diffstat (limited to 'contrib/wpa/src')
-rw-r--r--contrib/wpa/src/utils/wpa_debug.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/contrib/wpa/src/utils/wpa_debug.c b/contrib/wpa/src/utils/wpa_debug.c
index e17cf06..5d53bf8 100644
--- a/contrib/wpa/src/utils/wpa_debug.c
+++ b/contrib/wpa/src/utils/wpa_debug.c
@@ -16,6 +16,10 @@
#include "common.h"
+#ifdef CONFIG_DEBUG_SYSLOG
+#include <syslog.h>
+#endif /* CONFIG_DEBUG_SYSLOG */
+
#ifdef CONFIG_DEBUG_FILE
static FILE *out_file = NULL;
@@ -23,6 +27,7 @@ static FILE *out_file = NULL;
int wpa_debug_level = MSG_INFO;
int wpa_debug_show_keys = 0;
int wpa_debug_timestamp = 0;
+int wpa_debug_syslog = 0;
#ifndef CONFIG_NO_STDOUT_DEBUG
@@ -44,6 +49,40 @@ void wpa_debug_print_timestamp(void)
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
@@ -62,6 +101,11 @@ void wpa_printf(int level, char *fmt, ...)
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) {
@@ -74,6 +118,9 @@ void wpa_printf(int level, char *fmt, ...)
#ifdef CONFIG_DEBUG_FILE
}
#endif /* CONFIG_DEBUG_FILE */
+#ifdef CONFIG_DEBUG_SYSLOG
+ }
+#endif /* CONFIG_DEBUG_SYSLOG */
}
va_end(ap);
}
OpenPOWER on IntegriCloud