[package] hostapd: introduce options to configure the logging behaviour.
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 20 Aug 2011 00:13:58 +0000 (00:13 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 20 Aug 2011 00:13:58 +0000 (00:13 +0000)
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

package/hostapd/Makefile
package/hostapd/files/hostapd.sh

index 6111e9a6eee5e9065bb66d7aeb43c5155a124821..9f93054db7177dc9072195b0b51427d65c07c2ed 100644 (file)
@@ -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
index 29d8c729789128db56cc078e837b4d8088628bd0..3fbe734871341f7e3b6773d90de2244298daed75 100644 (file)
@@ -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;;