X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/e83e95ad53bd14a7c215a72af948daa0b8d07031..38fd142fbb02ebeb12adf32032a49e8d5cd6a17a:/package/base-files/files/lib/network/config.sh?ds=sidebyside diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index cf5b197b5..00e372a1f 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -106,7 +106,7 @@ add_dns() { 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 } @@ -126,7 +126,7 @@ remove_dns() { [ -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 } @@ -261,9 +261,9 @@ setup_interface_static() { 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