Good day.

 Exim 4.87 is shipped with a body line length check condition:

acl_check_data:

  # Deny if the message contains an overlong line.  Per the standards
  # we should never receive one such via SMTP.
  #
  deny    condition  = ${if > {$max_received_linelength}{998}}

 After upgrade I met two problems: 1. some malformed mails are rejected
 (composed by MS Outlook 14, with more then 1000 chars in References:),
 2. in my configuration bounces are sent through the same mail relay
 and are blocked by this rule, because they include headers of the
 original mail with oversized lines. So bounces are lost and my users
 have no hints that their mails were dropped.

 Certainly, Outlook is buggy. But the absence bounce is much worse,
 regardless of its compliance to RFC. Moreover, there were no adequate
 diagnostic message in logs. I think messages from <> should not be
 checked for body line length, and propose this patch against 4.87:

------------------------------------------------------------------------

--- ./src/configure.default.orig        2016-04-02 22:24:15.000000000 +0300
+++ ./src/configure.default     2016-04-12 14:09:40.617384333 +0300
@@ -513,7 +513,11 @@
   # Deny if the message contains an overlong line.  Per the standards
   # we should never receive one such via SMTP.
   #
-  deny    condition  = ${if > {$max_received_linelength}{998}}
+  deny
+       !senders   = :
+       message    = Maximum body line length is $max_received_linelength \
+                       (over 998 chars limit), message rejected.
+       condition  = ${if > {$max_received_linelength}{998}}
 
   # Deny if the message contains a virus. Before enabling this check, you
   # must install a virus scanner and set the av_scanner option above.

------------------------------------------------------------------------

 Thanks.
-- 
 Eugene Berdnikov

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim 
details at http://www.exim.org/ ##

Reply via email to