* 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