From da8fbc65ef8785b3ae306e4863eb4ec6c7dfde13 Mon Sep 17 00:00:00 2001 From: jow Date: Wed, 4 Aug 2010 21:47:29 +0000 Subject: [PATCH] [package] pppd: only remove own default route on shutdown (#7694) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22495 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/ppp/Makefile | 2 +- package/ppp/patches/320-custom_iface_names.patch | 4 +--- .../patches/330-retain_foreign_default_routes.patch | 10 ++++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 package/ppp/patches/330-retain_foreign_default_routes.patch diff --git a/package/ppp/Makefile b/package/ppp/Makefile index e0724fffa..168895544 100644 --- a/package/ppp/Makefile +++ b/package/ppp/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ppp PKG_VERSION:=2.4.4 -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/ diff --git a/package/ppp/patches/320-custom_iface_names.patch b/package/ppp/patches/320-custom_iface_names.patch index 16d90c4d7..ff9ef86dd 100644 --- a/package/ppp/patches/320-custom_iface_names.patch +++ b/package/ppp/patches/320-custom_iface_names.patch @@ -78,7 +78,7 @@ if (ppp_dev_fd >= 0) { dbglog("in make_ppp_unit, already had /dev/ppp open?"); -@@ -645,6 +650,32 @@ static int make_ppp_unit() +@@ -645,6 +650,30 @@ static int make_ppp_unit() } if (x < 0) error("Couldn't create new ppp unit: %m"); @@ -103,8 +103,6 @@ + error("Couldn't rename %s to %s", ifr.ifr_name, ifr.ifr_newname); + close(ppp_dev_fd); + ppp_dev_fd = -1; -+ } else { -+ info("Renamed %s to %s", ifr.ifr_name, ifr.ifr_newname); + } + } + diff --git a/package/ppp/patches/330-retain_foreign_default_routes.patch b/package/ppp/patches/330-retain_foreign_default_routes.patch new file mode 100644 index 000000000..d60ccae50 --- /dev/null +++ b/package/ppp/patches/330-retain_foreign_default_routes.patch @@ -0,0 +1,10 @@ +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -1717,6 +1717,7 @@ int cifdefaultroute (int unit, u_int32_t + SIN_ADDR(rt.rt_genmask) = 0L; + } + ++ rt.rt_dev = ifname; + rt.rt_flags = RTF_UP; + if (ioctl(sock_fd, SIOCDELRT, &rt) < 0 && errno != ESRCH) { + if (still_ppp()) { -- 2.20.1