Fix inconsistent alias domain catchall behaviour
Postfix lookups for catchall case on non-alias domain: 1. user@domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> no match - virtual_alias_domain_catchall_maps.cf -> no match - custom virtual_alias_maps -> no match 2. user -> not relevant 3. @domain - virtual_alias_maps.cf -> **match**, lookup ends here With an alias domain the behaviour was: 1. user@domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> no match - virtual_alias_domain_catchall_maps.cf -> **match**, lookup ends here In this case custom virtual_alias_maps are ignored. With this change the behaviour is: 1. user@domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> no match - virtual_alias_domain_catchall_maps.cf -> no match - custom virtual_alias_maps -> no match 2. user -> not relevant 3. @domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> **match**, lookup ends here The change removes virtual_alias_domain_catchall_maps.cf entirely and rewrites virtual_alias_domain_maps.cf to also work for catchall lookups.
This commit is contained in:
parent
e116d74fb7
commit
d544011b66
4 changed files with 2 additions and 7 deletions
|
|
@ -1,4 +1,4 @@
|
|||
dbname = postfixadmin
|
||||
user = postfix
|
||||
hosts = unix:/var/run/postgresql
|
||||
query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '%u' || '@' || alias_domain.target_domain AND alias.active = true AND alias_domain.active = true
|
||||
query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' AND alias_domain.target_domain = alias.domain AND left(alias.address, -length(alias.domain)) || alias_domain.alias_domain = '%s' AND left(alias.address, -length(alias.domain)) || alias.domain = alias.address AND alias.active = true AND alias_domain.active = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue