From 67645a01a2f3f52625d8dd77f2811a9e213e1b7d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 13 Sep 2015 13:28:20 -0700
Subject: [PATCH] Fix header inclusions for musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending

 gweb/gresolv.c        | 1 +
 plugins/wifi.c        | 3 +--
 src/tethering.c       | 2 --
 tools/dhcp-test.c     | 1 -
 tools/dnsproxy-test.c | 1 +
 5 files changed, 3 insertions(+), 5 deletions(-)

Index: connman-1.30/gweb/gresolv.c
===================================================================
--- connman-1.30.orig/gweb/gresolv.c
+++ connman-1.30/gweb/gresolv.c
@@ -28,6 +28,7 @@
 #include <stdarg.h>
 #include <string.h>
 #include <stdlib.h>
+#include <stdio.h>
 #include <resolv.h>
 #include <sys/types.h>
 #include <sys/socket.h>
Index: connman-1.30/plugins/wifi.c
===================================================================
--- connman-1.30.orig/plugins/wifi.c
+++ connman-1.30/plugins/wifi.c
@@ -30,9 +30,8 @@
 #include <string.h>
 #include <sys/ioctl.h>
 #include <sys/socket.h>
-#include <linux/if_arp.h>
-#include <linux/wireless.h>
 #include <net/ethernet.h>
+#include <linux/wireless.h>
 
 #ifndef IFF_LOWER_UP
 #define IFF_LOWER_UP	0x10000
Index: connman-1.30/src/tethering.c
===================================================================
--- connman-1.30.orig/src/tethering.c
+++ connman-1.30/src/tethering.c
@@ -31,10 +31,8 @@
 #include <stdio.h>
 #include <sys/ioctl.h>
 #include <net/if.h>
-#include <linux/sockios.h>
 #include <string.h>
 #include <fcntl.h>
-#include <linux/if_tun.h>
 #include <netinet/in.h>
 #include <linux/if_bridge.h>
 
Index: connman-1.30/tools/dhcp-test.c
===================================================================
--- connman-1.30.orig/tools/dhcp-test.c
+++ connman-1.30/tools/dhcp-test.c
@@ -33,7 +33,6 @@
 #include <arpa/inet.h>
 #include <net/route.h>
 #include <net/ethernet.h>
-#include <linux/if_arp.h>
 
 #include <gdhcp/gdhcp.h>
 
Index: connman-1.30/tools/dnsproxy-test.c
===================================================================
--- connman-1.30.orig/tools/dnsproxy-test.c
+++ connman-1.30/tools/dnsproxy-test.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <stdio.h>
 #include <arpa/inet.h>
 #include <netinet/in.h>
 #include <sys/types.h>
Index: connman-1.30/configure.ac
===================================================================
--- connman-1.30.orig/configure.ac
+++ connman-1.30/configure.ac
@@ -173,6 +173,8 @@ AM_CONDITIONAL(PPTP_BUILTIN, test "${ena
 
 AC_CHECK_HEADERS([execinfo.h])
 
+AC_CHECK_MEMBERS([struct in6_pktinfo.ipi6_addr], [], [], [[#include <netinet/in.h>]])
+
 AC_CHECK_HEADERS(resolv.h, dummy=yes,
 	AC_MSG_ERROR(resolver header files are required))
 AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
Index: connman-1.30/gdhcp/common.h
===================================================================
--- connman-1.30.orig/gdhcp/common.h
+++ connman-1.30/gdhcp/common.h
@@ -19,6 +19,7 @@
  *
  */
 
+#include <config.h>
 #include <netinet/udp.h>
 #include <netinet/ip.h>
 
@@ -170,8 +171,8 @@ static const uint8_t dhcp_option_lengths
 	[OPTION_U32]	= 4,
 };
 
-/* already defined within netinet/in.h if using GNU compiler */
-#ifndef __USE_GNU
+/* already defined within netinet/in.h if using GNU or musl libc */
+#ifndef HAVE_STRUCT_IN6_PKTINFO_IPI6_ADDR
 struct in6_pktinfo {
 	struct in6_addr ipi6_addr;  /* src/dst IPv6 address */
 	unsigned int ipi6_ifindex;  /* send/recv interface index */
