BUG/MINOR: stats: fix compare of no-maint url suffix

Only the first 3 characters are compared for ';no-maint' suffix in
http_handle_stats. Fix it by doing a full match over the entire suffix.

As a side effect, the ';norefresh' suffix matched the inaccurate
comparison, so the maintenance servers were always hidden on the stats
page in this case.

no-maint suffix is present since commit
  3e32036701
  MINOR: stats: also support a "no-maint" show stat modifier

It should be backported up to 2.3.

This fixes github issue #1147.
This commit is contained in:
Amaury Denoyelle 2021-02-25 14:46:08 +01:00
parent 6c93c4ef08
commit 91e55ea3f3

View File

@ -3950,7 +3950,10 @@ static int http_handle_stats(struct stream *s, struct channel *req)
appctx->ctx.stats.flags |= STAT_HIDE_DOWN;
break;
}
if (memcmp(h, ";no-maint", 3) == 0) {
}
for (h = lookup; h <= end - 9; h++) {
if (memcmp(h, ";no-maint", 9) == 0) {
appctx->ctx.stats.flags |= STAT_HIDE_MAINT;
break;
}