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

Christos Tsantilas christos at chtsanti.net
Mon Jun 12 14:50:18 UTC 2017


Patch applied to trunk as r15188 with the requested fixes.

Στις 10/06/2017 04:30 μμ, ο Amos Jeffries έγραψε:
> On 24/05/17 20:31, Christos Tsantilas wrote:
>> 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.
>>
> 
> Okay, think I've got it now. Sorry it took so long to get around to. I'm 
> not completely sure I saw everything yet, but I'm unlikely to do a 
> better job of review anytime soon.
> 
> Just one thing to add on top of Ales' requests:
> 
> * please use src/acl/forward.h instead of AclRegs.h to define the global 
> Init() function. There is no real need AFAICT to add the new file now 
> only to remove again in the followup patch that will be needed to move 
> AclRegs.cc into src/acl/ where it belongs.
> 
> 
> +1 with the above change and Alexs' polishing requests.
> 
> 
> Amos
> 


More information about the squid-dev mailing list