summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2019-06-04 14:20:01 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2019-07-05 11:04:32 +0200
commit314134a445d6e0e05a33f1d5cc87fcc8fa398853 (patch)
tree640f7fee961776db89d712f5a3f7b20d855aba0b
parentd797611df59abe9c4d4836a7f3c6fa28a8311b01 (diff)
downloadNetworkManager-314134a445d6e0e05a33f1d5cc87fcc8fa398853.tar.gz
n-dhcp4: avoid {net,linux}/if.h clashes on old distros
In particular, avoid including linux/netdevice.h from headers. This is not a problem on newer distros, but required for CentOS 7.6. Signed-off-by: Tom Gundersen <teg@jklm.no>
-rw-r--r--shared/n-dhcp4/src/n-dhcp4-c-connection.c2
-rw-r--r--shared/n-dhcp4/src/n-dhcp4-private.h5
-rw-r--r--shared/n-dhcp4/src/n-dhcp4-socket.c5
-rw-r--r--shared/n-dhcp4/src/util/packet.h3
4 files changed, 8 insertions, 7 deletions
diff --git a/shared/n-dhcp4/src/n-dhcp4-c-connection.c b/shared/n-dhcp4/src/n-dhcp4-c-connection.c
index 2d099b41f7..d9b8a2d63d 100644
--- a/shared/n-dhcp4/src/n-dhcp4-c-connection.c
+++ b/shared/n-dhcp4/src/n-dhcp4-c-connection.c
@@ -8,6 +8,8 @@
#include <c-stdaux.h>
#include <errno.h>
#include <limits.h>
+#include <sys/socket.h> /* needed by linux/netdevice.h */
+#include <linux/netdevice.h>
#include <net/if_arp.h>
#include <stdbool.h>
#include <stdlib.h>
diff --git a/shared/n-dhcp4/src/n-dhcp4-private.h b/shared/n-dhcp4/src/n-dhcp4-private.h
index b896a93dc1..c38ddbfc80 100644
--- a/shared/n-dhcp4/src/n-dhcp4-private.h
+++ b/shared/n-dhcp4/src/n-dhcp4-private.h
@@ -7,7 +7,6 @@
#include <endian.h>
#include <inttypes.h>
#include <limits.h>
-#include <linux/netdevice.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>
@@ -234,9 +233,9 @@ struct NDhcp4ClientConfig {
int ifindex;
unsigned int transport;
bool request_broadcast;
- uint8_t mac[MAX_ADDR_LEN];
+ uint8_t mac[32]; /* MAX_ADDR_LEN */
size_t n_mac;
- uint8_t broadcast_mac[MAX_ADDR_LEN];
+ uint8_t broadcast_mac[32]; /* MAX_ADDR_LEN */
size_t n_broadcast_mac;
uint8_t *client_id;
size_t n_client_id;
diff --git a/shared/n-dhcp4/src/n-dhcp4-socket.c b/shared/n-dhcp4/src/n-dhcp4-socket.c
index 0bcc2419d0..b9ac176fd7 100644
--- a/shared/n-dhcp4/src/n-dhcp4-socket.c
+++ b/shared/n-dhcp4/src/n-dhcp4-socket.c
@@ -5,16 +5,17 @@
#include <c-stdaux.h>
#include <errno.h>
#include <linux/filter.h>
+#include <sys/socket.h> /* needed by linux/if.h */
+#include <linux/if.h>
#include <linux/if_packet.h>
+#include <linux/netdevice.h>
#include <linux/udp.h>
-#include <net/if.h>
#include <netinet/ip.h>
#include <stddef.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <sys/types.h>
-#include <sys/socket.h>
#include "n-dhcp4-private.h"
#include "util/packet.h"
#include "util/socket.h"
diff --git a/shared/n-dhcp4/src/util/packet.h b/shared/n-dhcp4/src/util/packet.h
index edbf2a3e45..98dabf7fbe 100644
--- a/shared/n-dhcp4/src/util/packet.h
+++ b/shared/n-dhcp4/src/util/packet.h
@@ -7,7 +7,6 @@
#include <c-stdaux.h>
#include <inttypes.h>
#include <linux/if_packet.h>
-#include <linux/netdevice.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <unistd.h>
@@ -25,7 +24,7 @@ struct packet_sockaddr_ll {
unsigned short sll_hatype;
unsigned char sll_pkttype;
unsigned char sll_halen;
- unsigned char sll_addr[MAX_ADDR_LEN];
+ unsigned char sll_addr[32]; /* MAX_ADDR_LEN */
};
uint16_t packet_internet_checksum(const uint8_t *data, size_t len);