Hi.
Wed May 15 05:07:05 GMT+02:00 2019 Willy Tarreau : > Hi Tim, > > On Tue, May 14, 2019 at 08:57:55PM +0200, Tim Duesterhus wrote: > > Okay, I did a sweep through the configuration parser and: > > > > 1. Made deprecated directives fatal and removed them from the docs. The > > error messages speak of "HAProxy 2.1", thus it should be merged into > > some kind of 'next' branch. > > 2. Made deprecated directives actually warn and remove them from the docs > > as well. No need to document deprecated options, users can simply peek > > into the old docs. Also the error messages are pretty clear on what > > needs to be done to fix it. > > OK, I think we can take all of these for a next branch indeed. Two of > them, the one adding a warning and the one removing the unused keyword > could be picked for 2.0 if you agree. Also I'll rename them "MEDIUM" as > they do change something in a way that is fixable by configuration, > these are not just functionally equivalent code cleanups. > > > What I did not update: > > > > 1. Usage of deprecated directives in the 'tests' directory. The fact that > > the tests still use deprecated directives indicates that no one even > > uses them any more. Maybe these tests should outright be removed? > > Many times I thought about removing them. But each time I look at them > I figure that some *might* still be usable. Now that we have the regtests > probably this is not true anymore. I also suspect a few of them are > referenced in the internal state machine tests, and might need to be > completely converted to regtests before being removed. > > > 2. 'req*' and 'rsp*'. I remember that they allow some modification that > > cannot easily be replicated otherwise (but I'll have to check that > > first). > > Sure but practically speaking such modifications do not make sense in > the real world (e.g. rename many header names at once). And the "excuse" > above has been the reason for continually postponing their removal. I'd > instead vote for warning on them in 2.0 and removing them very early in > 2.1. If someone has a compelling use case, we'll get some feedback thanks > to the warning and it will still be possible to figure how to implement > a replacement using http-request rules. This would be very helpfully. For example such a generic replacement could be like this? http://cbonte.github.io/haproxy-dconv/1.9/configuration.html#4.2-reqrep # replace "/static/" with "/" at the beginning of any request path. reqrep ^([^\ :]*)\ /static/(.*) \1\ /\2 # replace http://cbonte.github.io/haproxy-dconv/1.9/configuration.html#4.2-http-request%20set-path http-request set-path %[path,regsub(/static/(.*),\1,g) > > What I wasn't sure about: The 'transparent' directive. It is deprecated in > > the docs, but it does not warn. When taking a look into the configuration > > parser it appears to set different flags compared to 'option transparent'. > > Can you please take a look at this and either add an appropriate warning or > > remove the deprecated note from the docs? > > This vaguely reminds me something indeed, I'll need to have a look at > this. We may even discover that one of them is bogus :-) > > Thanks, > Willy Regards Aleks

