From: Christopher Faulet Date: Wed, 27 Feb 2019 15:41:27 +0000 (+0100) Subject: MINOR: stats: Add the status code STAT_STATUS_IVAL to handle invalid requests X-Git-Tag: v2.0-dev2~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c2ecf75c834b9c374f9fc8a46507f90b1f51f3f;p=thirdparty%2Fhaproxy.git MINOR: stats: Add the status code STAT_STATUS_IVAL to handle invalid requests This patch must be backported to 1.9 because a bug fix depends on it. --- diff --git a/include/types/proto_http.h b/include/types/proto_http.h index 21910a91e9..4af1361450 100644 --- a/include/types/proto_http.h +++ b/include/types/proto_http.h @@ -193,6 +193,7 @@ enum { STAT_STATUS_NONE, /* nothing happened (no action chosen or servers state didn't change) */ STAT_STATUS_PART, /* the action is partially successful */ STAT_STATUS_UNKN, /* an unknown error occurred, shouldn't happen */ + STAT_STATUS_IVAL, /* invalid requests (chunked or invalid post) */ STAT_STATUS_SIZE }; diff --git a/src/proto_http.c b/src/proto_http.c index 4361d6db56..0127e23b59 100644 --- a/src/proto_http.c +++ b/src/proto_http.c @@ -84,6 +84,7 @@ const char *stat_status_codes[STAT_STATUS_SIZE] = { [STAT_STATUS_NONE] = "NONE", [STAT_STATUS_PART] = "PART", [STAT_STATUS_UNKN] = "UNKN", + [STAT_STATUS_IVAL] = "IVAL", }; /* This function handles a server error at the stream interface level. The diff --git a/src/stats.c b/src/stats.c index b3935410f7..6f56353301 100644 --- a/src/stats.c +++ b/src/stats.c @@ -2572,6 +2572,16 @@ static void stats_dump_html_info(struct stream_interface *si, struct uri_auth *u (appctx->ctx.stats.flags & STAT_NO_REFRESH) ? ";norefresh" : "", scope_txt); break; + case STAT_STATUS_IVAL: + chunk_appendf(&trash, + "

" + "[X] " + "Invalid requests (unsupported method or chunked encoded request)." + "
\n", uri->uri_prefix, + (appctx->ctx.stats.flags & STAT_HIDE_DOWN) ? ";up" : "", + (appctx->ctx.stats.flags & STAT_NO_REFRESH) ? ";norefresh" : "", + scope_txt); + break; default: chunk_appendf(&trash, "

"