mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-18 01:14:38 +00:00
BUG/MEDIUM: peers: fix incorrect age in frequency counters
The frequency counters's window start is sent as "now - freq.date", which is a positive age compared to the current date. But on receipt, this age was added to the current date instead of subtracted. So since the date was always in the future, they were always expired if the activity changed side in less than the counter's measuring period (eg: 10s). This bug was reported by Christian Ruppert who also provided an easy reproducer. It needs to be backported to 1.6.
This commit is contained in:
parent
42ff05e2d3
commit
3bb46177ac
@ -1152,7 +1152,7 @@ switchstate:
|
||||
case STD_T_FRQP: {
|
||||
struct freq_ctr_period data;
|
||||
|
||||
data.curr_tick = tick_add(now_ms, intdecode(&msg_cur, msg_end));
|
||||
data.curr_tick = tick_add(now_ms, -intdecode(&msg_cur, msg_end));
|
||||
if (!msg_cur) {
|
||||
/* malformed message */
|
||||
appctx->st0 = PEER_SESS_ST_ERRPROTO;
|
||||
|
Loading…
Reference in New Issue
Block a user