Re: [Jcardcal] [Technical Errata Reported] RFC7265 (6360)

Cyrus Daboo <cyrus@daboo.name> Thu, 24 December 2020 21:21 UTC

Return-Path: <cyrus@daboo.name>
X-Original-To: jcardcal@ietfa.amsl.com
Delivered-To: jcardcal@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4B2FF3A0A0B for <jcardcal@ietfa.amsl.com>; Thu, 24 Dec 2020 13:21:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 iZaSghQMiBUE for <jcardcal@ietfa.amsl.com>; Thu, 24 Dec 2020 13:21:00 -0800 (PST)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 1E33F3A09FA for <jcardcal@ietf.org>; Thu, 24 Dec 2020 13:21:00 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 9A151302EDB98F; Thu, 24 Dec 2020 16:20:57 -0500 (EST)
X-Virus-Scanned: amavisd-new at daboo.name
Received: from daboo.name ([127.0.0.1]) by localhost (daboo.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7RUR8tBY71mQ; Thu, 24 Dec 2020 16:20:56 -0500 (EST)
Received: from 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa (unknown [173.13.55.49]) by daboo.name (Postfix) with ESMTPSA id 50988302EDB982; Thu, 24 Dec 2020 16:20:56 -0500 (EST)
Date: Thu, 24 Dec 2020 16:20:55 -0500
From: Cyrus Daboo <cyrus@daboo.name>
To: Barry Leiba <barryleiba@computer.org>, RFC Errata System <rfc-editor@rfc-editor.org>
cc: Philipp Kewisch <mozilla@kewis.ch>, Murray Kucherawy <superuser@gmail.com>, Peter Saint-Andre <stpeter@stpeter.im>, julesreid@gmail.com, jcardcal@ietf.org
Message-ID: <7d8a697c-53ef-49f4-b542-3c1aaa505a8c@cyrus.local>
In-Reply-To: <CALaySJJ_sa_72ER=UKkAy4ChhdD4hq=H5NTucyWCGNYZ86UbAA@mail.gmail.com>
References: <CALaySJJ_sa_72ER=UKkAy4ChhdD4hq=H5NTucyWCGNYZ86UbAA@mail.gmail.com>
X-Mailer: Mulberry/5.0.0a1 (macOS/10.16)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline; size="2365"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jcardcal/6gmvWk3JhnKV09tinmrOku7bDdY>
Subject: Re: [Jcardcal] [Technical Errata Reported] RFC7265 (6360)
X-BeenThere: jcardcal@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: JSON data formats for vCard and iCalendar WG <jcardcal.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jcardcal>, <mailto:jcardcal-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jcardcal/>
List-Post: <mailto:jcardcal@ietf.org>
List-Help: <mailto:jcardcal-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jcardcal>, <mailto:jcardcal-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Dec 2020 21:21:01 -0000

Hi Barry,

--On Thu, 24 Dec 2020 13:40:53 -0500 Barry Leiba <barryleiba@computer.org> 
wrote:

> I believe this is incorrect, in that...
>
>       VERSION:2.0\;2.9
>
> ...*is* the only correct way to represent that option in iCalendar.

> Does anyone think this analysis is incorrect?

It is incorrect.

First off, note that in 5545 §3.3.11:

      The "TEXT" property values may also contain special characters
      that are used to signify delimiters, such as a COMMA character for
      lists of values or a SEMICOLON character for structured values.

The key thing here is that there are "structured" values that use COMMA and 
SEMICOLON as delimiters of TEXT values, and thus each individual TEXT value 
needs to have their own COMMAs and SEMICOLONs escaped.

Next, note that 5545 §3.7.4 defines the VERSION property value as:

    vervalue   = "2.0"         ;This memo
                      / maxver
                      / (minver ";" maxver)

           minver     = <A IANA-registered iCalendar version identifier>
           ;Minimum iCalendar version needed to parse the iCalendar object.

           maxver     = <A IANA-registered iCalendar version identifier>
           ;Maximum iCalendar version needed to parse the iCalendar object.

i.e., the property value is effectively: text *(";" text). 

I think one key problem is the value type definitions of properties like 
this:

    Value Type:  TEXT

That gives the impression that the value should follow the 'text' rule, but 
in fact the format definition has to be used for the actual syntax of the 
value. This could be clearer for such structured values. In fact, the GEO 
property is a good example:

    Value Type:  FLOAT.  The value MUST be two SEMICOLON-separated FLOAT
          values.

If 5545 were ever to be revised, I would suggest fixing the "Value Type" 
descriptions for all the "structured" types.

In any case, as far as the report goes: yes there is a bug in 7265. It 
should have called out VERSION as a special case in §3.4.1, as it did for 
GEO and REQUEST-STATUS. Perhaps it should have been defined it as either a 
single JSON string, or a list of strings. In practice, there is only one 
version value defined for iCalendar today, and I suspect that will likely be 
true for ever more. Plus 7265 should probably be consider historic in light 
of jcal.

-- 
Cyrus Daboo