pppd: only remove own default route on shutdown (#7694)
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 4 Aug 2010 21:47:29 +0000 (21:47 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 4 Aug 2010 21:47:29 +0000 (21:47 +0000)
SVN-Revision: 22495

package/ppp/Makefile
package/ppp/patches/320-custom_iface_names.patch
package/ppp/patches/330-retain_foreign_default_routes.patch [new file with mode: 0644]

index e0724fffa796a3b512f06beb62bbc5c1f303a978..168895544eba17aadb99df5b7a791a9ca28d3ec0 100644 (file)
@@ -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/
index 16d90c4d7ae370a8e6b1463b6dca1debea5337d3..ff9ef86dd3f31da1f2fd40cf4e03001a90dc252f 100644 (file)
@@ -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");
 +                      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 (file)
index 0000000..d60ccae
--- /dev/null
@@ -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()) {