>>>The above is caught by:
>>>
>>>/[0-9]{1,3}(\.|\-)[0-9]{1,3}(\.|\-)[0-9]{1,3}(\.|\-)[0-9]{1,3}.*\[/ 
>>>client_filter.class
>>remove the \[ part.
>>and BTW, here is a shorter version:
>>/(\d{1,3}[-\.]){3}\d{1,3}/      class_client_filter
>>
>>
>>>... but is not going to the restriction class as actual SMTP client.
>
>After looking at my and mouss' advice, I realize the expressions we suggested 
>will match _all_ clients since it matchs an IP address.

I've wanted to match patterns in the PTR domain name, that's why I anchored the 
expr with \[, to make sure I didn't match the domain.name[ip.ad.re.ss]

>Probably not what you intend.

of course not

>Here's what I use to match IP-containing hostnames, should work for you.
>/(\d{1,3}[-\.]){3}\d{1,3}[^.]+\.[^.]/  class_client_filter
>ie. there must be a dot somewhere after the IP-containing section.

OK, same idea as mine, but I say "there must be a [ after the PTR domain name", 
because without the post-PTR-domain-name anchor, it was matching/shunting all 
connections into the (suspect) client_filter.class instead of staying in the 
non_suspect (main) branch.

I'm really struggling with this because without your domain.name\. or my \[, 
not all domain.name[a.b.c.d] get matched into the client_filter.class. iow, 
with the trailing anchor, 

So what string does the restriction class matching look at?

1. label.domain.tld[ip.ad.re.ss]

2. label.domain.tld ip.ad.re.ss

3. label.domain.tld 

4. ip.ad.re.ss

btw, the policy service passes the client_name and client_address as two 
separate values.

Len

Reply via email to