On Wednesday 27 Mar 2002 11:29, Philip Hazel wrote:
> Exactly. When you wrote
>
> helo_verify_hosts = +external_hosts : ! ISP
>
> it is in fact equivalent to
>
> helo_verify_hosts = ! PLYM_NET : ! 127.0.0.0/8 : * : !ISP
>
> which is why it didn't behave the way you expected.
>
Gah! Of course :-) I was looking at '+external_hosts : ! ISP' and *then*
adding the ':*' on the end of the whole lot. Yes, I see what you are saying
here.
> Negation is always tricky, unfortunately. How about doing it the
> other way round? For example:
>
> hostlist internal_hosts = PLYM_NET : 127.0.0.0/8
> hostlist rbl_hosts = !+internal_hosts : ! ISP
>
Yes, I'll take a look at this. The macro and hostlist are used in other
places so I'll have to check it through.
> Maybe I should document somewhere the best way of reading these things:
>
> a : b a or b
> !a : b not a and b (or b and not a)
> !a : !b not a and not b
>
I think the manual explains about the implied ':*' well enough. In my defence
it was nearly 2am (!) when I finally asked about this problem, having spent
some time trying to sort it out :-) I did read through chapter 10 of the
manual, but obviously at that time the ':*' eluded me :-)
However, section 10.5 (page 63) states that named lists can refer to other
named lists. The example quoted is:
domainlist doms1 = first.example : second.example
domainlist dom2 = +dom1 : third.example
domainlist dom3...
Perhaps an example with negated items (as in my case) would also be useful to
enforce the fact that ':*' is added to the end of a list, and that it is
significant when named lists are combined - e.g:
domainlist dom1 = first.example : ! second.example
domainlist dom2 = +dom1 : ! third.example
so dom2 actually becomes:
domainlist dom2 = first.example : ! second.example : * : ! third.example
Regards,
John
--
John Horne, University of Plymouth, UK Tel: +44 (0)1752 233914
E-mail: jhorne@???
PGP key available from public key servers