Browse Source

hostapd: introduce options to configure the logging behaviour. The config wifi-device section gains the following settings: * log_level (2) - Defines the minimum message level * log_80211 (true) - Log 802.11 events * log_8021x (true) - Log 802.1X events * log_radius (true) - Log RADIUS events * log_wpa (true) - Log WPA events * log_driver (true) - Log driver interface messages * log_iapp (true) - Log IAPP events * log_mlme (true) - Log MLME events

SVN-Revision: 28056
Jo-Philipp Wich 14 years ago
parent
commit
cfc23e4c49
2 changed files with 39 additions and 3 deletions
  1. 2 2
      package/hostapd/Makefile
  2. 37 1
      package/hostapd/files/hostapd.sh

+ 2 - 2
package/hostapd/Makefile

@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hostapd
 PKG_VERSION:=20110527
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_REV:=ceb34f250af7a7082f18c1e0451dc7fbc0f000f3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2

+ 37 - 1
package/hostapd/files/hostapd.sh

@@ -192,16 +192,52 @@ hostapd_set_bss_options() {
 	fi
 }
 
+hostapd_set_log_options() {
+	local var="$1"
+	local cfg="$2"
+	local log_level log_80211 log_8021x log_radius log_wpa log_driver log_iapp log_mlme
+
+	config_get log_level "$cfg" log_level 2
+
+	config_get_bool log_80211  "$cfg" log_80211  1
+	config_get_bool log_8021x  "$cfg" log_8021x  1
+	config_get_bool log_radius "$cfg" log_radius 1
+	config_get_bool log_wpa    "$cfg" log_wpa    1
+	config_get_bool log_driver "$cfg" log_driver 1
+	config_get_bool log_iapp   "$cfg" log_iapp   1
+	config_get_bool log_mlme   "$cfg" log_mlme   1
+
+	local log_mask=$((       \
+		($log_80211  << 0) | \
+		($log_8021x  << 1) | \
+		($log_radius << 2) | \
+		($log_wpa    << 3) | \
+		($log_driver << 4) | \
+		($log_iapp   << 5) | \
+		($log_mlme   << 6)   \
+	))
+
+	append "$var" "logger_syslog=$log_mask" "$N"
+	append "$var" "logger_syslog_level=$log_level" "$N"
+	append "$var" "logger_stdout=$log_mask" "$N"
+	append "$var" "logger_stdout_level=$log_level" "$N"
+}
+
 hostapd_setup_vif() {
 	local vif="$1"
 	local driver="$2"
+	local ifname device channel hwmode
+
 	hostapd_cfg=
 
-	hostapd_set_bss_options hostapd_cfg "$vif"
 	config_get ifname "$vif" ifname
 	config_get device "$vif" device
 	config_get channel "$device" channel
 	config_get hwmode "$device" hwmode
+
+	hostapd_set_log_options hostapd_cfg "$device"
+	hostapd_set_bss_options hostapd_cfg "$vif"
+
 	case "$hwmode" in
 		*bg|*gdt|*gst|*fh) hwmode=g;;
 		*adt|*ast) hwmode=a;;