ppp: process option dns if peerdns is off (#6474)
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 10 Jan 2010 16:28:09 +0000 (16:28 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 10 Jan 2010 16:28:09 +0000 (16:28 +0000)
SVN-Revision: 19093

package/ppp/files/ppp.sh

index 8dfdab7a0baa808dfc0420770cdd51d4afe69cd0..23fcb89ffd0b45c4e625f32a02a20da8c9215394 100644 (file)
@@ -51,9 +51,16 @@ start_pppd() {
        interval="${keepalive##*[, ]}"
        [ "$interval" != "$keepalive" ] || interval=5
 
-       config_get_bool peerdns "$cfg" peerdns 1 
-       [ "$peerdns" -eq 1 ] && peerdns="usepeerdns" || peerdns="" 
-       
+       config_get_bool peerdns "$cfg" peerdns 1
+       [ "$peerdns" -eq 1 ] && peerdns="usepeerdns" || {
+               peerdns=""
+               config_get dns "$config" dns
+               for dns in $dns; do
+                       grep -q "$dns" /tmp/resolv.conf.auto 2>/dev/null || \
+                               echo "nameserver $dns" >> /tmp/resolv.conf.auto
+               done
+       }
+
        config_get demand "$cfg" demand
        [ -n "$demand" ] && echo "nameserver 1.1.1.1" > /tmp/resolv.conf.auto