This is a minor upgrade that mainly fixes some compilation errors and remove old unused code. The Makefile has been reorganized. Now all package make parameters are passed as configure arguments instead of environment variables. The compilation dependencies remain the same as ppp v2.5.1 and the package size changes are negligible. Change log: https://github.com/ppp-project/ppp/blob/v2.5.2/README#L70 Upstreamed patches: 101-pppd-crypto-fix-build-without-openssl.patch [1] 102-pppd-make-pid-directory-before-create-the-pid-file.patch [2] 103-pppd-crypto-fix-gcc-14-build.patch [3] [1]5f6eabdb66
[2]734bc0438e
[3]ac269dbf7c
Signed-off-by: Shiji Yang <yangshiji66@qq.com> Link: https://github.com/openwrt/openwrt/pull/17477 Signed-off-by: Nick Hainke <vincent@systemli.org>
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
pppd: Fill in default gateway on Linux
|
|
|
|
On Linux, when pppd creates the default route, it does not set the peer
|
|
address as gateway, leading to a default route without gateway address.
|
|
|
|
This behaviour breaks various downstream programs which attempt to infer
|
|
the default gateway IP address from the system default route entry.
|
|
|
|
This patch addresses the issue by filling in the peer address as gateway
|
|
when generating the default route entry.
|
|
|
|
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
|
|
--- a/pppd/sys-linux.c
|
|
+++ b/pppd/sys-linux.c
|
|
@@ -2247,6 +2247,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;
|
|
rt.rt_metric = dfl_route_metric + 1; /* +1 for binary compatibility */
|
|
|
|
@@ -2255,7 +2258,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");
|