Re: [ietf-smtp] parsing SMTP replies (was: Proposed ESMTP keyword RCPTLIMIT}

Alessandro Vesely <vesely@tana.it> Wed, 17 March 2021 10:46 UTC

Return-Path: <vesely@tana.it>
X-Original-To: ietf-smtp@ietfa.amsl.com
Delivered-To: ietf-smtp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 118F23A11E5 for <ietf-smtp@ietfa.amsl.com>; Wed, 17 Mar 2021 03:46:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.121
X-Spam-Level:
X-Spam-Status: No, score=-2.121 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, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1152-bit key) header.d=tana.it
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 3rG7mY_41S3q for <ietf-smtp@ietfa.amsl.com>; Wed, 17 Mar 2021 03:46:34 -0700 (PDT)
Received: from wmail.tana.it (wmail.tana.it [62.94.243.226]) (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 DBFC43A11E2 for <ietf-smtp@ietf.org>; Wed, 17 Mar 2021 03:46:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tana.it; s=delta; t=1615977986; bh=AOxKLPwI2MAmJnADJF3FGbmEYPP1l+96RlRr9EPmc38=; l=2548; h=To:References:From:Date:In-Reply-To; b=CcOUN15oYNMIqaMo2gwgy6B3UOWjfwYk/i6LJF7hmNBniPc1aXRD/mrzRNMSWcVSQ U0LkwUN3XRI9dT+tC7qmUJS5353XA2kzFfZQxDUm5KE2tMoqcGz5/81cO9upkXyag+ VmC7iSC//qxrIzRxQ0DqSRK7TR2+hNPxe2gjKhOJr4YnuZDGNhfuF+GD+uBns
Authentication-Results: tana.it; auth=pass (details omitted)
Original-From: Alessandro Vesely <vesely@tana.it>
Received: from [172.25.197.111] (pcale.tana [172.25.197.111]) (AUTH: CRAM-MD5 uXDGrn@SYT0/k, TLS: TLS1.3, 128bits, ECDHE_RSA_AES_128_GCM_SHA256) by wmail.tana.it with ESMTPSA id 00000000005DC0C6.000000006051DE02.000062F4; Wed, 17 Mar 2021 11:46:26 +0100
To: ietf-smtp@ietf.org, Ned Freed <ned.freed@mrochek.com>
References: <77B21231-47EA-4CA6-A665-5880B6A54D4D@wordtothewise.com> <20210312203224.F3739701E4C5@ary.qy> <01RWOUM3HK0Q005PTU@mauve.mrochek.com> <e6e5d166-ded5-b6c0-db9a-57c44e8bd92a@dcrocker.net> <01RWOX4A2CZG005PTU@mauve.mrochek.com> <CF0247A810AF9482CBB155E8@PSB> <01RWP85B98S4005PTU@mauve.mrochek.com> <20210316061139.GA26514@kiel.esmtp.org>
From: Alessandro Vesely <vesely@tana.it>
Message-ID: <0d5912b5-6aba-728b-00de-a75397ad8ad8@tana.it>
Date: Wed, 17 Mar 2021 11:46:25 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0
MIME-Version: 1.0
In-Reply-To: <20210316061139.GA26514@kiel.esmtp.org>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf-smtp/-ql2puGCm5QqLP7iszxumiOf2OM>
Subject: Re: [ietf-smtp] parsing SMTP replies (was: Proposed ESMTP keyword RCPTLIMIT}
X-BeenThere: ietf-smtp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussion of issues related to Simple Mail Transfer Protocol \(SMTP\) \[RFC 821, RFC 2821, RFC 5321\]" <ietf-smtp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf-smtp>, <mailto:ietf-smtp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf-smtp/>
List-Post: <mailto:ietf-smtp@ietf.org>
List-Help: <mailto:ietf-smtp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf-smtp>, <mailto:ietf-smtp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Mar 2021 10:46:36 -0000

On Tue 16/Mar/2021 07:11:39 +0100 Claus Assmann wrote:
> On Mon, Mar 15, 2021, Ned Freed wrote:
> 
>> Which establishes the precedent for parsing replies given a signal
>> to do so.
> 
> draft-santos-smtpgrey has something like that for graylisting:
> 421 4.7.0 Come back later. retry=123
>                             ^^^^^^^^^


That could be a fair idea.  Strawman below, along with a few nits.


Best
Ale

--- draft-freed-smtp-limits-01.md	2021-03-17 11:01:19.392667148 +0100
+++ draft-freed-smtp-limits-02.md	2021-03-17 11:20:30.316669820 +0100
@@ -24,6 +24,7 @@
    ABNF: RFC5234
    SMTP: RFC5321
    PIPELINING: RFC2920
+  GREYLISTING: RFC6647

  informative:
    STARTTLS: RFC3207
@@ -204,9 +205,9 @@

  Name: MAILMAX

-Value syntax: %x30-39 0*5DIGIT ; 0 not allowed, 6 digit maximum
+Value syntax: %x31-39 0*5DIGIT ; 0 not allowed, 6 digit maximum

-Description: RCPTMAX specifies the maximum number of transactions
+Description: MAILMAX specifies the maximum number of transactions
  (MAIL FROM commands) the SMTP will accept in a single session. The
  count includes all MAIL FROM commands, regardless of whether they
  succeed or fail.
@@ -218,7 +219,7 @@

  Name: RCPTMAX

-Value syntax:  %x30-39 0*5DIGIT ; 0 not allowed, 6 digit maximum
+Value syntax:  %x31-39 0*5DIGIT ; 0 not allowed, 6 digit maximum

  Description: RCPTMAX specifies the maximum number of RCPT TO commands
  the SMTP will accept in a single transaction. It is not a limit
@@ -233,9 +234,9 @@

  Name: RCPTDOMAINMAX

-Value syntax:  %x30-39 0*5DIGIT ; 0 not allowed, 6 digit maximum
+Value syntax:  %x31-39 0*5DIGIT ; 0 not allowed, 6 digit maximum

-Description: RCPTMAX specifies the maximum number of different domains
+Description: RCPTDOMAINMAX specifies the maximum number of different domains
  that can appear in a recipient (RCPT TO) address within a single
  SMTP session. This limit is imposed by some servers that bind to
  a specific internal delivery mechanism on receipt of the first
@@ -243,6 +244,20 @@

  Security Considerations: See {{Seccons}}

+GREYLISTING Limit
+-------------
+
+Name: GREYLISTING
+
+Value syntax:  %x31-39 0*5DIGIT ; 0 not allowed, 6 digit maximum
+
+Description: GREYLISTING specifies the minimum number of seconds
+that a client should wait before retrying to submit the same message.
+The presence of this limit implies that the client MAY receive a
+transient 4xx response.  See {{GREYLISTING}}
+
+Security Considerations: See {{Seccons}}
+
  Security Considerations            {#Seccons}
  =======================