[package] firewall: fix a race condition preventing interfaces from being added to...
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 19 Jan 2010 23:02:11 +0000 (23:02 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 19 Jan 2010 23:02:11 +0000 (23:02 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19232 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/firewall/Makefile
package/firewall/files/uci_firewall.sh

index 8d04526..abc6020 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=firewall
 
 PKG_VERSION:=1
-PKG_RELEASE:=9
+PKG_RELEASE:=10
 
 include $(INCLUDE_DIR)/package.mk
 
index 05fe39b..49e5ca8 100755 (executable)
@@ -506,9 +506,13 @@ fw_init() {
        uci_set_state firewall core loaded 1
        config_set core loaded 1
        config_foreach fw_check_notrack zone
-       INTERFACES="$(sh -c '. /etc/functions.sh; config_load network; config_foreach echo interface')"
+       INTERFACES="$(sh -c '
+               . /etc/functions.sh; config_load network
+               echo_up() { local up; config_get_bool up "$1" up 0; [ $up = 1 ] && echo "$1"; }
+               config_foreach echo_up interface
+       ')"
        for interface in $INTERFACES; do
-               fw_addif "$interface"
+               fw_event ifup "$interface"
        done
 }
 
This page took 0.023397 seconds and 4 git commands to generate.