https://bugs.exim.org/show_bug.cgi?id=2318
Bug ID: 2318
Summary: noerror command in filter file is not working
Product: Exim
Version: 4.91
Hardware: All
OS: All
Status: NEW
Severity: bug
Priority: medium
Component: Filters
Assignee: nigel@???
Reporter: m.kurz@???
CC: exim-dev@???
Created attachment 1114
-->
https://bugs.exim.org/attachment.cgi?id=1114&action=edit
Test for the noerror command in a filter file
See the attached test 0616:
---
1. A message gets send to userx.
2. The router that handles userx processes a filter file.
3. That filter file (also) delivers the message to usery.
3.1. "unseen" makes the delivery not significant (userx also continues
processing).
3.2. "noerror" is set.
4. Now both addresses get processed by the (same) smtp transport.
4.1. userx gets accepted.
4.2. usery however gets rejected (550)
What happens now is a bug I think:
For usery a bounce gets send (see 10HmaY-0005vi-00 in the log) even though
"noerror" was set.
Let's see what the docs say about the noerror command
(
https://www.exim.org/exim-html-current/doc/html/spec_html/filter_ch-exim_filter_files.html#SEC43):
---
> ... If any of the generated addresses subsequently suffers a delivery failure, an error message is generated in the normal way. However, if a filter command that sets up a delivery is preceded by the word ânoerrorâ, errors for that delivery, (...) are ignored.
The "error ignored" log entry is also relevant here
(
https://www.exim.org/exim-html-current/doc/html/spec_html/ch-log_files.html#SECID259):
---
> There are several circumstances that give rise to this message:
> ...
> 2. A filter file set up a delivery using the ânoerrorâ option, and the delivery failed. The delivery was discarded.
Therefore instead of the bounce message I would expect "error ignored" to be
logged.
So is that a bug or do I misunderstand how to use the noerror commmand and/or
how it works exactly?
Because I debugged it, I am also sure following statement in filter.c gets
processed - which supports my thought even more that this is a bug
(
https://git.exim.org/exim.git/blob/8768d5483a5894400ae1f70cda1beb44ed9b087c:/src/src/filter.c#l1818):
---
if (commands->noerror) addr->prop.ignore_error = TRUE;
Possible solutions:
---
1. If that is a bug it should get fixed ;) and the log in my test needs to be
updated of course to reflect the correct behavour.
2. If that is not a bug, can someone please update my test or provide a new one
which sets up a test case for the noerror command so that "error ignored" gets
logged? I just wasn't able to do so. Also there is not a single test for the
noerror command yet.
--
You are receiving this mail because:
You are on the CC list for the bug.