On Tue, 3 Feb 1998, Ephraim Silverberg wrote:
> What I want to do is as follows:
>
> local_domains = !partial-db;/cs/exim/db/subdomains:*.cs.huji.ac.il
>
> However, I can't do a '!' in a domain_list, only in a host_list
> (i.e. Exim panics).
That's because these lists are really "or" lists; it's a local domain if
it matches the first item OR the second item OR ... so putting a "not"
in there doesn't do what you want, since you want an AND construction.
You need local_domains_except (which doesn't exist, and would be nasty
to implement, because local_domains is checked in a lot of places).
> The other alternatives are not desirable:
>
> 1. A hardcoded regular expression excluding non-local subdomains in
> local_domains since I can't mix lookups and regular expressions.
I don't understand.
> Another other ideas how to do this?
Off the top of my head:
# Don't have any hard-coded local domains; initially Exim thinks
# everything is remote.
local_domains =
# A special router detects the true local domains
detect_local_domains:
driver = domainlist
domains = *.cs.huji.ac.il
except_domains = partial-db;/cs/exim/db/subdomains
route_list = "* 127.0.0.1"
self = local
Yes, it's a horrible hack!
--
Philip Hazel University Computing Service,
ph10@??? New Museums Site, Cambridge CB2 3QG,
P.Hazel@??? England. Phone: +44 1223 334714
--
*** Exim information can be found at
http://www.exim.org/ ***