From: Francesco Chemolli <5175948+kinkie@users.noreply.github.com> Date: Sat, 31 May 2025 18:40:35 +0000 (+0000) Subject: Disable EUI when arpreq is missing and cannot be defined (#2070) X-Git-Tag: SQUID_7_0_2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=489229f3da3ba35265a1ce6fe626dce624bb8000;p=thirdparty%2Fsquid.git 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. --- 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)