[package] base-files: make ip matching in dns add/remove functions more explicit...
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 23 Sep 2011 08:35:50 +0000 (08:35 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 23 Sep 2011 08:35:50 +0000 (08:35 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28291 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/Makefile
package/base-files/files/lib/network/config.sh

index bae3c79..775126a 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=79
+PKG_RELEASE:=80
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
 PKG_BUILD_DEPENDS:=opkg/host
index 5b349a7..00e372a 100755 (executable)
@@ -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
                }