diff --git a/package/pppd/0005-pppd-sys-linux-Fix-compile-with-older-Linux-kernel-headers.patch b/package/pppd/0005-pppd-sys-linux-Fix-compile-with-older-Linux-kernel-headers.patch new file mode 100644 index 0000000000..46c293103a --- /dev/null +++ b/package/pppd/0005-pppd-sys-linux-Fix-compile-with-older-Linux-kernel-headers.patch @@ -0,0 +1,66 @@ +From 7a3f478a4b7128d4f70ea64d99fedec766b1c009 Mon Sep 17 00:00:00 2001 +From: Jaco Kroon +Date: Tue, 31 Oct 2023 11:47:21 +0200 +Subject: [PATCH] pppd/sys-linux: Fix compile with older Linux kernel headers + (#452) + +When compiling pppd against kernel headers which don't provide +the definitions for the NETLINK mechanisms, leave out the code +which uses NETLINK, so as to avoid getting compile errors. + +Upstream commit in Linux refers. + +commit 10c9ead9f3c6bb24bddc9a96681f7d58e6623966 +Author: Roopa Prabhu +Date: Wed Apr 20 08:43:43 2016 -0700 +rtnetlink: add new RTM_GETSTATS message to dump link stats + +This commit adds the #defines and structs used, so simply not compiling +this code if the required #defines isn't there should solve the problem. + +Closes: #450 + +Signed-off-by: Jaco Kroon +Upstream: https://github.com/ppp-project/ppp/commit/7a3f478a4b7128d4f70ea64d99fedec766b1c009 +Signed-off-by: Fabrice Fontaine +--- + pppd/sys-linux.c | 12 ++---------- + 1 file changed, 2 insertions(+), 10 deletions(-) + +diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c +index 561b150f2..a8d6cd95b 100644 +--- a/pppd/sys-linux.c ++++ b/pppd/sys-linux.c +@@ -131,16 +131,6 @@ + #include + #include + #include +- +-/* Attempt at retaining compile-support with older than 4.7 kernels, or kernels +- * where RTM_NEWSTATS isn't defined for whatever reason. +- */ +-#ifndef RTM_NEWSTATS +-#define RTM_NEWSTATS 92 +-#define RTM_GETSTATS 94 +-#define IFLA_STATS_LINK_64 1 +-#endif +- + #include + + /* glibc versions prior to 2.24 do not define SOL_NETLINK */ +@@ -1776,6 +1766,7 @@ get_ppp_stats_ioctl(int u, struct pppd_stats *stats) + static int + get_ppp_stats_rtnetlink(int u, struct pppd_stats *stats) + { ++#ifdef RTM_NEWSTATS + static int fd = -1; + + struct { +@@ -1825,6 +1816,7 @@ get_ppp_stats_rtnetlink(int u, struct pppd_stats *stats) + err: + close(fd); + fd = -1; ++#endif + return 0; + } +