]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: stats: fix compare of no-maint url suffix
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 25 Feb 2021 13:46:08 +0000 (14:46 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 25 Feb 2021 13:59:17 +0000 (14:59 +0100)
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
  3e320367014c742814ba494594cdb8340b1161f1
  MINOR: stats: also support a "no-maint" show stat modifier

It should be backported up to 2.3.

This fixes github issue #1147.

src/http_ana.c

index 4b74626e0439dff85e1cdcdd252a16e86daa8ac5..84324eb20092f9f57aecc95f36ecbd3c0157b9a3 100644 (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;
                }