Le 18/09/2020 à 10:47, Christopher Faulet a écrit :
Le 18/09/2020 à 01:33, James Brown a écrit :
git bisect says that this regression was caused
by commit c89077713915f605eb5d716545f182c8d0bf5581

This makes little sense to me, since that commit doesn't touch anything even
slightly related.

As far as I can tell, the proximate issue is that PATCH is not a "well-known
method" to HAproxy, despite being in RFC 5789. find_http_meth is returning
HTTP_METH_OTHER (silently) for it, and there's something hinky with how the
method ACL matcher handles HTTP_METH_OTHER.

I tried to poke the pat_match_meth function with a debugger, but it's not even
being called in v2.2.3 (it /is/ being called in v2.2.2). Did something break in
how custom matchers are called?


I'm able to reproduce the bug. In fact, it was introduced by the commit
05f3910f5 ("BUG/MEDIUM: htx: smp_prefetch_htx() must always validate the
direction"). I attached a patch to fix the bug.


Sorry, it is the wrong patch. I attached a totally unrelated and outdated patch. Anyway, I pushed the fix in the 2.3-dev:

  http://git.haproxy.org/?p=haproxy.git;a=commitdiff;h=d2414a23

It is not backported yet to the 2.2, but you can apply it.

--
Christopher Faulet

Reply via email to