From d2212229078838fb244f65b6685d702a9f646d0d Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Thu, 6 Dec 2012 18:17:21 +0000
Subject: [PATCH] ppp: unconditionally start pppd with nodefaultroute and
 usepeerdns (#12580)

Since the switch to netifd, proto handlers may always set the defaultroute
and provide dns server addresses, netifd will decide in the generic code
path whether the announced values are masked or not.

Additionally protocol handlers should not modify the routing tables themselves
and prevent any launched services from doing so.

Remove the additional defaultroute and peerdns option handling from the ppp.sh
protocol handler and rely on netifd to mask or not mask the values.

SVN-Revision: 34536
---
 package/network/services/ppp/Makefile     |  2 +-
 package/network/services/ppp/files/ppp.sh | 15 ++++-----------
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/package/network/services/ppp/Makefile b/package/network/services/ppp/Makefile
index de9974d0294..24be05e0dda 100644
--- a/package/network/services/ppp/Makefile
+++ b/package/network/services/ppp/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ppp
 PKG_VERSION:=2.4.5
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/
diff --git a/package/network/services/ppp/files/ppp.sh b/package/network/services/ppp/files/ppp.sh
index 7e9b8dd8562..43a7de96585 100755
--- a/package/network/services/ppp/files/ppp.sh
+++ b/package/network/services/ppp/files/ppp.sh
@@ -16,8 +16,6 @@ ppp_generic_init_config() {
 	proto_config_add_string "pppd_options"
 	proto_config_add_string "connect"
 	proto_config_add_string "disconnect"
-	proto_config_add_boolean "defaultroute"
-	proto_config_add_boolean "peerdns"
 	proto_config_add_boolean "ipv6"
 	proto_config_add_boolean "authfail"
 	proto_config_add_int "mtu"
@@ -26,14 +24,8 @@ ppp_generic_init_config() {
 ppp_generic_setup() {
 	local config="$1"; shift
 
-	json_get_vars ipv6 peerdns defaultroute demand keepalive username password pppd_options
+	json_get_vars ipv6 demand keepalive username password pppd_options
 	[ "$ipv6" = 1 ] || ipv6=""
-	[ "$peerdns" = 0 ] && peerdns="" || peerdns="1"
-	if [ "$defaultroute" = 1 ]; then
-		defaultroute="defaultroute replacedefaultroute";
-	else
-		defaultroute="nodefaultroute"
-	fi
 	if [ "${demand:-0}" -gt 0 ]; then
 		demand="precompiled-active-filter /etc/ppp/filter demand idle $demand"
 	else
@@ -51,8 +43,9 @@ ppp_generic_setup() {
 		nodetach ipparam "$config" \
 		ifname "${proto:-ppp}-$config" \
 		${keepalive:+lcp-echo-interval $interval lcp-echo-failure ${keepalive%%[, ]*}} \
-		${ipv6:++ipv6} $defaultroute \
-		${peerdns:+usepeerdns} \
+		${ipv6:++ipv6} \
+		nodefaultroute \
+		usepeerdns \
 		$demand maxfail 1 \
 		${username:+user "$username" password "$password"} \
 		${connect:+connect "$connect"} \
-- 
GitLab