MINOR: tcp-rules: Return an internal error if an action yields on a final eval

On a final evaluation of a tcp-request or tcp-response content ruleset, it is
forbidden for an action to yield. To quickly identify bugs an internal error is
now returned if it happens and a warning log message is emitted.
This commit is contained in:
Christopher Faulet 2020-07-28 11:30:19 +02:00
parent 498c483009
commit 99aaca99b5

View File

@ -161,6 +161,12 @@ resume_execution:
goto end;
case ACT_RET_YIELD:
s->current_rule = rule;
if (partial & SMP_OPT_FINAL) {
send_log(s->be, LOG_WARNING,
"Internal error: yield not allowed if the inspect-delay expired "
"for the tcp-request content actions.");
goto internal;
}
goto missing_data;
case ACT_RET_DENY:
goto deny;
@ -313,6 +319,12 @@ resume_execution:
goto end;
case ACT_RET_YIELD:
s->current_rule = rule;
if (partial & SMP_OPT_FINAL) {
send_log(s->be, LOG_WARNING,
"Internal error: yield not allowed if the inspect-delay expired "
"for the tcp-response content actions.");
goto internal;
}
goto missing_data;
case ACT_RET_DENY:
goto deny;