On 3/10/25 4:34 PM, Patrik Peng via Exim-users wrote:
There are three different routers each having the identical "set = r_dkim_data =
..." as their last statement:
set = r_dkim_data = ${if
def:h_X-DKIM-Sign:{${readsocket{/var/run/daemon.sock}{REQUEST_DATA}{30s}{\n}{}}}{}}
Be warned: a router does not use the text order of the config as its order of
evaluation
of options. However, that probably is not the issue here.
And four transports, each checking if the variable is set ("if def:r_dkim_data") and
using its content if that's the case ("${extract json{result}{$r_dkim_data} ...").
Maybe it's also worth mentioning, that other (independent) r_ variables are
also being set in routers.
Shouldn't be a problem.
Also, is there some max size for data assigned to variables?
I'm asking because normally, r_dkim_data gets assigned a lot of JSON data (e.g.
encoded DKIM keys).
No particular max, though it's bound to blow a memory limit at some point...
Embedded NULs are a bad move though.
I guess another question is: for the problem case, was it (according to the
debug)
definitely the expected router accepting this message, this transport
delivering it,
and with no other mention of the problem variable between the two?
--
Cheers,
Jeremy
--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscr...@lists.exim.org
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/