On Sat, 18 Mar 2023 21:17:36 +0100, Omar Polo wrote:
> If cscope is not missing anything, mda_expand_token is only called by
> mda_expand_format which is only called by mda_unpriv.
>
> Now, mda_unpriv() always pass a NULL mda_command the first time (the
> last argument)
In smtpd.conf, under FORMAT SPECIFIERS:
%{mda} mda command, only available for mda wrappers
It is only the second call that is for the mda wrapper so I think
it is fine for %{mda} to be unavailable here, as documented. However,
perhaps it would be better to pass in "" instead of NULL for the
first call.
> mda_unpriv.c:
> 46 if (mda_expand_format(mda_exec, sizeof mda_exec, deliver,
> 47 &deliver->userinfo, NULL) == -1)
> 48 errx(1, "mda command line could not be expanded");
It doesn't really make sense to expand %{mda} in this context since
it is the result of mda_expand_format() that is used to generate
mda_command. So I think the question is whether or not this should
result in an error parsing the .forward file or just silently fail
by expanding to an empty string.
- todd