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

Ned Freed <ned.freed@mrochek.com> Tue, 13 July 2021 13:14 UTC

Return-Path: <ned.freed@mrochek.com>
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 12D333A0D5E for <emailcore@ietfa.amsl.com>; Tue, 13 Jul 2021 06:14:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.432
X-Spam-Level:
X-Spam-Status: No, score=-1.432 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mrochek.com
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 tQpGiPofQVqw for <emailcore@ietfa.amsl.com>; Tue, 13 Jul 2021 06:14:06 -0700 (PDT)
Received: from plum.mrochek.com (bang.mrochek.com [98.153.82.210]) (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 D806D3A0D50 for <emailcore@ietf.org>; Tue, 13 Jul 2021 06:14:06 -0700 (PDT)
Received: from dkim-sign.mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01S1CDHN082O00JC9B@mauve.mrochek.com> for emailcore@ietf.org; Tue, 13 Jul 2021 06:09:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mrochek.com; s=201712; t=1626181742; bh=wJ1Ma1O2ndFM9BisYWGi/AFx/iW6aDQrkYAbBt3zTfA=; h=Cc:Date:From:Subject:In-reply-to:References:To:From; b=NCLDJY33FPq2sJm1nhVWL2QgpJJP5/TeA/OaB3ZirDvWjn53/wk90Rp2+N4bnpC9w kGYiewaHxet6Ud4kw2QdSi1rV3OWYzOToXwIct+TA5KPJDFnO2/7m71kietM4uhGiN N+k/m8QlNpwYsSZ0fICnGbaLQXHlf2JYV9b6d6dg=
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: TEXT/PLAIN; CHARSET="US-ASCII"
Received: from mauve.mrochek.com by mauve.mrochek.com (PMDF V6.1-1 #35243) id <01S0F3SXH38G005PTU@mauve.mrochek.com>; Tue, 13 Jul 2021 06:08:59 -0700 (PDT)
Cc: emailcore@ietf.org
Message-id: <01S1CDHKSDL6005PTU@mauve.mrochek.com>
Date: Tue, 13 Jul 2021 05:52:51 -0700
From: Ned Freed <ned.freed@mrochek.com>
In-reply-to: "Your message dated Fri, 09 Jul 2021 15:01:55 -0400" <CAHej_8miev_XV3egTgiDEm7ARyyPoKzMAH-2z=9FrDoP=JRZgQ@mail.gmail.com>
References: <CAHej_8miev_XV3egTgiDEm7ARyyPoKzMAH-2z=9FrDoP=JRZgQ@mail.gmail.com>
To: Todd Herr <todd.herr=40valimail.com@dmarc.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/emailcore/C-BWAKD51zTboP-r1ClCzG3zclo>
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: Tue, 13 Jul 2021 13:14:12 -0000

> Greetings.

> I would like to start a discussion about ticket #14 -
> https://trac.ietf.org/trac/emailcore/ticket/14

> Section 4.5.3.1 of draft-ietf-emailcore-rfc5321bis reads:

> 4.5.3.1.  Size Limits and Minimums

>    There are several objects that have required minimum/maximum sizes.
>    Every implementation MUST be able to receive objects of at least
>    these sizes.  Objects larger than these sizes SHOULD be avoided when
>    possible.  However, some Internet mail constructs such as encoded
>    X.400 addresses (RFC 2156 [26]) will often require larger objects.
>    Clients MAY attempt to transmit these, but MUST be prepared for a
>    server to reject them if they cannot be handled by it.  To the
>    maximum extent possible, implementation techniques that impose no
>    limits on the length of these objects should be used.
>    Extensions to SMTP may involve the use of characters that occupy more
>    than a single octet each.  This section therefore specifies lengths
>    in octets where absolute lengths, rather than character counts, are
>    intended.


> and ticket 14 asks the question:

> Given the controversy on the SMTP mailing list between 20191123 and now
> about maximum lengths, is the above adequate or is further tuning of the
> limit text below needed?

The text, especially the part about X.400, is seriously dated at this point.
(For those of you who have never dealt with X.400, X.400 addresses consist of a
list of attributes and values, including but not limited to attributes for
postal address information, and theoretically can be thousands of octets in
length. The 1:1 mapping of this defined by RFC 2156 puts most of this in the
local part in /attr1=/value1/attr2=value2/... form.)

As a practical matter real world X.400 gateways never required longer lengths
on the SMTP/RFC822 side, for the simple reason that they never worked well
enough. (It didn't stop compliance suites from coding tests that required
them...) A combination of restraint on the part of X.400 implementations and
very complicated mappings were used to avoid the problem.

And if a client has a fallback, as the text requires, why not just use it
rather than sending something that may work locally but fail downstream,
where no fallback is possible?

I also note that X.400 has changed from "the mail system we'll all be using
somday" to "only used in limited government/military cases, and even those are
disappearing". Is it really worth mentioning at this point?

Finally, and most importantly, implementation techniques that impose no limits
on object size represent a serious security risk. I think this alone justifies
removing "should support" bit.

> draft-ietf-emailcore-rfc5321bis then goes on to specify length limits in
> octets, not characters, in each of the following sections:

> 4.5.3.1.1. Local-part
> 4.5.3.1.2. Domain
> 4.5.3.1.3. Path
> 4.5.3.1.4. Command Line
> 4.5.3.1.5. Reply Line
> 4.5.3.1.6. Text Line
> 4.5.3.1.7. Message Content
> 4.5.3.1.8. Recipient Buffer

Like it or not, the limits in existing implementations are octet, not
character, based. A change to make them character-based is therefore
wholly nonsensical.

				Ned

> Thoughts?

> --

> *Todd Herr* | Technical Director, Standards and Ecosystem
> *e:* todd.herr@valimail.com
> *m:* 703.220.4153

> This email and all data transmitted with it contains confidential and/or
> proprietary information intended solely for the use of individual(s)
> authorized to receive it. If you are not an intended and authorized
> recipient you are hereby notified of any use, disclosure, copying or
> distribution of the information included in this transmission is prohibited
> and may be unlawful. Please immediately notify the sender by replying to
> this email and then delete it from your system.