--------------------- PatchSet 5555 Date: 2007/08/29 05:31:27 Author: amosjeffries Branch: squid3-ipv6 Tag: (none) Log: Located different _res structure fields for FreeBSD. Members: configure.in:1.63.2.51->1.63.2.52 src/dnsserver.cc:1.7.4.16->1.7.4.17 Index: squid3/configure.in =================================================================== RCS file: /cvsroot/squid-sf//squid3/configure.in,v retrieving revision 1.63.2.51 retrieving revision 1.63.2.52 diff -u -r1.63.2.51 -r1.63.2.52 --- squid3/configure.in 28 Aug 2007 01:35:08 -0000 1.63.2.51 +++ squid3/configure.in 29 Aug 2007 05:31:27 -0000 1.63.2.52 @@ -1,7 +1,7 @@ dnl Configuration input file for Squid dnl -dnl $Id: configure.in,v 1.63.2.51 2007/08/28 01:35:08 amosjeffries Exp $ +dnl $Id: configure.in,v 1.63.2.52 2007/08/29 05:31:27 amosjeffries Exp $ dnl dnl dnl @@ -11,7 +11,7 @@ AC_CONFIG_AUX_DIR(cfgaux) AC_CONFIG_SRCDIR([src/main.cc]) AM_INIT_AUTOMAKE([tar-ustar]) -AC_REVISION($Revision: 1.63.2.51 $)dnl +AC_REVISION($Revision: 1.63.2.52 $)dnl AC_PREFIX_DEFAULT(/usr/local/squid) AM_MAINTAINER_MODE @@ -3256,6 +3256,46 @@ fi dnl Detect what resolver fields we need to use... +##### +struct __res_state_ext { + struct sockaddr_storage nsaddr_list[MAXNS]; + struct { + int af; /* address family for addr, mask */ + union { + struct in_addr ina; + struct in6_addr in6a; + } addr, mask; + } sort_list[MAXRESOLVSORT]; +}; +####### + +AC_CACHE_CHECK(for _res_ext.nsaddr_list, ac_cv_have_res_ext_nsaddr_list, +AC_TRY_COMPILE([ +#if HAVE_SYS_TYPES_H +#include +#endif +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_ARPA_INET_H +#include +#endif +#if HAVE_ARPA_NAMESER_H +#include +#endif +#if HAVE_RESOLV_H +#include +#endif +], +[_res_ext.nsaddr_list[[0]].s_addr;], +ac_cv_have_res_ext_nsaddr_list="yes", +ac_cv_have_res_ext_nsaddr_list="no")) +if test "$ac_cv_have_res_ext_nsaddr_list" = "yes" ; then + AC_DEFINE(_SQUID_RES_NSADDR6_LIST,_res_ext.nsaddr_list,[If _res_ext structure has nsaddr_list member]) + AC_DEFINE(_SQUID_RES_NSADDR6_COUNT,ns6count,[Nameserver Counter for IPv6 _res_ext]) +fi + +if test "$_SQUID_RES_NSADDR6_LIST" == ""; then AC_CACHE_CHECK(for _res._u._ext.nsaddrs, ac_cv_have_res_ext_nsaddrs, AC_TRY_COMPILE([ #if HAVE_SYS_TYPES_H @@ -3281,6 +3321,7 @@ AC_DEFINE(_SQUID_RES_NSADDR6_LIST,_res._u._ext.nsaddrs,[If _res structure has _ext.nsaddrs member]) AC_DEFINE(_SQUID_RES_NSADDR6_COUNT,_res._u._ext.nscount6,[Nameserver Counter for IPv6 _res]) fi +fi AC_CACHE_CHECK(for _res.nsaddr_list, ac_cv_have_res_nsaddr_list, AC_TRY_COMPILE([ Index: squid3/src/dnsserver.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/dnsserver.cc,v retrieving revision 1.7.4.16 retrieving revision 1.7.4.17 diff -u -r1.7.4.16 -r1.7.4.17 --- squid3/src/dnsserver.cc 27 Aug 2007 14:09:58 -0000 1.7.4.16 +++ squid3/src/dnsserver.cc 29 Aug 2007 05:31:31 -0000 1.7.4.17 @@ -1,6 +1,6 @@ /* - * $Id: dnsserver.cc,v 1.7.4.16 2007/08/27 14:09:58 amosjeffries Exp $ + * $Id: dnsserver.cc,v 1.7.4.17 2007/08/29 05:31:31 amosjeffries Exp $ * * DEBUG: section 0 DNS Resolver * AUTHOR: Harvest Derived @@ -323,6 +323,9 @@ char request[512]; char *t = NULL; int c; +#if _SQUID_FREEBSD_ + int ns6count = 0; +#endif #if HAVE_RES_INIT IPAddress ipa;