[squid-dev] [PATCH] Adds support for --long-acl-options

Christos Tsantilas christos at chtsanti.net
Wed May 24 08:31:03 UTC 2017


Adds support for --long-acl-options

This patch adds support for --long-acl-options. The old single-letter 
ACL "flags" code was refactored to support long option names (with 
option-specific value types) without significant per-ACL-object 
performance/RAM overheads and without creating a global registry for all 
possible options. This refactoring (unexpectedly) resulted in removal of 
a lot of unreliable static initialization code.

Refactoring fixed ACL flags parsing code that was dangerously 
misinterpreting -i and +i flags in several contexts. For example, each 
of the three cases below was misinterpreted as if three domains were 
configured (e.g., "+i", "-z", and "example.com") on each line instead of 
one domain ("example.com"):

         acl parsedAsThreeDomains dstdomain +i -i .example.com
         acl parsedAsThreeDomains dstdomain -i +i .example.com
         acl parsedAsThreeDomains dstdomain +i -z .example.com

TODO: Finish ACL::clone() removal. Then consider removing any unused 
ACLData::clone() and associated ACL/ACLData copying methods.

This is a Measurement Factory project.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SQUID249-long-acl-options-t6.patch
Type: text/x-patch
Size: 236529 bytes
Desc: not available
URL: <http://lists.squid-cache.org/pipermail/squid-dev/attachments/20170524/dac3c7fa/attachment-0001.bin>


More information about the squid-dev mailing list