When an action yields while it is not allowed, an internal error is
reported. This interrupts the processing. So info about the last evaluated
rule must be filled.
This patch may be bakcported if needed. If so, the commit ("MINOR: stream:
Save last evaluated rule on invalid yield") must be backported first.
(cherry picked from commit
0b7605491e4ccb66a0468c219306adf354355e0d)
[cf: Of course the mentionned commit to be backported with this one is wrong. It
must be "BUG/MINOR: http-ana: Report internal error if an action yields on
a final eval"].
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
send_log(s->be, LOG_WARNING,
"Internal error: action yields while it is no long allowed "
"for the http-request actions.");
+ s->last_rule_file = rule->conf.file;
+ s->last_rule_line = rule->conf.line;
rule_ret = HTTP_RULE_RES_ERROR;
goto end;
}
send_log(s->be, LOG_WARNING,
"Internal error: action yields while it is no long allowed "
"for the http-response/http-after-response actions.");
+ s->last_rule_file = rule->conf.file;
+ s->last_rule_line = rule->conf.line;
rule_ret = HTTP_RULE_RES_ERROR;
goto end;
}
send_log(s->be, LOG_WARNING,
"Internal error: yield not allowed if the inspect-delay expired "
"for the tcp-request content actions.");
+ s->last_rule_file = rule->conf.file;
+ s->last_rule_line = rule->conf.line;
goto internal;
}
goto missing_data;
send_log(s->be, LOG_WARNING,
"Internal error: yield not allowed if the inspect-delay expired "
"for the tcp-response content actions.");
+ s->last_rule_file = rule->conf.file;
+ s->last_rule_line = rule->conf.line;
goto internal;
}
channel_dont_close(rep);