From 489229f3da3ba35265a1ce6fe626dce624bb8000 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 163dd9622a..91d933b640 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.2