From 0b7605491e4ccb66a0468c219306adf354355e0d Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 29 Oct 2024 18:15:20 +0100 Subject: [PATCH] MINOR: stream: Save last evaluated rule on invalid yield 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. --- src/http_ana.c | 4 ++++ src/tcp_rules.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/http_ana.c b/src/http_ana.c index af365ac229..ab9124d792 100644 --- a/src/http_ana.c +++ b/src/http_ana.c @@ -2748,6 +2748,8 @@ static enum rule_result http_req_get_intercept_rule(struct proxy *px, struct lis 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; } @@ -2920,6 +2922,8 @@ resume_execution: 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; } diff --git a/src/tcp_rules.c b/src/tcp_rules.c index 9ce6c90374..2613056f7d 100644 --- a/src/tcp_rules.c +++ b/src/tcp_rules.c @@ -175,6 +175,8 @@ resume_execution: 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; @@ -357,6 +359,8 @@ resume_execution: 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); -- 2.47.2