From: Jaco Kroon Date: Tue, 31 Oct 2023 09:47:21 +0000 (+0200) Subject: pppd/sys-linux: Fix compile with older Linux kernel headers (#452) X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=commitdiff_plain;h=7a3f478a4b7128d4f70ea64d99fedec766b1c009 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 --- diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c index 561b150..a8d6cd9 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; }