Hi all,
i use BATV for some time, it is done in remote transport by:
return_path = ${if def:return_path \
{${prvs{$return_path}{BATV_SIGNKEY}{BATV_KEYNUM}}}fail}
And it works (worked) as expected.
But recently i setup recipient callout, to catch failed recipients,
where i setup (beside others):
verify = recipient/callout=...,use_sender,hold
Then i noticed, that not all outgoing messages are BATV signed and by
investigation i found, that if remote connection is opened by callout,
the BATV sign (modify return_path) doesn't happen, but the next
messages (when callout cache is in action), the return_path change is
applied and BATV works as expected.
I confirmed it by removing the "hold" option from the callout, then
again all (test) outgoing messages are BATV signed, without difference
if callout is cached or not.
I see similar mixed results in TLS cert validation (CV= in log), but
that i didn't investigated it in depth, thus i only guess, that it is
related.
I check docs about hold option, but there is nothing about this
behavior (or at least i didn't find it). Please, now i do not know if
that is limitation, bug or i miss (or did wrong) something in my
config.
regards
--
Slavko
https://www.slavino.sk