Просмотр исходного кода

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

SVN-Revision: 19093
Jo-Philipp Wich 16 лет назад
Родитель
Сommit
b28f438a37
1 измененных файлов с 10 добавлено и 3 удалено
  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=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