diff options
Diffstat (limited to 'package/network/ipv6/map/files/map.sh')
-rwxr-xr-x | package/network/ipv6/map/files/map.sh | 48 |
1 files changed, 26 insertions, 22 deletions
diff --git a/package/network/ipv6/map/files/map.sh b/package/network/ipv6/map/files/map.sh index 70dc72326c..6462e810cc 100755 --- a/package/network/ipv6/map/files/map.sh +++ b/package/network/ipv6/map/files/map.sh @@ -33,7 +33,7 @@ proto_map_setup() { json_get_vars type mtu ttl tunlink zone encaplimit json_get_vars rule ipaddr ip4prefixlen ip6prefix ip6prefixlen peeraddr ealen psidlen psid offset - [ -z "$zone" ] && zone="wan" + [ "$zone" = "-" ] && zone="" [ -z "$type" ] && type="map-e" [ -z "$ip4prefixlen" ] && ip4prefixlen=32 @@ -129,7 +129,7 @@ proto_map_setup() { proto_add_ipv4_route "0.0.0.0" 0 proto_add_data - [ "$zone" != "-" ] && json_add_string zone "$zone" + [ -n "$zone" ] && json_add_string zone "$zone" json_add_array firewall if [ -z "$(eval "echo \$RULE_${k}_PORTSETS")" ]; then @@ -155,26 +155,30 @@ proto_map_setup() { done fi if [ "$type" = "map-t" ]; then - json_add_object "" - json_add_string type rule - json_add_string family inet6 - json_add_string proto all - json_add_string direction in - json_add_string dest "$zone" - json_add_string src "$zone" - json_add_string src_ip $(eval "echo \$RULE_${k}_IPV6ADDR") - json_add_string target ACCEPT - json_close_object - json_add_object "" - json_add_string type rule - json_add_string family inet6 - json_add_string proto all - json_add_string direction out - json_add_string dest "$zone" - json_add_string src "$zone" - json_add_string dest_ip $(eval "echo \$RULE_${k}_IPV6ADDR") - json_add_string target ACCEPT - json_close_object + [ -z "$zone" ] && zone=$(fw3 -q network $iface 2>/dev/null) + + [ -n "$zone" ] && { + json_add_object "" + json_add_string type rule + json_add_string family inet6 + json_add_string proto all + json_add_string direction in + json_add_string dest "$zone" + json_add_string src "$zone" + json_add_string src_ip $(eval "echo \$RULE_${k}_IPV6ADDR") + json_add_string target ACCEPT + json_close_object + json_add_object "" + json_add_string type rule + json_add_string family inet6 + json_add_string proto all + json_add_string direction out + json_add_string dest "$zone" + json_add_string src "$zone" + json_add_string dest_ip $(eval "echo \$RULE_${k}_IPV6ADDR") + json_add_string target ACCEPT + json_close_object + } proto_add_ipv6_route $(eval "echo \$RULE_${k}_IPV6ADDR") 128 fi json_close_array |