62fcacb6a0
Fixes CVE-2015-3310
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
From 50a2997b256e0e0ef7a46fae133f56f60fce539c Mon Sep 17 00:00:00 2001
|
|
From: Lubomir Rintel <lkundrak@v3.sk>
|
|
Date: Mon, 9 Jan 2017 13:34:23 +0000
|
|
Subject: [PATCH] pppoe: include netinet/in.h before linux/in.h
|
|
|
|
This fixes builds with newer kernels. Basically, <netinet/in.h> needs to be
|
|
included before <linux/in.h> otherwise the earlier, unaware of the latter,
|
|
tries to redefine symbols and structures. Also, <linux/if_pppox.h> doesn't work
|
|
alone anymore, since it pulls the headers in the wrong order, so we better
|
|
include <netinet/in.h> early.
|
|
---
|
|
pppd/plugins/rp-pppoe/pppoe.h | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h
|
|
index 9ab2eee3..c4aaa6e6 100644
|
|
--- pppd/plugins/rp-pppoe/pppoe.h
|
|
+++ pppd/plugins/rp-pppoe/pppoe.h
|
|
@@ -47,6 +47,10 @@
|
|
#include <sys/socket.h>
|
|
#endif
|
|
|
|
+/* This has to be included before Linux 4.8's linux/in.h
|
|
+ * gets dragged in. */
|
|
+#include <netinet/in.h>
|
|
+
|
|
/* Ugly header files on some Linux boxes... */
|
|
#if defined(HAVE_LINUX_IF_H)
|
|
#include <linux/if.h>
|
|
@@ -84,8 +88,6 @@ typedef unsigned long UINT32_t;
|
|
#include <linux/if_ether.h>
|
|
#endif
|
|
|
|
-#include <netinet/in.h>
|
|
-
|
|
|
|
/* Ethernet frame types according to RFC 2516 */
|
|
#define ETH_PPPOE_DISCOVERY 0x8863
|