Re: [art] Argh!!!! onto https://www.rfc-editor.org/errata.php

Steffen Nurpmeso <steffen@sdaoden.eu> Wed, 20 March 2024 20:29 UTC

Return-Path: <steffen@sdaoden.eu>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 517D1C14F6BB for <art@ietfa.amsl.com>; Wed, 20 Mar 2024 13:29:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=sdaoden.eu header.b="ayEuKQWy"; dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=sdaoden.eu header.b="KBZtCI3T"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OXXWpmdTocgi for <art@ietfa.amsl.com>; Wed, 20 Mar 2024 13:29:34 -0700 (PDT)
Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B0CA8C151073 for <art@ietf.org>; Wed, 20 Mar 2024 13:29:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=citron; t=1710966569; x=1711633235; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: author:from:subject:date:to:cc:resent-date:resent-from:resent-to: resent-cc:in-reply-to:references:mime-version:content-type: content-transfer-encoding:message-id:mail-followup-to:openpgp: blahblahblah; bh=BAGBo19tDZqmkDMpLqvmG0iXlBemBOlky9/Fv5ONB5c=; b=ayEuKQWyxMSkTbAeU4iRMftV0bJvyvTfsxIwWYv52Ky516Q0TJ7ybQ8qwobg+EysWe+CWQQm S4NUFsaE+rtJ+LWFOgL0lOr1ojXXjS8OGQYqzGfXrOaoPrn8aqDklV14K/Rzby1bEFn72bbYHn O7BEKA3M0NIaGeEH2ypiQ0cAx/Fb0kDLzkN0fsuJFtG26S2MDlDFIbRMcCIOV4j/vgG6GoLGmo g5/GBq+hDWMIlZ4t//x5gZKLDB1AorR+d0fcnEJcb+OE8cX5APPOVAOpd88hblRQIOJFqHbrwG 7rMCqs/Xk8+clwKcdUOP98z+gvIuaeRd2FtZWK/ZzyHcptfA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=sdaoden.eu; s=orange; t=1710966569; x=1711633235; h=date:author:from:to:cc:subject: message-id:in-reply-to:references:mail-followup-to:openpgp:blahblahblah: author:from:subject:date:to:cc:resent-date:resent-from:resent-to: resent-cc:in-reply-to:references:mime-version:content-type: content-transfer-encoding:message-id:mail-followup-to:openpgp: blahblahblah; bh=BAGBo19tDZqmkDMpLqvmG0iXlBemBOlky9/Fv5ONB5c=; b=KBZtCI3TPsiLcbAzNGcBdHqzllGgtUS6VOfVM7eQZKnAfY5E7r9S+maU5if5VbTC9f5E1PWO ftIzkEHBbPIOCQ==
Date: Wed, 20 Mar 2024 21:29:28 +0100
Author: Steffen Nurpmeso <steffen@sdaoden.eu>
From: Steffen Nurpmeso <steffen@sdaoden.eu>
To: John Levine <johnl@taugh.com>
Cc: art@ietf.org
Message-ID: <20240320202928.Lk0_Vk5n@steffen%sdaoden.eu>
In-Reply-To: <20240320163156.DD39685CC4DC@ary.qy>
References: <20240320163156.DD39685CC4DC@ary.qy>
Mail-Followup-To: "John Levine" <johnl@taugh.com>, art@ietf.org
User-Agent: s-nail v14.9.24-612-g7e3bfac540
OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt
BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs.
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/kfHR8PESRhk28C222iS34W4Rq3I>
Subject: Re: [art] Argh!!!! onto https://www.rfc-editor.org/errata.php
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Mar 2024 20:29:39 -0000

Hello.

John Levine wrote in
 <20240320163156.DD39685CC4DC@ary.qy>:
 |It appears that Steffen Nurpmeso  <steffen@sdaoden.eu> said:
 |>All i wanted to report is that for RFC 6376, section 3.4.2, the
 |>reality of software (Google, "Microsoft", Amavis.., rspamd, and
 |>what not) is that in the three items ...
 |>
 |>WSP has to be replaced with "WSP, CR and LF", unless something
 |>more lengthy is desired.
 |
 |No, it's correct as is.
 |
 |The first bullet on page 16 says to unfold all the lines, so the CR/LF
 |are gone before it does anything with WSP.

But *that* unfolding refers to exactly CRLF alone, because only
this combination is allowed by RFC 5322.
I .. now you make me a bit unsure, but i really think i did test
both, removing lone CR and LF, as well as treating them literally.
Both did not work out.  The LF really has to be treated as
whitespace to make the algorithm work.  I would have to test this
again to be very sure.
But ok, shall that be right, then the unfolding algorithm

   o  Unfold all header field continuation lines as described in
      [RFC5322]; in particular, lines with terminators embedded in
      continued header field values (that is, CRLF sequences followed by
      WSP) MUST be interpreted without the CRLF.  Implementations MUST
      NOT remove the CRLF at the end of the header field value.

would have to be changed to "unfold..as described in.., except
that lone CR and LF characters must be treated like CRLF", or
something similar.

...

So now i have looked into what OpenDKIM does (in the past i looked
what dkimpy does, but likely lots of Python code *must* come into
play before, "thus"..), and there i see (WSP+style changes):

  dkim_canon_header_string(..){
  ..
    /* skip all spaces before first word */
    while (*p != '\0' && DKIM_ISWSP(*p))
    ..
    for ( ; *p != '\0'; p++){
      if (isascii(*p) && isspace(*p)){
         /* mark that there was a space and continue */
         space = TRUE;
         continue;

That isspace(3) includes the isblank(3) that RFC 5322 asks for,
but also LF and CR and more.  So that goes more in line with
changing the three paragraphs; also beyond the milter protocol.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)