075b01f2f7
- Drop patch (already in version) - Update hash of bsd-comp.c, ccp.c and passprompt.c (no change in license) - rp-pppoe has been renamed to pppoe sinceb2c36e6c0e
- Manage EAP-TLS which depends on openssl and has been added and is enabled by default sincee87fe1bbd3
It should be noted that openssl is still mandatory with glibc because encrypt and setkey have been removed since version 2.28 (see commitb519bcafe7
) - musl is now supported - Update indentation in hash file (two spaces) https://github.com/paulusmack/ppp/blob/2.4.9/README Fixes: - https://bugs.busybox.net/show_bug.cgi?id=13436 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
61 lines
2.2 KiB
Diff
61 lines
2.2 KiB
Diff
From 98ec18f098e5ef68e3a8cc6954fcaf5a7fb8b7be Mon Sep 17 00:00:00 2001
|
|
From: pali <7141871+pali@users.noreply.github.com>
|
|
Date: Mon, 15 Feb 2021 07:54:01 +0100
|
|
Subject: [PATCH] pppd: Fix compilation with older glibc or kernel headers
|
|
(#248)
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
glibc versions prior to 2.24 do not define SOL_NETLINK and linux kernel
|
|
versions prior to 4.3 do not define NETLINK_CAP_ACK. So add fallback
|
|
definitions for these macros into pppd/sys-linux.c file.
|
|
|
|
Also extend description why we call SOL_NETLINK/NETLINK_CAP_ACK option.
|
|
|
|
Signed-off-by: Pali Rohár <pali@kernel.org>
|
|
|
|
[Retrieved from:
|
|
https://github.com/ppp-project/ppp/commit/98ec18f098e5ef68e3a8cc6954fcaf5a7fb8b7be]
|
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
---
|
|
pppd/sys-linux.c | 18 +++++++++++++++++-
|
|
1 file changed, 17 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
|
|
index 85033d97..50c4f2da 100644
|
|
--- a/pppd/sys-linux.c
|
|
+++ b/pppd/sys-linux.c
|
|
@@ -125,6 +125,14 @@
|
|
#include <linux/netlink.h>
|
|
#include <linux/rtnetlink.h>
|
|
#include <linux/if_addr.h>
|
|
+/* glibc versions prior to 2.24 do not define SOL_NETLINK */
|
|
+#ifndef SOL_NETLINK
|
|
+#define SOL_NETLINK 270
|
|
+#endif
|
|
+/* linux kernel versions prior to 4.3 do not define/support NETLINK_CAP_ACK */
|
|
+#ifndef NETLINK_CAP_ACK
|
|
+#define NETLINK_CAP_ACK 10
|
|
+#endif
|
|
#endif
|
|
|
|
#include "pppd.h"
|
|
@@ -2843,7 +2851,15 @@ static int append_peer_ipv6_address(unsigned int iface, struct in6_addr *local_a
|
|
if (fd < 0)
|
|
return 0;
|
|
|
|
- /* do not ask for error message content */
|
|
+ /*
|
|
+ * Tell kernel to not send to us payload of acknowledgment error message.
|
|
+ * NETLINK_CAP_ACK option is supported since Linux kernel version 4.3 and
|
|
+ * older kernel versions always send full payload in acknowledgment netlink
|
|
+ * message. We ignore payload of this message as we need only error code,
|
|
+ * to check if our set remote peer address request succeeded or failed.
|
|
+ * So ignore return value from the following setsockopt() call as setting
|
|
+ * option NETLINK_CAP_ACK means for us just a kernel hint / optimization.
|
|
+ */
|
|
one = 1;
|
|
setsockopt(fd, SOL_NETLINK, NETLINK_CAP_ACK, &one, sizeof(one));
|
|
|