| https://git.netfilter.org/iptables/commit/?id=0e7cf0ad306cdf95dc3c28d15a254532206a888e |
| https://bugs.gentoo.org/846377 |
| |
| From: Phil Sutter <phil@nwl.cc> |
| Date: Wed, 18 May 2022 16:04:09 +0200 |
| Subject: Revert "fix build for missing ETH_ALEN definition" |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| This reverts commit c5d9a723b5159a28f547b577711787295a14fd84 as it broke |
| compiling against musl libc. Might be a bug in the latter, but for the |
| time being try to please both by avoiding the include and instead |
| defining ETH_ALEN if unset. |
| |
| While being at it, move netinet/ether.h include up. |
| |
| Fixes: 1bdb5535f561a ("libxtables: Extend MAC address printing/parsing support") |
| Signed-off-by: Phil Sutter <phil@nwl.cc> |
| Reviewed-by: Maciej Żenczykowski <maze@google.com> |
| --- a/libxtables/xtables.c |
| +++ b/libxtables/xtables.c |
| @@ -28,6 +28,7 @@ |
| #include <stdlib.h> |
| #include <string.h> |
| #include <unistd.h> |
| +#include <netinet/ether.h> |
| #include <sys/socket.h> |
| #include <sys/stat.h> |
| #include <sys/statfs.h> |
| @@ -45,7 +46,6 @@ |
| |
| #include <xtables.h> |
| #include <limits.h> /* INT_MAX in ip_tables.h/ip6_tables.h */ |
| -#include <linux/if_ether.h> /* ETH_ALEN */ |
| #include <linux/netfilter_ipv4/ip_tables.h> |
| #include <linux/netfilter_ipv6/ip6_tables.h> |
| #include <libiptc/libxtc.h> |
| @@ -72,6 +72,10 @@ |
| #define PROC_SYS_MODPROBE "/proc/sys/kernel/modprobe" |
| #endif |
| |
| +#ifndef ETH_ALEN |
| +#define ETH_ALEN 6 |
| +#endif |
| + |
| /* we need this for ip6?tables-restore. ip6?tables-restore.c sets line to the |
| * current line of the input file, in order to give a more precise error |
| * message. ip6?tables itself doesn't need this, so it is initialized to the |
| @@ -2245,8 +2249,6 @@ void xtables_print_num(uint64_t number, unsigned int format) |
| printf(FMT("%4lluT ","%lluT "), (unsigned long long)number); |
| } |
| |
| -#include <netinet/ether.h> |
| - |
| static const unsigned char mac_type_unicast[ETH_ALEN] = {}; |
| static const unsigned char msk_type_unicast[ETH_ALEN] = {1}; |
| static const unsigned char mac_type_multicast[ETH_ALEN] = {1}; |
| cgit v1.2.3 |