ppp: populate gateway of default route with peer address (#6259)
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 25 Aug 2010 23:10:40 +0000 (23:10 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 25 Aug 2010 23:10:40 +0000 (23:10 +0000)
SVN-Revision: 22806

package/ppp/Makefile
package/ppp/patches/340-populate_default_gateway.patch [new file with mode: 0644]

index 168895544eba17aadb99df5b7a791a9ca28d3ec0..8670dca132d0c50259d66d58f56c26d988ba36ff 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ppp
 PKG_VERSION:=2.4.4
-PKG_RELEASE:=9
+PKG_RELEASE:=10
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/
diff --git a/package/ppp/patches/340-populate_default_gateway.patch b/package/ppp/patches/340-populate_default_gateway.patch
new file mode 100644 (file)
index 0000000..ca11206
--- /dev/null
@@ -0,0 +1,21 @@
+--- a/pppd/sys-linux.c
++++ b/pppd/sys-linux.c
+@@ -1673,6 +1673,9 @@ int sifdefaultroute (int unit, u_int32_t
+     memset (&rt, 0, sizeof (rt));
+     SET_SA_FAMILY (rt.rt_dst, AF_INET);
++    SET_SA_FAMILY(rt.rt_gateway, AF_INET);
++    SIN_ADDR(rt.rt_gateway) = gateway;
++
+     rt.rt_dev = ifname;
+     if (kernel_version > KVERSION(2,1,0)) {
+@@ -1680,7 +1683,7 @@ int sifdefaultroute (int unit, u_int32_t
+       SIN_ADDR(rt.rt_genmask) = 0L;
+     }
+-    rt.rt_flags = RTF_UP;
++    rt.rt_flags = RTF_UP | RTF_GATEWAY;
+     if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
+       if (!ok_error(errno))
+           error("default route ioctl(SIOCADDRT): %m");