On 09/14/2012 01:23 AM, Kinkie wrote: > 3. define a sane overall syntax,
This may be a good time to do that indeed, so that we do not subject admins to two or more syntax upgrades. I can sketch the rules based on the ideas in the post that opened this thread. > ignoring backwards compatibility, and > supply a translation tool which can be invoked as a filter > automatically if a legacy syntax is detected. I do not think supplying an external tool that rewrites/upgrades old configurations is sufficient because some configurations will include 3rd party files in locations that cannot be written to. I do not know whether we have enough courage to ignore such, arguably rare, cases. Another argument I have heard quite often in similar situations is "we want to be able to switch back and forth between old and new Squid version; if you change the syntax, it would be difficult for us to do that". Again, a toggle approach would solve that (if the old version is patched to support the toggle with the "old style" value as a no-op). Thank you, Alex. > On Fri, Sep 14, 2012 at 1:22 AM, Marcus Kool > <[email protected]> wrote: >> >> >> On 09/13/2012 07:16 PM, Alex Rousskov wrote: >>> >>> 2) Add squid.conf directives to turn the new parsing behavior on and off >>> for a section of the configuration file. This is also 100% backward >>> compatible but difficult to introduce gradually -- admins will expect >>> everything inside a "quoted strings" section to support quoted strings, >>> and I am not 100% sure we can easily support that because different >>> options use different token parsers. >>> >>> # start new quoting support section >>> configuration_value_parser quoted_strings >>> # now just use the new quoting support >>> acl badOne1 user_cert CN "Bad Guy" >>> acl badOne2 ext_user "Bad Guy" >>> >>> # restore backward-compatible mode >>> configuration_value_parser bare_tokens >>> acl oldOne user_cert CN One" "Two and Four" >> >> >> 2b) Add squid.conf directives _at the beginning_ of the conf file >> to specify the parser behavior. So do not toggle and force the admin >> to be aware of quoted strings and _must_ check the whole config file >> himself. >> The default value of "config_used_quoted_strings" is "off". >> This is still 100% backwards compatible without doing lots (?) of effort >> to please everybody and every situation. >> >> Marcus > > >
