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-04 10:56:48 +0200
commit69cf79610c3c91b078daa6247b62aba7d6948217 (patch)
tree4e8f66b793d32acfc556d491dc493eb11db70f43
parent02aff325ec6faf3015dc1612309b24b55fa6dd09 (diff)
downloadNetworkManager-69cf79610c3c91b078daa6247b62aba7d6948217.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);