Re: [Emailcore] Ticket #14: G.7.8. Review different size limits

Viktor Dukhovni <ietf-dane@dukhovni.org> Thu, 15 July 2021 13:45 UTC

Return-Path: <ietf-dane@dukhovni.org>
X-Original-To: emailcore@ietfa.amsl.com
Delivered-To: emailcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 971C13A08FC for <emailcore@ietfa.amsl.com>; Thu, 15 Jul 2021 06:45:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QK2ePsGGsZLN for <emailcore@ietfa.amsl.com>; Thu, 15 Jul 2021 06:45:29 -0700 (PDT)
Received: from straasha.imrryr.org (straasha.imrryr.org [100.2.39.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EBCE23A08F8 for <emailcore@ietf.org>; Thu, 15 Jul 2021 06:45:28 -0700 (PDT)
Received: by straasha.imrryr.org (Postfix, from userid 1001) id 934F9DAC8D; Thu, 15 Jul 2021 09:45:27 -0400 (EDT)
Date: Thu, 15 Jul 2021 09:45:27 -0400
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: emailcore@ietf.org
Message-ID: <YPA79xiG4ZRKZ4Em@straasha.imrryr.org>
Reply-To: emailcore@ietf.org
References: <20210713194736.A65FB214C287@ary.qy> <DFAB3FCC-AA0D-417C-B3D5-F3E2B79E0688@dukhovni.org> <e589e3b1-dfdc-9020-92c3-ac0ab9386d2c@tana.it>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <e589e3b1-dfdc-9020-92c3-ac0ab9386d2c@tana.it>
Archived-At: <https://mailarchive.ietf.org/arch/msg/emailcore/uw8sglUI2PyohAvP7rb0qtVI2qo>
Subject: Re: [Emailcore] Ticket #14: G.7.8. Review different size limits
X-BeenThere: emailcore@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: EMAILCORE proposed working group list <emailcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/emailcore>, <mailto:emailcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/emailcore/>
List-Post: <mailto:emailcore@ietf.org>
List-Help: <mailto:emailcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/emailcore>, <mailto:emailcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jul 2021 13:45:34 -0000

On Thu, Jul 15, 2021 at 12:43:07PM +0200, Alessandro Vesely wrote:

> On Wed 14/Jul/2021 23:10:22 +0200 Viktor Dukhovni wrote:
> > 
> > Logical (possibly folded across multiple physical lines) *headers* longer
> > than 100KB are truncated:
> > 
> > 	http://www.postfix.org/postconf.5.html#header_size_limit
> 
> Worded as in postconf it's not clear whether you mean a whole header rather 
> than a single header field.  In the text above, the phrase up to and including 
> the parenthesis suggests the latter interpretation.

It is *a* header field, but perhaps the text could be made more
explicit.  The text in http://www.postfix.org/header_checks.5.html
has a bit more context, but it is I guess possible to still read
it as applying to complete set of message headers as a unit.

       header_checks

       mime_header_checks (default: $header_checks)

       nested_header_checks (default: $header_checks)
              Lookup tables with  content  filter  rules  for  message  header
              lines:  respectively,  these  are applied to the initial message
              headers (not including MIME headers), to the MIME  headers  any-
              where  in  the  message,  and to the initial headers of attached
              messages.

------->      Note: these filters see one logical message header  at  a  time,
------->      even when a message header spans multiple lines. Message headers
------->      that are longer than  $header_size_limit  characters  are  trun-
------->      cated.

Anyway, bottom line, large (even unbounded) message *body* line sizes
work just fine in Postfix, but logical message headers (used in MIME
parsing, header checks, ...) do need a manageable size limit, which is
generously set at 100KiB, with longer (individual) headers truncated to
not exceed that size.

If milters are employed, then the particular milter applications would
have to deal with any larger limits, and I don't know if there's any
general statement that can be made about support for long logical or
physical message header or body lines in milters.

-- 
    Viktor.