]> git.kaiwu.me - haproxy.git/commitdiff
BUG/MINOR: http-act: set-status() must check the response message, not the request
authorWilly Tarreau <w@1wt.eu>
Mon, 11 May 2026 13:01:30 +0000 (15:01 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 11 May 2026 14:04:19 +0000 (16:04 +0200)
action_http_set_status() checks for soft rewrite on the request message
by mistake instead of the response message. This could possibly cause a
rewrite failure when soft rewrite is enabled since it will not be seen
there, though the impact is extremely low. It can be backported.

src/http_act.c

index 2dcbe89d27377fb86293bdf01bd67008ba14e77d..9b9b5207da39ad3bdbf8bdc07ae25c43be68f67f 100644 (file)
@@ -656,7 +656,7 @@ static enum act_return action_http_set_status(struct act_rule *rule, struct prox
                if (s->sv_tgcounters)
                        _HA_ATOMIC_INC(&s->sv_tgcounters->failed_rewrites);
 
-               if (!(s->txn.http->req.flags & HTTP_MSGF_SOFT_RW)) {
+               if (!(s->txn.http->rsp.flags & HTTP_MSGF_SOFT_RW)) {
                        if (!(s->flags & SF_ERR_MASK))
                                s->flags |= SF_ERR_PRXCOND;
                        return ACT_RET_ERR;