From: wessels <> Date: Sat, 3 Nov 2007 10:49:53 +0000 (+0000) Subject: Looks like 'dstdomain' and 'dstdomain_regex' ACLs were broken. X-Git-Tag: SQUID_3_0_STABLE1~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1958d18044f2cb4fd58a1e7082d5ad0a8aa62e46;p=thirdparty%2Fsquid.git Looks like 'dstdomain' and 'dstdomain_regex' ACLs were broken. The dst_addr member of ACLChecklist class was never set so certain reverse lookups for 'dstdomain' and 'dstdomain_regex' ACLs probably were not working. This patch sets dst_addr before (potentially) doing the non-blocking lookup. --- diff --git a/src/ACLDestinationDomain.cc b/src/ACLDestinationDomain.cc index f48e7e005a..68739f53bb 100644 --- a/src/ACLDestinationDomain.cc +++ b/src/ACLDestinationDomain.cc @@ -1,5 +1,5 @@ /* - * $Id: ACLDestinationDomain.cc,v 1.14 2007/09/21 11:41:52 amosjeffries Exp $ + * $Id: ACLDestinationDomain.cc,v 1.15 2007/11/03 04:49:53 wessels Exp $ * * DEBUG: section 28 Access Control * AUTHOR: Duane Wessels @@ -85,7 +85,8 @@ ACLDestinationDomainStrategy::match (ACLData * &data, ACLChecklist *c if ((ia = ipcacheCheckNumeric(checklist->request->host)) == NULL) return 0; - fqdn = fqdncache_gethostbyaddr(ia->in_addrs[0], FQDN_LOOKUP_IF_MISS); + checklist->dst_addr = ia->in_addrs[0]; + fqdn = fqdncache_gethostbyaddr(checklist->dst_addr, FQDN_LOOKUP_IF_MISS); if (fqdn) { return data->match(fqdn);