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

_______________________________________________
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev

Reply via email to