apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cliff Woolley <cliffwool...@yahoo.com>
Subject apr_socket_accept_filter()
Date Wed, 25 Jul 2001 03:12:23 GMT

I'm trying to clear up a warning on FreeBSD related to
apr_socket_accept_filter() (no prototype).  The problem is that
apr_network_io.h has an #ifdef APR_OS_ACCEPT_FILTER around the prototype
for that function, and APR_OS_ACCEPT_FILTER doesn't exist anywhere else in
the code.  [The prototype is wrong anyway, but that's easy to fix.]  It
gets worse.

I see about five variations of the name of this macro, as follows:

1) configure.in and apr.h.in check sys/socket.h for SO_ACCEPT_FILTER and
set APR_HAS_SO_ACCEPT_FILTER and...

2) HAVE_SO_ACCEPT_FILTER  [shouldn't #1 be APR_HAVE_SO_ACCEPT_FILTER?]

3) apr_network_io.h has an #ifdef APR_OS_ACCEPT_FILTER around the
prototype as mentioned above

4) network_io/unix/sockopt.c uses #ifdef SO_ACCEPTFILTER around the
function itself, pulling directly from the system header.

5) Apache's server/listen.c has a test for #ifdef APR_HAS_SO_ACCEPTFILTER.
(Note that this is *not* the same as #1.)

Sheesh!!


FreeBSD is the only platform I've been able to find (checked Solaris 2.6,
Linux, Irix, AIX, FreeBSD) that has either SO_ACCEPTFILTER or
SO_ACCEPT_FILTER in any system header file.  On FreeBSD, it's called
SO_ACCEPTFILTER.  Is there any platform that defines SO_ACCEPT_FILTER,
which is what configure is currently checking for?  If so, which one?  If
not, I'll change configure.in and apr.h.in appropriately and go from
there.

Thanks,
Cliff

--------------------------------------------------------------
   Cliff Woolley
   cliffwoolley@yahoo.com
   Charlottesville, VA




Mime
View raw message