Hi

Hum ... this conversation has alerted me to the possibility that 
virtual_alias_maps has two different roles ... I am/have_been confused on this 
despite spending weeks pondering the documentation.  Is the following summary 
correct and complete?  If so, then the proposed additions to postconf.5 and and 
changes to virtual(5) would have made this newbie's life easier.


On Mo, 2016-10-31, at 23:17, Viktor Dukhovni 
<postfix-us...@dukhovni.org<mailto:postfix-us...@dukhovni.org>> wrote:

On Oct 31, 2016, at 10:49 PM, Bill Cole 
<postfixlists-070...@billmail.scconsult.com<mailto:postfixlists-070...@billmail.scconsult.com>>
 wrote:

So:  on what basis would you expect 
virusal...@covisp.net<mailto:virusal...@covisp.net> to be mapped as a virtual 
alias? You've told Postfix that covisp.netis a local domain and that only 
kreme.com<http://kreme.com> addresses should be mapped via virtual aliases. I 
don't see how this can ever work...

Bill, you're quite wrong there.  The virtual(5) alias rewriting
applies across all address classes, as is evident from some of the
logs the OP posted.


SUMMARY:
  'virtual_alias_maps' applies only to 'envelope recipient' addresses providing:
     1) rewriting for all address classes and all submission methods.
     2) validation for only 'virtual_alias_domains' for only submission via 
smtpd
     3) disabled validation for 'virtual_alias_domains' if set to null 
(relevant for smtpd_proxy_filter)
     4) the only parameter that can hook in virtual(5) tables
  This implies it:
     5) is not used to validate any other address class except the 
virtual_alias class
     6) does no validation for submission methods other than via smtpd
     7) does no validation or rewriting of 'envelope from' or message headers.

QUESTION: Is this both correct and complete?
          (3 is likely incorrect)


DOCUMENTATION SUGGESTIONS:
As feed back to the postfix project, in most cases postconf.5 seems to be the 
goto for a complete enumeration of the purpose of a parameter sometimes with 
useful links to more details and nuances.  Sometime however ... In the present 
case I never picked up on the fact that virtual_alias_maps had two different 
roles with very different scopes of application.  At best I'd have said two 
different roles with the same (narrow) scope similar to Bill's comment.

My life as a newbie would have been much easier if ... :

  A) ... [postconf.5 virtual_alias_maps] had clearly stated points 1, 2, 3 & 4 
above.
Currently it only sort of mentions (1-rewrite), in what I now might interpret 
as pre-address class language. It did not provide my early understanding enough 
traction to get started.  Part of that was because I was sort of aware that 
there were validation and rewrite roles but they were never laid out together 
on the same screen so it never clicked as being the same parameter rather than 
different parameters. My experience has been that I've needed to scan all of 
the postfix documentation, find the scattered relevant pieces, figure out their 
relation and deduce from them what is key, which has been hard since I don't 
yet have a full gestalt of how postfix works. Discovering that 3 & 4 were even 
topics was almost by luck. My colleagues here at work have declined to put in 
that level of effort.  This proposed documentation change would have made that 
level of effort unnecessary.

  B) ... [virtual(5) Description] had stated both 1 & 2 in its first sentence.
Currently it states (1-rewriting) very clearly and nicely.  And while it does 
eventually mention (2-validation), that is only near the bottom of that 
document in the middle of describing the detailed format of a virtual table.  
My experience has been, some time later after my first read through,  I'd say 
'I've seen something about that somewhere ...' and go looking and not find 
because I was expecting the key points to be at the top of the document, or at 
least before the document started going in to details, so I'd skim the top, 
conclude (incorrectly) it was not there, and move on, missing it.

  C) ... [virtual(5) Configuration Parameters] had clearly stated 4

Regards,
Todd Olson
Cornell University


Reply via email to