d2e1ce4
From 01419dfb684d501b57f1c24dcfdbcf9da93ccca2 Mon Sep 17 00:00:00 2001
d2e1ce4
From: Michal Sekletar <msekleta@redhat.com>
d2e1ce4
Date: Fri, 4 Apr 2014 18:12:47 +0200
d2e1ce4
Subject: [PATCH 06/27] scritps: use change_resolv_conf function
d2e1ce4
d2e1ce4
Don't handle /etc/resolv.conf manually, but use a helper function from
d2e1ce4
initscripts. Also change path where we save DNS servers supplied by peer while
d2e1ce4
we are at it.
d2e1ce4
d2e1ce4
Resolves: #132482
d2e1ce4
---
d2e1ce4
 pppd/pppd.8               |  2 +-
d2e1ce4
 scripts/ip-down.local.add |  9 +++++----
d2e1ce4
 scripts/ip-up.local.add   | 17 ++++++++++-------
d2e1ce4
 3 files changed, 16 insertions(+), 12 deletions(-)
d2e1ce4
d2e1ce4
diff --git a/pppd/pppd.8 b/pppd/pppd.8
d2e1ce4
index e2768b1..2dd6e1a 100644
d2e1ce4
--- a/pppd/pppd.8
d2e1ce4
+++ b/pppd/pppd.8
d2e1ce4
@@ -1099,7 +1099,7 @@ Ask the peer for up to 2 DNS server addresses.  The addresses supplied
d2e1ce4
 by the peer (if any) are passed to the /etc/ppp/ip\-up script in the
d2e1ce4
 environment variables DNS1 and DNS2, and the environment variable
d2e1ce4
 USEPEERDNS will be set to 1.  In addition, pppd will create an
d2e1ce4
-/etc/ppp/resolv.conf file containing one or two nameserver lines with
d2e1ce4
+/var/run/ppp/resolv.conf file containing one or two nameserver lines with
d2e1ce4
 the address(es) supplied by the peer.
d2e1ce4
 .TP
d2e1ce4
 .B user \fIname
d2e1ce4
diff --git a/scripts/ip-down.local.add b/scripts/ip-down.local.add
d2e1ce4
index b93590e..163f71e 100644
d2e1ce4
--- a/scripts/ip-down.local.add
d2e1ce4
+++ b/scripts/ip-down.local.add
d2e1ce4
@@ -9,12 +9,13 @@
d2e1ce4
 #
d2e1ce4
 # Nick Walker (nickwalker@email.com)
d2e1ce4
 #
d2e1ce4
+. /etc/sysconfig/network-scripts/network-functions
d2e1ce4
 
d2e1ce4
-if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
d2e1ce4
-	if [ -f /etc/ppp/resolv.prev ]; then
d2e1ce4
-		cp -f /etc/ppp/resolv.prev /etc/resolv.conf
d2e1ce4
+if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then
d2e1ce4
+	if [ -f /var/run/ppp/resolv.prev ]; then
d2e1ce4
+		change_resolv_conf /var/run/ppp/resolv.prev
d2e1ce4
 	else
d2e1ce4
-		rm -f /etc/resolv.conf
d2e1ce4
+		change_resolv_conf
d2e1ce4
 	fi
d2e1ce4
 fi
d2e1ce4
 
d2e1ce4
diff --git a/scripts/ip-up.local.add b/scripts/ip-up.local.add
d2e1ce4
index 8017209..26cf5f8 100644
d2e1ce4
--- a/scripts/ip-up.local.add
d2e1ce4
+++ b/scripts/ip-up.local.add
d2e1ce4
@@ -9,16 +9,19 @@
d2e1ce4
 #
d2e1ce4
 # Nick Walker (nickwalker@email.com)
d2e1ce4
 #
d2e1ce4
+. /etc/sysconfig/network-scripts/network-functions
d2e1ce4
 
d2e1ce4
-if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then
d2e1ce4
-	rm -f /etc/ppp/resolv.prev
d2e1ce4
+if [ -n "$USEPEERDNS" -a -f /var/run/ppp/resolv.conf ]; then
d2e1ce4
+	rm -f /var/run/ppp/resolv.prev
d2e1ce4
 	if [ -f /etc/resolv.conf ]; then
d2e1ce4
-		cp /etc/resolv.conf /etc/ppp/resolv.prev
d2e1ce4
-		grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
d2e1ce4
-		grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
d2e1ce4
-		cat /etc/ppp/resolv.conf >> /etc/resolv.conf
d2e1ce4
+		cp /etc/resolv.conf /var/run/ppp/resolv.prev
d2e1ce4
+		rscf=/var/run/ppp/resolv.new
d2e1ce4
+		grep domain /var/run/ppp/resolv.prev > $rscf
d2e1ce4
+		grep search /var/run/ppp/resolv.prev >> $rscf
d2e1ce4
+		change_resolv_conf $rscf
d2e1ce4
+		rm -f $rscf
d2e1ce4
 	else
d2e1ce4
-		cp /etc/ppp/resolv.conf /etc
d2e1ce4
+		change_resolv_conf /var/run/ppp/resolv.conf
d2e1ce4
 	fi
d2e1ce4
 fi
d2e1ce4
 
d2e1ce4
-- 
d2e1ce4
1.8.3.1
d2e1ce4