On Thu, 14 Mar 2002, Florian George wrote:
> i have the following statements in my configure-file:
>
> domainlist local_domains = @ : mysql;MYSQL_DOMAIN
>
> Inside a router configuration i want to use the domainlist like this:
>
> domains = +local_domains : *+local_domains
I'm afraid it doesn't work like that. Named lists can't be concatenated
with anything else. (Well, except for user@+something in an address
list.)
> The Exim docu says in chapter "10.6 Domain lists":
>
> "If a pattern starts with an asterisk, the remaining characters of the
> pattern are compared with the terminating characters of the domain. The
> use of ``*'' in domain lists differs from its use in partial matching
> lookups. In a domain list, the character following the asterisk need not
> be a dot, whereas partial matching works only in terms of dot-separated
> components. For example, a domain list item such as *key.ex matches
> donkey.ex as well as cipher.key.ex."
Exactly. * can only be followed by a literal string.
I can't think of a way of doing what you seem to want to do, which, as I
understand it is:
Given a table in a database where one column contains a list of
partial domains, see if the current domain ends with one of those
domains.
At least, I can't see a way of making Exim do it. That is exactly the
sort of complicated query that I feel should be handled inside the
database query language. So you should be able to write an SQL query
that does it. I am not an SQL expert, but I think this should be
possible.
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.