On 09/23/10 22:29, Stan Hoeppner wrote:
> I don't see anything in master.cf either.  Hmmm....
> 
> Wait a second.  My lack of regex foo may be showing. :)
> 
> The content of generic_rbl_clients.pcre:
> 
>   # sutton-partners.com
>   /^64\.191\.79\.245$/            public_rbls
> 
>   # mabel.ca
>   /^70\.38\.108\.42$/             public_rbls
> 
>   # dsnews.com
>   /^209\.172\.40\.21[157]$/       public_rbls
> 
>   # Default: check these lists.
>   #
>   /./                             all_rbls
> 
> If I'm not mistaken, that last expression is going to match pretty much
> anything and everything.  So it looks like you're checking 64.191.79.245
> against public_rbls an then with /./ checking it against all_rbls.
> 
> Comment out the /./ catch all line and see what happens.  I *think*
> that's what is happening anyway.  Like I said, my regex foo is rather weak.
> 
> 

You're right, but from pcre_table(5):

DESCRIPTION

The  Postfix  mail  system  uses optional tables for address rewriting,
mail routing, or access control. These tables are usually in dbm or  db
format.

Alternatively,  lookup tables can be specified in Perl Compatible Regu-
lar Expression form. In this case, each input  is  compared  against  a
list  of  patterns.  When a match is found, the corresponding result is
returned and the search is terminated.

...

SEARCH ORDER

Patterns are applied in the order as specified in the  table,  until  a
pattern is found that matches the input string.


I'm ever-so-slightly sure that the correct entry is matched first because,

postmap -q 64.191.79.245 \
  pcre:/etc/postfix/maps/generic_rbl_clients.pcre

correctly returns "public_rbls".

Reply via email to