Hi all,

I should be able to test this in our production setup a few days after I can 
have an rpm ready with the patch we are running on rhel 6.x

Merci Cyril


---
Guillaume Bourque, B.Sc.,


Le 2015-11-24 à 16:58, Cyril Bonté <cyril.bo...@free.fr> a écrit :

> Hi all,
> 
> I revive this thread.
> 
> Le 12/11/2015 09:59, Igor Cicimov a écrit :
>> 
>> 
>> On Thu, Nov 12, 2015 at 6:44 PM, Guillaume Bourque
>> <guillaume.bour...@logisoftech.com
>> <mailto:guillaume.bour...@logisoftech.com>> wrote:
>> 
>>    Hi,
>> 
>>    thanks for the suggestion but it did not work for me.   I tried
>> 
>>        acl fr_top                  url_reg                /?lang=
>>        acl fr_top                  url_reg                /?lang=$
>>         # off acl fr_top                            urlp_reg(lang\=$,?)
>>         -m found
>>         # off acl fr_top                            urlp_reg(lang\=$,?)
>>         -m found
>> 
>>    but with no luck
> 
> I think that using "urlp" should have done the job but that the 
> implementation in haproxy is not correct for one specific case.
> 
> Currently, haproxy won't match an url parameter if its value is empty. I tend 
> to think it should : an empty value is different from not providing the 
> parameter at all.
> 
> The function "find_next_url_param()" should unconditionally return "1" when a 
> parameter is found, instead of "value_end != value_start" :
> http://www.haproxy.org/git?p=haproxy.git;a=blob;f=src/proto_http.c;h=77a52078d0d0d458ed7f0233dfda87eca247d2c2;hb=HEAD#l11661
> 
> This would allow some rules like :
>    acl LANG_FR_NONE urlp_reg(lang) ^(fr)?$
>    acl LANG_EN      urlp(lang) en
> 
>    http-request redirect location /    if { path / } LANG_FR_NONE
>    http-request redirect location /en  if { path / } LANG_EN
> 
> 
> If it's ok for everyone, I can provide a small patch (which will also fix 
> some invalid code comments on top of this function).
> 
> 
> -- 
> Cyril Bonté

Reply via email to