From b28f438a37183e012e6a7b591adb9552bb9b78c0 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Sun, 10 Jan 2010 16:28:09 +0000
Subject: [PATCH] ppp: process option dns if peerdns is off (#6474)

SVN-Revision: 19093
---
 package/ppp/files/ppp.sh | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/package/ppp/files/ppp.sh b/package/ppp/files/ppp.sh
index 8dfdab7a0b..23fcb89ffd 100644
--- a/package/ppp/files/ppp.sh
+++ b/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