I'm new to OpenSMTPd (on OpenBSD 7.0-release) and when I started looking
into filters I came up with some questions that the smtpd.conf manpage
doesn't seem to answer.
- for 'filter ... proc ...' and 'filter ... proc-exec ...' where in the
processing of the message is the filter invoked and how does it
interact with OpenSMTPd (what info is it given, what info does it
return, etc; from the DKIM example it's evidently able to add a header
to the message)?
[How it interacts may be something only filter developers really care
about, but when it's invoked is relevant for everyone.]
- for decision 'rewrite value' is 'value' a fixed string, a string that
may include references to matches in a regex (if a condition was '...
regex <table>'; this would probably require that there be exactly one
condition with 'regex'), or what? Presumably the rewritten value
affects only the envelope(s), not the headers in the message itself.
[The need for regex references occurred to me because I was thinking
about standardizing the domain part of MAIL FROM and RCPT TO,
eliminating mention of specific hosts and leaving just my domain's
name, which would require getting the username from the regex match.]
- in the phase definitions I originally read 'data' as meaning
immediately after the DATA command is received and 'commit' as after
the '.' that terminates the message body, but the comment after the
list of decisions that junking must happen 'before a message is
committed' makes me think that was wrong. What is actually meant?
- in the list of decisions 'session or transaction' is stated without
making it clear what the difference is, and I don't see a clear
statement of this anywhere else. What exactly is the difference?
A nit: in the phase definition for 'commit' there's an extra 'is'.
BTW, despite my questions I really like OpenSMTPd. Many thanks for
creating it.
Dave
--
Dave Anderson
<[email protected]>