BUG/MINOR: http: Return an error when a replace-header rule failed on the response

Historically, http-response rules couldn't produce errors generating HTTP
responses during their evaluation. This possibility was "implicitly" added with
http-response redirect rules (51d861a4). But, at the time, replace-header rules
were kept untouched. When such a rule failed, the rules processing was just
stopped (like for an accept rule).

Conversely, when a replace-header rule fails on the request, it generates a HTTP
response (400 Bad Request).

With this patch, errors on replace-header rule are now handled in the same way
for HTTP requests and HTTP responses.

This patch should be backported in 1.7 and 1.6.
This commit is contained in:
Christopher Faulet 2017-02-08 12:41:31 +01:00 committed by Willy Tarreau
parent 07a0fecced
commit cdade94cf5

View File

@ -3823,7 +3823,7 @@ resume_execution:
rule->arg.hdr_add.name_len,
&rule->arg.hdr_add.fmt,
&rule->arg.hdr_add.re, rule->action))
return HTTP_RULE_RES_STOP; /* note: we should report an error here */
return HTTP_RULE_RES_BADREQ;
break;
case ACT_HTTP_DEL_HDR: