Explorar el Código

ppp: process option dns if peerdns is off (#6474)

SVN-Revision: 19093
Jo-Philipp Wich hace 16 años
padre
commit
b28f438a37
Se han modificado 1 ficheros con 10 adiciones y 3 borrados
  1. 10 3
      package/ppp/files/ppp.sh

+ 10 - 3
package/ppp/files/ppp.sh

@@ -51,9 +51,16 @@ start_pppd() {
 	interval="${keepalive##*[, ]}"
 	interval="${keepalive##*[, ]}"
 	[ "$interval" != "$keepalive" ] || interval=5
 	[ "$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
 	config_get demand "$cfg" demand
 	[ -n "$demand" ] && echo "nameserver 1.1.1.1" > /tmp/resolv.conf.auto
 	[ -n "$demand" ] && echo "nameserver 1.1.1.1" > /tmp/resolv.conf.auto