hostap/src
Jörg Krause 81606ab73b vlan: Fix musl libc conflict with Linux kernel headers
Due to both <netinet/in.h> (in "utils/includes.h") and <linux/in6.h> (in
<linux/if_bridge.h>) being included, the in6_addr is being redefined:
once from the C library headers and once from the Linux kernel headers.
This causes some build failures with for example the musl C library:

In file included from /usr/include/linux/if_bridge.h:18,
                 from ../src/ap/vlan_init.c:17:
/usr/include/linux/in6.h:32: error: redefinition of 'struct in6_addr'
/usr/include/linux/in6.h:49: error: redefinition of 'struct sockaddr_in6'
/usr/include/linux/in6.h:59: error: redefinition of 'struct ipv6_mreq'

Mixing C library and Linux kernel headers is a bit problematic [1] and
should be avoided if possible [2]. In order to fix this, define just the
macros needed from <linux/if_bridge.h> as done in Busybox for the brctl
applet [3].

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=15850
[2] http://www.openwall.com/lists/musl/2015/10/06/1
[3] https://git.busybox.net/busybox/commit/?id=5fa6d1a632505789409a2ba6cf8e112529f9db18

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
2016-03-26 11:02:16 +02:00
..
ap vlan: Fix musl libc conflict with Linux kernel headers 2016-03-26 11:02:16 +02:00
common Assign QCA vendor command and attribute for Tx/Rx aggregation 2016-03-17 20:53:25 +02:00
crypto BoringSSL: Keep static analyzers happier with X509_get0_pubkey_bitstr() 2016-03-16 21:34:01 +02:00
drivers nl80211: Ignore deauth/disassoc event during Connect reassociation 2016-03-24 22:35:10 +02:00
eap_common EAP-PAX: Check hmac_sha1_vector() return value 2016-01-06 21:12:08 +02:00
eap_peer EAP-PWD peer: Fix possible memory leak on error path 2016-03-03 16:28:41 +02:00
eap_server EAP-pwd server: Use os_get_random() for unpredictable token 2016-02-19 18:44:40 +02:00
eapol_auth RADIUS: Share a single function for generating session IDs 2016-02-06 17:19:35 +02:00
eapol_supp Fix EAPOL reauth after FT protocol or offloaded PMKSA cache use 2015-11-19 21:16:18 +02:00
fst FST: Fix session setup failure with peer without MB IE 2016-03-07 18:04:47 +02:00
l2_packet l2_packet: Extend bridge workaround RX processing to cover two frames 2016-01-07 13:30:59 +02:00
p2p P2P: Advertise IP Address Allocation only if it is enabled on GO 2016-03-20 17:37:53 +02:00
pae MACsec: Update protect frames and replay on reauthentication 2014-12-09 16:56:10 +02:00
radius RADIUS: Add Acct-Delay-Time into accounting messages 2016-02-29 17:43:13 +02:00
rsn_supp SAE: Fix PMKID calculation for PMKSA cache 2016-02-18 21:07:47 +02:00
tls TLS: Make tls_cert_chain_failure_event() more robust 2015-12-28 18:31:11 +02:00
utils libxml2: Check for xmlDocDumpFormatMemory() error case 2016-03-16 21:49:28 +02:00
wps WPS: Use only os_get_random() for PIN generation 2016-02-19 18:44:40 +02:00
lib.rules Add QUIET=1 option for make 2014-12-29 15:49:05 +02:00
Makefile FST: Add the Fast Session Transfer (FST) module 2015-07-16 18:26:15 +03:00