* Victor Duchovni wrote :
> On Wed, Apr 27, 2011 at 06:42:55PM +0400, Michael Tokarev wrote:
> 
> > 27.04.2011 15:44, Noel Jones wrote:
> > []
> > > regexp and pcre compatible expression:
> > > 
> > > /^Subject: +[^[:space:]]{60}/  REJECT no spaces
> > > 
> > > matches Subject: followed by one or more spaces, followed by 60 or more
> > > non-space characters.
> > 
> > This will reject mime-encoded quoted-printable subjects.
> 
> RFC 2047 sets a maximum size of 75 octets on each chunk of the encoded
> text. While not all encoding applications abide by the limit, something
> longer than 75 octets should encounter fewer false positives.
> 
>     http://tools.ietf.org/html/rfc2047#section-2
> 
>        An 'encoded-word' may not be more than 75 characters long, including
>        'charset', 'encoding', 'encoded-text', and delimiters.  If it is
>        desirable to encode more text than will fit in an 'encoded-word' of
>        75 characters, multiple 'encoded-word's (separated by CRLF SPACE) may
>        be used.
> 
> A safer pattern may be:
> 
> if /^Subject:/
> if !/=\?\S+\?=(\s|$)/
> /\S{60}/      REJECT no spaces
> endif
> endif
> 
> Otherwise, this check can be moved to a pre-queue filter or milter that
> decodes RFC 2047 encoding, and applies the test on the "plaintext".

Thanks for that.

-- 
Troy Piggins

Reply via email to