From a0db18c71bffb44182d112204a90039333fa95b7 Mon Sep 17 00:00:00 2001 From: Francesco Chemolli <5175948+kinkie@users.noreply.github.com> Date: Sat, 31 May 2025 18:40:35 +0000 Subject: [PATCH] Disable EUI when arpreq is missing and cannot be defined (#2070) OpenBSD 7.7 provides a net/if_arp.h header file, but it doesn't provide a `struct arpreq`, which is necessary for our EUI implementation to work. Disable EUI when arpreq definition is missing, except on Windows where we provide our own. --- configure.ac | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/configure.ac b/configure.ac index 21af96da5c..ba7666ecb4 100644 --- a/configure.ac +++ b/configure.ac @@ -986,6 +986,21 @@ include [], [], [[ #if HAVE_SYS_PARAM_H #include +#endif + ]]) + AC_CHECK_MEMBER([struct arpreq.arp_pa],[],[ + AS_IF([test "x$squid_host_os" != "xmingw" -a "x$squid_host_os" != "xcygwin"],[ + AC_MSG_NOTICE([OS support for EUI seems incomplete, disabling it]) + enable_eui=no + ])],[[ +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_SYS_SOCKET_H +#include +#endif +#if HAVE_NET_IF_ARP_H +#include #endif ]]) SQUID_STATE_ROLLBACK(LIBEUI) -- 2.47.3