Hi Willy,

>-----Original Message-----
>From: Nikhil Kapoor 
>Sent: Tuesday, March 20, 2018 5:09 PM
>To: 'Willy Tarreau' <w...@1wt.eu>; Jonathan Matthews <cont...@jpluscplusm.com>
>Cc: haproxy@formilux.org
>Subject: RE: BUG/MINOR: limiting the value of "inter" parameter for Health 
>check

>Hi Willy,

>-----Original Message-----
>From: Willy Tarreau [mailto:w...@1wt.eu]
>Sent: Thursday, March 8, 2018 10:18 PM
>To: Jonathan Matthews <cont...@jpluscplusm.com>
>Cc: Nikhil Kapoor <nikhi...@india.nec.com>; haproxy@formilux.org
>Subject: Re: BUG/MINOR: limiting the value of "inter" parameter for Health 
>check

>Hi Jonathan,

>On Wed, Mar 07, 2018 at 09:38:00PM +0000, Jonathan Matthews wrote:
>> On Wed, 7 Mar 2018 at 09:50, Nikhil Kapoor <nikhi...@india.nec.com> 
>> wrote
>> 
>> > As currently, no parsing error is displayed when larger value is 
>> > given to "inter" parameter in config file.
>> >
>> > After applying this patch the maximum value of "inter" is set to 24h (i.e.
>> > 86400000 ms).
>> >
> 
>>> I regret to inform you, with no little embarrassment, that some years 
>>> ago I designed a system which relied upon this parameter being set 
>>> higher than 24 hours.
> 
>>> I was not proud of this system, and it served absolutely minimal 
>>> quantities of traffic ... but it was a valid setup.
> 
> >What's the rationale for having *any* maximum value here - saving 
> >folks from unintentional misconfigurations, or something else?

>>I agree with you here. In fact what we should do is instead strengthen 
>
>>the timeout parser to emit errors when the parsed number >overflows. 
>>The timer wraps around 49.7 days with a sliding window of half of it 
>>allowing
>>24.85 usable days to always be possible. That would be preferable and it 
>>wouldn't set any arbitrary had limits.


>After analyzing the code on the given problem, I found that the check is based 
>on INT_MAX value and will only be executed when >"stick-table" option is 
>included in haproxy.cfg file.

>However for a user, if "stick-table" option is not used in haproxy.cfg file 
>then there is no other limit(24.85 days) in the haproxy code.
>I believe the below check should not be based on "stick-table" option and 
>should run every time when haproxy is started. 
>Please let me know if there is any gap in understanding and we can perform the 
>code change as mentioned.

>File-> cfgparse.c
>-->  if (val > INT_MAX ) {
                                        ha_alert("parsing [%s:%d] : Expire 
value [%u]ms exceeds maxmimum value of 24.85 days.\n",
                                                 file, linenum, val);
                                        err_code |= ERR_ALERT | ERR_FATAL;
                                        goto out;


Along with the above understanding I am starting with the patch creation. 
Please let me know if there is any gap.  

Regards
Nikhil Kapoor










Reply via email to