access_log acl not observing my_port

From: Stephen Thorne <stephen_at_netboxblue.com>
Date: Fri, 14 Nov 2008 15:38:19 +1000

G'day,

I've been looking into a problem we've observed where this situation
does not work as expected, this is in squid-2.7.STABLE4:

acl direct myport 8080
access_log /var/log/squid/direct_proxy.log common direct

I did some tracing through the code and established that this chain of
events occurs:
httpRequestFree calls clientAclChecklistCreate calls aclChecklistCreate

But aclChecklistCacheInit is the function that populates the
checklist->my_port, which is required for a myport acl to work, and it
isn't called.

I have attached a patch that fixes this particular problem for me, which
simply calls aclChecklistCacheInit in clientAclChecklistCreate.

-- 
Regards,
Stephen Thorne
Development Engineer
NetBox Blue - 1300 737 060
Scanned by the NetBox from NetBox Blue
(http://netboxblue.com/)
Scanned by the NetBox from NetBox Blue
(http://netboxblue.com/)

--- squid/src/client_side.c 2008-11-14 15:07:55.000000000 +1000
+++ squid/src/client_side.c.new 2008-11-14 15:08:32.000000000 +1000
@@ -211,6 +211,7 @@
     ch = aclChecklistCreate(acl,
         http->request,
         conn->rfc931);
+ aclChecklistCacheInit(ch);
 
     /*
      * hack for ident ACL. It needs to get full addresses, and a
Received on Fri Nov 14 2008 - 05:46:37 MST

This archive was generated by hypermail 2.2.0 : Fri Nov 14 2008 - 12:00:03 MST