upgrade wireless-tools to v28 pre13
[openwrt.git] / openwrt / package / base-files / default / etc / init.d / S45firewall
index c998601..0110cfc 100755 (executable)
@@ -5,13 +5,13 @@ ${FAILSAFE:+exit}
 
 . /etc/functions.sh
 . /etc/network.overrides
 
 . /etc/functions.sh
 . /etc/network.overrides
-[ -e /etc/config/network ] && . /etc/config/network
+[ "$FAILSAFE" != "true" -a -e /etc/config/network ] && . /etc/config/network
 
 WAN=$(nvram get wan_ifname)
 LAN=$(nvram get lan_ifname)
 
 ## CLEAR TABLES
 
 WAN=$(nvram get wan_ifname)
 LAN=$(nvram get lan_ifname)
 
 ## CLEAR TABLES
-for T in filter nat mangle; do
+for T in filter nat; do
   iptables -t $T -F
   iptables -t $T -X
 done
   iptables -t $T -F
   iptables -t $T -X
 done
@@ -81,9 +81,11 @@ iptables -t nat -N postrouting_rule
   iptables -A FORWARD -j forwarding_rule
 
   # allow
   iptables -A FORWARD -j forwarding_rule
 
   # allow
-  iptables -A FORWARD -i br0 -o br0 -j ACCEPT
-  [ -z "$WAN" ] || iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT
-
+  # if there is bridge splitting this workaround works too
+  for iface in $LAN; do
+       iptables -A FORWARD -i $iface -o $iface -j ACCEPT
+       [ -z "$WAN" ] || iptables -A FORWARD -i $iface -o $WAN -j ACCEPT
+  done
   # reject (what to do with anything not allowed earlier)
   # uses the default -P DROP
 
   # reject (what to do with anything not allowed earlier)
   # uses the default -P DROP
 
This page took 0.030351 seconds and 4 git commands to generate.