meshwizard: ipv6 fixes, fix uhttpd setup
[oweals/luci.git] / contrib / package / meshwizard / files / usr / bin / meshwizard / helpers / setup_network.sh
index c3647c42dc443b1a120fc5f4809b66b70649dc07..325475fa6ebffcf9acc815ea4e42898748478cf1 100755 (executable)
@@ -2,12 +2,13 @@
 # Argument $1: network interface
  
 net="$1"
-. /etc/functions.sh
+. /lib/functions.sh
 . $dir/functions.sh
 
 # Setup a (new) interface section for $net
 
-ipaddr=$(uci get meshwizard.netconfig.$net\_ip4addr)
+ipaddr=$(uci -q get meshwizard.netconfig.$net\_ip4addr)
+ip6addr=$(uci -q get meshwizard.netconfig.$net\_ip6addr)
 [ -z "$ipaddr" ] && msg_missing_value meshwizard $net\_ip4addr
 
 netmask=$(uci -q get meshwizard.netconfig.$net\_netmask)
@@ -25,11 +26,14 @@ EOF
 
 # Setup IPv6 for the interface
 local ip6addr
-if [ "$profile_ipv6" = 1 ]; then
-       if [ "$profile_ipv6_config" = "auto-ipv6-dhcpv6" ]; then
+if [ "$ipv6_enabled" = 1 ]; then
+       if [ "$ipv6_config" = "auto-ipv6-dhcpv6" ]; then
                ip6addr="$($dir/helpers/gen_auto-ipv6-dhcpv6-ip.sh $netrenamed)"
                uci set network.$netrenamed.ip6addr="${ip6addr}/112"
        fi
+       if [ "$ipv6_config" = "static" ] && [ -n "$ip6addr" ]; then
+               uci set network.$netrenamed.ip6addr="$ip6addr"
+       fi
 fi
 
 uci_commitverbose "Setup interface $netrenamed" network