aboutsummaryrefslogtreecommitdiffstats
path: root/package/firewall/files/lib
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-09-15 01:53:36 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-09-15 01:53:36 +0000
commit7557011cb170afb8f737c19b1e3b30290428edfd (patch)
treed645990ddb4231fade3052a88767496beadb641d /package/firewall/files/lib
parent1fe50da4bb3a207aff8f8d792d39a11f854edf13 (diff)
downloadupstream-7557011cb170afb8f737c19b1e3b30290428edfd.tar.gz
upstream-7557011cb170afb8f737c19b1e3b30290428edfd.tar.bz2
upstream-7557011cb170afb8f737c19b1e3b30290428edfd.zip
firewall: run ifdown hotplug events synchronized, fixes a racecondition on "ifup iface" when ifdown and ifup events are delivered with a small dealy
SVN-Revision: 23064
Diffstat (limited to 'package/firewall/files/lib')
-rw-r--r--package/firewall/files/lib/core.sh14
1 files changed, 6 insertions, 8 deletions
diff --git a/package/firewall/files/lib/core.sh b/package/firewall/files/lib/core.sh
index 2178e0505c..c350e8f0f6 100644
--- a/package/firewall/files/lib/core.sh
+++ b/package/firewall/files/lib/core.sh
@@ -58,16 +58,14 @@ fw_stop() {
fw_callback pre stop
- local old_zones z
- config_get old_zones core zones
- for z in $old_zones; do
- local old_networks n i
- config_get old_networks core "${z}_networks"
- for n in $old_networks; do
+ local z n i
+ config_get z core zones
+ for z in $z; do
+ config_get n core "${z}_networks"
+ for n in $n; do
config_get i core "${n}_ifname"
[ -n "$i" ] && env -i ACTION=remove ZONE="$z" \
- INTERFACE="$n" DEVICE="$i" \
- /sbin/hotplug-call firewall
+ INTERFACE="$n" DEVICE="$i" /sbin/hotplug-call firewall
done
done