diff options
| author | Stefan Sperling <stsp@stsp.name> | 2016-03-03 21:06:38 +0100 |
|---|---|---|
| committer | sarumpaet <sarumpaet@users.noreply.github.com> | 2016-11-05 02:00:01 +0100 |
| commit | 497950bf2cc4bb38e2c70fb51afbcdb9609bf25c (patch) | |
| tree | 6fedbdfaa2b5692565f13417cb2c32b5d3582154 | |
| parent | 17d50421de2334a3949712807a849c01b469e234 (diff) | |
Fix '/etc/init.d/olsrd6 restart' breaks IPv4 SmartGateway.
Restarting olsrd for IPv6 clears SmartGateway firewall rules for both IPv4
and IPv6, and does not restore the IPv4 rules. As a result, IPv4 SmartGateway
functionality is broken after /etc/init.d/olsrd6 restart.
(cherry picked from commit f7ffb388b17fd327e85f7e0c386a9d175b14e44e)
| -rw-r--r-- | olsrd/files/olsrd.init | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/olsrd/files/olsrd.init b/olsrd/files/olsrd.init index 3ced911..87d6821 100644 --- a/olsrd/files/olsrd.init +++ b/olsrd/files/olsrd.init @@ -703,16 +703,24 @@ olsrd_setup_smartgw_rules() { IP6T=$(which ip6tables) # Delete smartgw firewall rules first - for IPT in $IP4T $IP6T; do - while $IPT -D forwarding_rule -o tnl_+ -j ACCEPT 2> /dev/null; do :;done + if [ "$UCI_CONF_NAME" == "olsrd6" ]; then + while $IP6T -D forwarding_rule -o tnl_+ -j ACCEPT 2> /dev/null; do :;done for IFACE in $wanifnames; do - while $IPT -D forwarding_rule -i tunl0 -o $IFACE -j ACCEPT 2> /dev/null; do :; done + while $IP6T -D forwarding_rule -i tunl0 -o $IFACE -j ACCEPT 2> /dev/null; do :; done done for IFACE in $ifsglobal; do - while $IPT -D input_rule -i $IFACE -p 4 -j ACCEPT 2> /dev/null; do :; done + while $IP6T -D input_rule -i $IFACE -p 4 -j ACCEPT 2> /dev/null; do :; done done - done - while $IP4T -t nat -D postrouting_rule -o tnl_+ -j MASQUERADE 2> /dev/null; do :;done + else + while $IP4T -D forwarding_rule -o tnl_+ -j ACCEPT 2> /dev/null; do :;done + for IFACE in $wanifnames; do + while $IP4T -D forwarding_rule -i tunl0 -o $IFACE -j ACCEPT 2> /dev/null; do :; done + done + for IFACE in $ifsglobal; do + while $IP4T -D input_rule -i $IFACE -p 4 -j ACCEPT 2> /dev/null; do :; done + done + while $IP4T -t nat -D postrouting_rule -o tnl_+ -j MASQUERADE 2> /dev/null; do :;done + fi if [ "$smartgateway" == "yes" ]; then log "$funcname() Notice: Inserting firewall rules for SmartGateway" |
