local dns
local add
for dns in "$@"; do
- grep -qsF "nameserver $dns" /tmp/resolv.conf.auto || {
+ grep -qsE "^nameserver ${dns//./\\.}$" /tmp/resolv.conf.auto || {
add="${add:+$add }$dns"
echo "nameserver $dns" >> /tmp/resolv.conf.auto
}
[ -f /tmp/resolv.conf.auto ] && {
local dns=$(uci_get_state network "$cfg" resolv_dns)
for dns in $dns; do
- sed -i -e "/^nameserver $dns$/d" /tmp/resolv.conf.auto
+ sed -i -e "/^nameserver ${dns//./\\.}$/d" /tmp/resolv.conf.auto
done
}
esac
[ -z "$ipaddr" ] || $DEBUG ifconfig "$iface" "$ipaddr" netmask "$netmask" broadcast "${bcast:-+}"
- [ -z "$ip6addr" ] || $DEBUG ifconfig "$iface" add "$ip6addr"
+ [ -z "$ip6addr" ] || $DEBUG ifconfig "${iface%:*}" add "$ip6addr"
[ -z "$gateway" ] || $DEBUG route add default gw "$gateway" ${metric:+metric $metric} dev "$iface"
- [ -z "$ip6gw" ] || $DEBUG route -A inet6 add default gw "$ip6gw" ${metric:+metric $metric} dev "$iface"
+ [ -z "$ip6gw" ] || $DEBUG route -A inet6 add default gw "$ip6gw" ${metric:+metric $metric} dev "${iface%:*}"
[ -z "$dns" ] || add_dns "$config" $dns
config_get type "$config" TYPE