Re: [VCARDDAV] draft-ietf-vcarddav-vcardrev-10 Possible Errata/Questions

Florian Zeitz <florob@babelmonkeys.de> Tue, 06 April 2010 13:43 UTC

Return-Path: <florob@babelmonkeys.de>
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 ADE3D3A6923 for <vcarddav@core3.amsl.com>; Tue, 6 Apr 2010 06:43:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.249
X-Spam-Level:
X-Spam-Status: No, score=-2.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_DE=0.35]
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 ZqXr7376-Vh6 for <vcarddav@core3.amsl.com>; Tue, 6 Apr 2010 06:43:52 -0700 (PDT)
Received: from babelmonkeys.de (v64231.topnetworks.de [82.197.159.233]) by core3.amsl.com (Postfix) with ESMTP id 9D9F83A6903 for <vcarddav@ietf.org>; Tue, 6 Apr 2010 06:43:51 -0700 (PDT)
Received: from xdsl-213-196-244-198.netcologne.de ([213.196.244.198] helo=[192.168.0.38]) by babelmonkeys.de with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from <florob@babelmonkeys.de>) id 1Nz94F-0002Cg-9H for vcarddav@ietf.org; Tue, 06 Apr 2010 15:43:47 +0200
Message-ID: <4BBB3A8C.2040506@babelmonkeys.de>
Date: Tue, 06 Apr 2010 15:43:40 +0200
From: Florian Zeitz <florob@babelmonkeys.de>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.8) Gecko/20100322 Thunderbird/3.0.3
MIME-Version: 1.0
To: vcarddav@ietf.org
References: <4BB3EC89.5080809@babelmonkeys.de> <4BBB3353.8020902@viagenie.ca>
In-Reply-To: <4BBB3353.8020902@viagenie.ca>
X-Enigmail-Version: 1.0.1
Content-Type: text/plain; charset="ISO-8859-15"
Content-Transfer-Encoding: 8bit
Subject: Re: [VCARDDAV] draft-ietf-vcarddav-vcardrev-10 Possible Errata/Questions
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: Tue, 06 Apr 2010 13:43:53 -0000

On 2010-04-06 15:12 Simon Perreault wrote:
> First, thank you very much for this review! You caught many important bugs!
> 
Well, thank you for taking the time to read it and act upon it ;)
Especially since it was rather lengthy.

> On 2010-03-31 20:44, Florian Zeitz wrote:
>> »Finally, newline (ASCII decimal 10) and backslash (ASCII decimal 92)
>>     characters in values MUST be escaped by prefixing them with a
>>     backslash character.«
>> Is this intended? While it is not unheard of to prefix newline
>> characters with a backslash character to escaping it I would have
>> expected that "\n" is used here for consistency.
> 
> I'm not sure I understand your point perfectly, but I agree that this is
> confusing. Here's the proposed new text:
> 
>>     <t>Finally, BACKSLASH characters in values MUST be escaped with a
>> BACKSLASH
>>       character. NEWLINE (ASCII decimal 10) characters in values MUST
>> be encoded
>>       by two characters: a BACKSLASH followed by an 'n' (ASCII decimal
>> 110).</t>
> 
> Is this clearer? If not, how else could it be made clearer?
> 
Yes this is a lot clearer. To clarify my concern, IMHO the old text
stated that you escape a NEWLINE with a BACKSLASH followed by a NEWLINE
character.

>> Section 4. Property Value Data Types:
>> »text-list = *TEXT-LIST-CHAR *("," *TEXT-LIST-CHAR)«
>> I suspect this was supposed to say
>> "text-list = 1*TEXT-LIST-CHAR *("," 1*TEXT-LIST-CHAR)"
>> so that empty list entries are not allowed.
> 
> No. Empty lists are allowed. It is perfectly fine to have e.g.
> 
> NICKNAME:
> 
> which means: "I have one nickname, and it is the empty string."
> 
>> If it was on purpose it could also be rewritten as
>> "text-list = *(*"," *TEXT-LIST-CHAR)"
>> admittedly this is not beautiful, but would make it clearer that empty
>> list entries are allowed and might avoid misinterpretation.
> 
> I disagree. I think it would be much more confusing because then the
> production *TEXT-LIST-CHAR would no longer represent a single text value.
> 
Why would *TEXT-LIST-CHAR not represent a single text value any more?
Anyway, I'm fine with this even though I don't really see the use-case.

>> PID/CLIENTPIDMAP:
>> The specification is IMHO a bit confusing in regard to PIDs and
>> CLIENTPIDMAP. It is said that a PID can be either of the form "n" or
>> "n.m" where n and m are small numbers. CLIENTPIDMAPs however seem to
>> assume a PID always has 2 fields the second being a "PID source
>> identifier". Does that mean a PID of the form "n" can not be mapped to a
>> UUID?
> 
> Yes, that's exactly it. The second field of a PID has only one purpose:
> to match it against a UUID. If you're not using CLIENTPIDMAP, you should
> use the "n" form.
> 
>> Is there any reason to allow this form at all? None of the
>> examples seem to use it.
> 
> Some people argued a lot for having just a "single small integer"...
> 
I think my basic concern about this is that if you're not using
CLIENTPIDMAP the synchronization described in Section 7 doesn't work
(AFAICT).
I suspect that regardless of whether Section 7 is to be split in a
separate RFC, some text will be needed to make everything work together.

> Thanks,
> Simon

--
Florian Zeitz