Noel Jones put forth on 9/2/2010 10:41 AM:
> On 9/2/2010 10:14 AM, Stan Hoeppner wrote:
>> mouss put forth on 9/1/2010 6:10 PM:
>>
>>>> Over 1600 regex patterns matching generic dynamics and statics. 
>>>> Rejects
>>>> all generic dynamics, tags generic statics.  Provided with no
>>>> warranties, use at your own risk, etc.  Has worked well here.
>>>>
>>>> http://www.hardwarefreak.com/fqrdns.regexp
>>>>
>>>> Use in main.cf as:
>>>>
>>>>           check_client_access regexp:/etc/postfix/fqrdns.regexp
>>>
>>> Try pcre and you'll love it:)
>>
>> I have some basic PCREs I created and use for some header checks and
>> client restrictions, but they're super simple, and I'm still king nubie
>> WRT regexes.  Alas, even if I had the skill, I wouldn't feel like taking
>> the time to convert those 1600+ POSIX regexes to PCRE syntax. ;)  As I
>> said, these were donated to me. :)
>>
> 
> Since pcre is a superset of regexp syntax, there's no need to "convert"

That's what I thought, but when I plugged it into main.cf as a pcre type
I got log errors, so I switched it to regexp and the errors went away.
Thus I thought it was a compatibility issue.

> to pcre.  Specify the pcre: map type for an instant performance
> improvement.

Done.  Not sure I'll notice as this is a really lightly loaded MX.  But
if PCRE processing is faster, I'm down with that. ;)

> Using pcre also reveals a few malformed expressions:
> # postmap -q bubba pcre:fqrdns.regexp
> postmap: warning: pcre map fqrdns.regexp, line 228: error in regex at
> offset 22: unmatched parentheses
> postmap: warning: pcre map fqrdns.regexp, line 1162: error in regex at
> offset 45: unmatched parentheses
> postmap: warning: pcre map fqrdns.regexp, line 1536: error in regex at
> offset 32: unmatched parentheses
> 
> The regexp library can't use these malformed lines, but doesn't
> complain.  The patch to fix is pretty easy (beware line wraps):

Ahh, that explains the errors.  Due to my regex nubness, I didn't
realize these were due to author errors.

> --- fqrdns.regexp       Thu Sep  2 10:19:52 2010
> +++ fixed.regexp        Tue Sep  2 10:34:18 2010
> @@ -228 +228 @@
> -/^dyn-[12]?[0-9]{1,2}\.){4}[a-z]{2,4}\.upcnet\.ro$/    REJECT  Dynamic
> - Please relay via ISP (upcnet.ro)
> +/^dyn-([12]?[0-9]{1,2}\.){4}[a-z]{2,4}\.upcnet\.ro$/   REJECT  Dynamic
> - Please relay via ISP (upcnet.ro)
> @@ -1162 +1162 @@
> -/^ip-[12]?[0-9]{1,2}\.net(-[12]?[0-9]{1,2}){2})\.[12]?[0-9]{1,2}\.[a-z]{3,10}\.rev\.numericable\.fr$/
>  REJECT  Generic - Please relay via ISP (numericable.fr)
> +/^ip-[12]?[0-9]{1,2}\.net(-[12]?[0-9]{1,2}){2}\.[12]?[0-9]{1,2}\.[a-z]{3,10}\.rev\.numericable\.fr$/
>   REJECT  Generic - Please relay via ISP (numericable.fr)
> @@ -1536 +1536 @@
> -/^[12]?[0-9{1,2}(-[12]?[0-9]{1,2}){3}\.[a-z]{3}\.unitline\.ru$/       
> REJECT  Generic - Please relay via ISP (unitline.ru)
> +/^[12]?[0-9]{1,2}(-[12]?[0-9]{1,2}){3}\.[a-z]{3}\.unitline\.ru$/
> REJECT        Generic - Please relay via ISP (unitline.ru)

Fixed.  Thanks Noel. :)

-- 
Stan

Reply via email to