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
<d...@daveanderson.com>

Reply via email to