Re: [squid-users] --enable-arp-acl compiling error

From: Guido Serassio <guido.serassio@dont-contact.us>
Date: Tue, 25 Jul 2006 11:56:14 +0200

Hi,

At 11.16 25/07/2006, =?iso-8859-9?Q?G=F6khan?= wrote:

>system is openbsd.3.9 and squid.2.6. i saw notes "Squid calls these ``ARP
>ACLs'' and they are supported on Linux, Solaris, and probably BSD
>variants." in FAQ. when i compile --enable-arp-acl options i get error
>like this
....
>can i install squid with --enable-arp-acl options on my openbsd.3.9 ?

Looking to the old BSD (disabled) code, it seems very similar to the
actual FreeBSD code, so you can try the following patch:

Index: src/acl.c
===================================================================
RCS file: /cvsroot/squid/squid/src/acl.c,v
retrieving revision 1.305
diff -u -p -r1.305 acl.c
--- src/acl.c 21 Jul 2006 15:20:23 -0000 1.305
+++ src/acl.c 25 Jul 2006 09:52:56 -0000
@@ -3072,7 +3072,7 @@ struct arpreq {
  #include <net/route.h>
  #endif
  #include <net/if.h>
-#ifdef _SQUID_FREEBSD_
+#if defined(_SQUID_FREEBSD_) || defined(_SQUID_OPENBSD_)
  #include <net/if_arp.h>
  #endif
  #if HAVE_NETINET_IF_ETHER_H
@@ -3292,7 +3292,8 @@ aclMatchArp(void *dataptr, struct in_add
             inet_ntoa(c), splayLastResult ? "NOT found" : "found");
         return (0 == splayLastResult);
      }
-#elif defined(_SQUID_FREEBSD_)
+#elif defined(_SQUID_FREEBSD_) || defined(_SQUID_OPENBSD_)
+
      struct arpreq arpReq;
      struct sockaddr_in ipAddr;
      splayNode **Top = dataptr;
@@ -3448,7 +3449,7 @@ aclArpCompare(const void *a, const void
         return (d1[4] > d2[4]) ? 1 : -1;
      if (d1[5] != d2[5])
         return (d1[5] > d2[5]) ? 1 : -1;
-#elif defined(_SQUID_FREEBSD_)
+#elif defined(_SQUID_FREEBSD_) || defined(_SQUID_OPENBSD_)
      const unsigned char *d1 = a;
      const unsigned char *d2 = b;
      if (d1[0] != d2[0])

But this should not be enough: we need to understand this error:

/usr/include/uvm/uvm_extern.h:264: error: syntax error before '+' token

What is the content of this line ?

Regards

Guido

-
========================================================
Guido Serassio
Acme Consulting S.r.l. - Microsoft Certified Partner
Via Lucia Savarino, 1 10098 - Rivoli (TO) - ITALY
Tel. : +39.011.9530135 Fax. : +39.011.9781115
Email: guido.serassio@acmeconsulting.it
WWW: http://www.acmeconsulting.it/
Received on Tue Jul 25 2006 - 03:56:27 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Aug 01 2006 - 12:00:02 MDT