]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Looks like 'dstdomain' and 'dstdomain_regex' ACLs were broken.
authorwessels <>
Sat, 3 Nov 2007 10:49:53 +0000 (10:49 +0000)
committerwessels <>
Sat, 3 Nov 2007 10:49:53 +0000 (10:49 +0000)
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.

src/ACLDestinationDomain.cc

index f48e7e005adf17d5e25b8de060394ec67d4f0f77..68739f53bbda71594b82338e08025c8e38b07f44 100644 (file)
@@ -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<MatchType> * &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);