From: Christopher Faulet Date: Fri, 13 Jun 2025 09:19:50 +0000 (+0200) Subject: BUG/MINOR: http-ana: Properly handle keep-query redirect option if no QS X-Git-Tag: v3.1.9~138 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=95e8b55d87bfa300561a59f03fe1cfdb684ee245;p=haproxy-3.1.git BUG/MINOR: http-ana: Properly handle keep-query redirect option if no QS The keep-query redirect option must do nothing is there is no query-string. However, there is a bug. When there is no QS, an error is returned, leading to return a 500-internal-error to the client. To fix the bug, instead of returning 0 when there is no QS, we just skip the QS processing. This patch should fix the issue #3005. It must be backported as far as 3.1. (cherry picked from commit edb8f2bb60d11cc92895e6cf1cb05e5b6cdc51d7) Signed-off-by: Christopher Faulet (cherry picked from commit c7fc5c4741e70322cb97bb1d913ff6db86ab0ab2) Signed-off-by: Christopher Faulet --- diff --git a/src/http_ana.c b/src/http_ana.c index b2a50d4..2afb78c 100644 --- a/src/http_ana.c +++ b/src/http_ana.c @@ -2468,7 +2468,7 @@ int http_apply_redirect_rule(struct redirect_rule *rule, struct stream *s, struc /* look up the '?' */ do { if (ptr == end) - return 0; + break; } while (*ptr++ != '?'); if (ptr == end)