Re: [iptables PATCH] Revert "fix build for missing ETH_ALEN definition"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nick, Maciej, does this patch work for you?

On Wed, May 18, 2022 at 04:20:46PM +0200, Phil Sutter wrote:
> 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@xxxxxx>
> ---
>  libxtables/xtables.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/libxtables/xtables.c b/libxtables/xtables.c
> index 96fd783a066cf..0638f9271c601 100644
> --- 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};
> -- 
> 2.34.1
> 
> 



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux