#1051713 exim4-daemon-heavy 4.96-22: misbehavior in string expansion function reduce combined with inlisti function #1051713
- Package:
- exim4-daemon-heavy
- Source:
- exim4-daemon-heavy
- Description:
- Exim MTA (v4) daemon with extended features, including exiscan-acl
- Submitter:
- Date:
- 2026-02-05 17:39:02 UTC
- Severity:
- normal
Dear Maintainer,
Installed Packages list:
* ii exim4 4.96-22 all
* ii exim4-base 4.96-22 amd64
* ii exim4-config 4.96-22 all
* ii exim4-daemon-heavy 4.96-22 amd64
example calling command :
exim -be '${reduce {<\n 1.1.1.1\n2.2.2.2\n3.3.3.3\n4.4.4.4\n4.4.4.4\n}{}{${if !inlisti{$item}{<\n $value}{$value$item\n}{$value}}}}'
output is :
4.4.4.4 -> last 4.4.4.4 not matched in list and last value is the output
Counter check with exim4 4.94.2 :
Installed Packages list:
* ii exim4 4.94.2-7 all
* ii exim4-base 4.94.2-7 amd64
* ii exim4-config 4.94.2-7 all
* ii exim4-daemon-heavy 4.94.2-7 amd64
exim -be '${reduce {<\n 1.1.1.1\n2.2.2.2\n3.3.3.3\n4.4.4.4\n4.4.4.4\n}{}{${if !inlisti{$item}{<\n $value}{$value$item\n}{$value}}}}'
output is :
1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4 -> last 4.4.4.4 matches in list and the reduced list is the output (double 4.4.4.4 removed)
BR
Sascha
[...] [...] Hello, I had forwarded this upstream to https://bugs.exim.org/show_bug.cgi?id=3024 and received diagnosis/help there. Short summary follows, but please read the original response there. This seems to be not directly fixable since inlisti changed and now modifies $value for more sorts of matching elements than it used to. Workarounds can be used and perhaps new features be added to provide the same result with extended expansion syntax. cu Andreas