Re: [VCARDDAV] Questions about text handling in vCard 4.0 (rev 11)

Daisuke Miyakawa <d.miyakawa@gmail.com> Mon, 05 July 2010 13:00 UTC

Return-Path: <d.miyakawa@gmail.com>
X-Original-To: vcarddav@core3.amsl.com
Delivered-To: vcarddav@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A99B73A67AE for <vcarddav@core3.amsl.com>; Mon, 5 Jul 2010 06:00:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.662
X-Spam-Level: *
X-Spam-Status: No, score=1.662 tagged_above=-999 required=5 tests=[AWL=0.093, BAYES_40=-0.185, HTML_MESSAGE=0.001, MIME_BASE64_TEXT=1.753]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1P9rd7OLNJBJ for <vcarddav@core3.amsl.com>; Mon, 5 Jul 2010 06:00:36 -0700 (PDT)
Received: from mail-gx0-f172.google.com (mail-gx0-f172.google.com [209.85.161.172]) by core3.amsl.com (Postfix) with ESMTP id 487FD3A6985 for <vcarddav@ietf.org>; Mon, 5 Jul 2010 06:00:36 -0700 (PDT)
Received: by gxk3 with SMTP id 3so788369gxk.31 for <vcarddav@ietf.org>; Mon, 05 Jul 2010 06:00:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=AiH2ao9dVRoOKMhRQ0ATBWAqiCDnguO5AZU1Mj+ieWo=; b=qWkdSL4/x5Jx4MacrwNmrfEg9i9JwwlM3OCcMhfn0Yz2vcqSyTJkNaz0A9mYvKhCGG wvrRjzXMi6vUoi1fq2xrUsWT/m18JwtUggOYmdW72zAwwiJy46FVnhcSDQnKrHZdfsZ6 c00GsBHbT2ugDTnd4pDgBCBADQaMklCc/wVyM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=wSWZpD+kM9EHZXhhM5airX/AAa4pWfYpgnDmHDb7s+UIkxE1X3lUsr5w0cLTe44yeP IRCwWBfNQWO4ZL156ihXGDtZdnn1wRWxeN4YAeJ/HJsR8pjf6mkD9ZrfVheuwOmXX7iL Fy3CeLT2GbcgWGrw9Y+AqaRHg/Q5oLGCHk1vA=
MIME-Version: 1.0
Received: by 10.90.68.15 with SMTP id q15mr3186196aga.22.1278334832812; Mon, 05 Jul 2010 06:00:32 -0700 (PDT)
Received: by 10.90.56.11 with HTTP; Mon, 5 Jul 2010 06:00:32 -0700 (PDT)
In-Reply-To: <4C31CF6B.9050500@viagenie.ca>
References: <AANLkTik6O1nZvjdDRn1bdGb20xKbWJApIsnwfTJ8BbRa@mail.gmail.com> <4C31CF6B.9050500@viagenie.ca>
Date: Mon, 05 Jul 2010 22:00:32 +0900
Message-ID: <AANLkTimt74eL5nCfDFK2QgHggyL9qONlqAUDOWKjan-l@mail.gmail.com>
From: Daisuke Miyakawa <d.miyakawa@gmail.com>
To: Simon Perreault <simon.perreault@viagenie.ca>
Content-Type: multipart/alternative; boundary="00163616423b9d2383048aa38531"
Cc: vcarddav@ietf.org
Subject: Re: [VCARDDAV] Questions about text handling in vCard 4.0 (rev 11)
X-BeenThere: vcarddav@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF vcarddav wg mailing list <vcarddav.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vcarddav>
List-Post: <mailto:vcarddav@ietf.org>
List-Help: <mailto:vcarddav-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Jul 2010 13:00:37 -0000

2010/7/5 Simon Perreault <simon.perreault@viagenie.ca>

> On 2010-07-04 23:49, Daisuke Miyakawa wrote:
> > - how a receiver accept string with backslash which is not determined in
> > the spec (e.g. How "\t\h\i\s\ \i\s\ \a\ \t\e\s\t\n" should be decoded if
> > the receiver happened to see it?)
>
> This means that the sender is buggy and is generating output with
> undefined meaning. Whether and how the receiver could try to recover
> from this output is also undefined.


I think "undefined" does not help actual receivers. They will have to cope
with real senders which often have some bugs. Almost all of the bugs are
unexpected, but some can be, like this time. At least, we are able to reduce
the possibility of ambiguity now.

When my developing a receiver for vCard 3.0, I found some really well-known
sender  (please let me make the application's name secret..) encoded texts
wrongly using '\', and I had to decide on how to handle it, as receiver's
behavior was "undefined" while actually it is easily detected.

I don't think just one tiny mistake in sender side should make receivers
confused.

> - how to handle invisible/control characters valid in Unicode (e.g. tab,
> > full-width space used in Japanese, etc.) It can be held as is, but I
> > think it might be better to encode it to something like \xXXXX only when
> > it is not readable enough.
>
> Disagree. All characters must be left as is except for the ones that
> must be escaped.


I'd like to know the rationale.

My understanding about the reason why not using QP is because it is harder
to read.
This time, on the other hand, we cannot see the value without encoding ("
\x3000 " is much easier to read than " "). Making the ambiguity around
spaces and control characters visible is feasible enough, I suppose.



> > - How to handle ',', '\,', ';', and '\;' in X- properties (e.g.
> > "X-EXTRA-SORT-STRING:This,is\, a\;test;\, isn't\;it?"). What to do when
> > some sender wanted to use splitter (',' or ';') in vCard 4.0.
>
> The rule for comma, backslash, and newline are global and apply
> everywhere (see section 3.3). However, the rule for semicolon only
> applies to some properties which use the semicolon as separator. It is
> up to the people defining a particular X- property to decide whether
> they want to use the semicolon as separator.
>

Understood.


> Simon
> --
> NAT64/DNS64 open-source --> http://ecdysis.viagenie.ca
> STUN/TURN server        --> http://numb.viagenie.ca
> vCard 4.0               --> http://www.vcarddav.org
> _______________________________________________
> VCARDDAV mailing list
> VCARDDAV@ietf.org
> https://www.ietf.org/mailman/listinfo/vcarddav
>



-- 
Daisuke Miyakawa (宮川大輔)
d.miyakawa@gmail.com