
From cyrus@daboo.name  Tue Jun 19 19:56:25 2012
Return-Path: <cyrus@daboo.name>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5CF1B11E80A3; Tue, 19 Jun 2012 19:56:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level: 
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d37ma9f0MWvq; Tue, 19 Jun 2012 19:56:24 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 79EC711E808E; Tue, 19 Jun 2012 19:56:24 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id C204829B2621; Tue, 19 Jun 2012 22:56:23 -0400 (EDT)
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 JVqqm6ylMM+m; Tue, 19 Jun 2012 22:56:22 -0400 (EDT)
Received: from [10.0.1.8] (unknown [173.13.55.49]) by daboo.name (Postfix) with ESMTPSA id 4D91C29B2616; Tue, 19 Jun 2012 22:56:22 -0400 (EDT)
Date: Tue, 19 Jun 2012 22:56:34 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: vcarddav@ietf.org, Calsify <calsify@ietf.org>
Message-ID: <50174924F12AC68AE58D5384@cyrus.local>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size=1664
Subject: [calsify] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Jun 2012 02:56:25 -0000

Hi,
As I am sure most people are aware, a double-quote character is forbidden 
to appear in a parameter value in both vCard and iCalendar. Yet there is a 
need to preserve double-quotes in a parameter value. So I am going to 
propose an extension to the specifications whereby a new escape mechanism 
is introduced solely for the purpose of allowing d-quote in a parameter 
value in a backwards compatible manner.

My proposal is to use ^ (0x5e) as an escape character, with only the 
following two sequences allowed:

^^ - represents a single ^ character
^' - represents a single d-quote character

I ruled out use of \ because some parsers erroneously eat that, and it 
would also be tempting to use \" which is definitely not possible because 
the dquote cannot appear.

I also ruled out & (XML/HTML entity style) and % (URI style) style escaping 
as being too general - we don't need to escape arbitrary characters - only 
dquote. Also, I think & and % are already in common use in parameter values 
that have URIs, so would end up being escaped themselves a lot more. I 
suspect ^ is one of the least used characters and so the need to escape the 
escape character is less.

Obviously there would need to be some backwards compatibility statement in 
regard to what to do with existing values with a single ^. I would suggest 
any combination that is not one of the above two, should be left alone when 
parsing. But when generating, it would be escaped as ^^.

There are probably some other ascii symbols that are infrequently used too, 
that we could pick if there are strong arguments against ^, but for now I 
am happy with ^.

Thoughts?

-- 
Cyrus Daboo


From calsify-bounces@ietf.org  Tue Jun 19 19:56:26 2012
Return-Path: <calsify-bounces@ietf.org>
X-Original-To: calsify-archive-feit0ahl@lists.ietf.org
Delivered-To: ietfarch-calsify-archive-Feit0ahl@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7833F11E80A3; Tue, 19 Jun 2012 19:56:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1340160986; bh=LTDbODrKGGV78Cb7PAmFpuu9KjLEdttvMrZi8Np50JA=; h=Date:From:To:Message-ID:MIME-Version:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: Content-Transfer-Encoding:Content-Type:Sender; b=mkIAi58Sh72dZEXQKrmKMP4B7akG4rfl4IZ+DLMorUJKQO2M4j2GA9P7RyuEeOP9z iAnpTgBVlnTNpWSGKdB0dRP4Otx6a+DS4zqK7mDplJjbsLlvcRjZbSYD7dFhrnFuKz BuPx0u6pRAvMevaIh3LaWC3H0yHKO9xiZn3P0wQM=
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5CF1B11E80A3; Tue, 19 Jun 2012 19:56:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level: 
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d37ma9f0MWvq; Tue, 19 Jun 2012 19:56:24 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 79EC711E808E; Tue, 19 Jun 2012 19:56:24 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id C204829B2621; Tue, 19 Jun 2012 22:56:23 -0400 (EDT)
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 JVqqm6ylMM+m; Tue, 19 Jun 2012 22:56:22 -0400 (EDT)
Received: from [10.0.1.8] (unknown [173.13.55.49]) by daboo.name (Postfix) with ESMTPSA id 4D91C29B2616; Tue, 19 Jun 2012 22:56:22 -0400 (EDT)
Date: Tue, 19 Jun 2012 22:56:34 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: vcarddav@ietf.org, Calsify <calsify@ietf.org>
Message-ID: <50174924F12AC68AE58D5384@cyrus.local>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline; size=1664
Subject: [calsify] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: calsify-bounces@ietf.org
Errors-To: calsify-bounces@ietf.org

Hi,
As I am sure most people are aware, a double-quote character is forbidden 
to appear in a parameter value in both vCard and iCalendar. Yet there is a 
need to preserve double-quotes in a parameter value. So I am going to 
propose an extension to the specifications whereby a new escape mechanism 
is introduced solely for the purpose of allowing d-quote in a parameter 
value in a backwards compatible manner.

My proposal is to use ^ (0x5e) as an escape character, with only the 
following two sequences allowed:

^^ - represents a single ^ character
^' - represents a single d-quote character

I ruled out use of \ because some parsers erroneously eat that, and it 
would also be tempting to use \" which is definitely not possible because 
the dquote cannot appear.

I also ruled out & (XML/HTML entity style) and % (URI style) style escaping 
as being too general - we don't need to escape arbitrary characters - only 
dquote. Also, I think & and % are already in common use in parameter values 
that have URIs, so would end up being escaped themselves a lot more. I 
suspect ^ is one of the least used characters and so the need to escape the 
escape character is less.

Obviously there would need to be some backwards compatibility statement in 
regard to what to do with existing values with a single ^. I would suggest 
any combination that is not one of the above two, should be left alone when 
parsing. But when generating, it would be escaped as ^^.

There are probably some other ascii symbols that are infrequently used too, 
that we could pick if there are strong arguments against ^, but for now I 
am happy with ^.

Thoughts?

-- 
Cyrus Daboo

_______________________________________________
calsify mailing list
calsify@ietf.org
https://www.ietf.org/mailman/listinfo/calsify

From calsify-bounces@ietf.org  Tue Jun 19 23:56:57 2012
Return-Path: <calsify-bounces@ietf.org>
X-Original-To: calsify-archive-feit0ahl@lists.ietf.org
Delivered-To: ietfarch-calsify-archive-Feit0ahl@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 16AC421F86E4; Tue, 19 Jun 2012 23:56:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1340175417; bh=Vzlh/EHsKsKW+0DcQ2oywXJCXZ78OWy1VDmm51/3/hI=; h=Message-ID:Date:From:MIME-Version:To:References:In-Reply-To:Cc: Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help: List-Subscribe:Content-Transfer-Encoding:Content-Type:Sender; b=x6pJPHCR6WtIce3WRMju1gbb59PryqjVQe8whWDjyaGRUi6fprrTVkCpwd4YqCK2a K26M6qUNFOIs3z9YwlSkz/ruFoxKU6n5LIbI7n6zGYmYu5znHS79y/qqXyCy5GN2bO FN7qhwiaJUJG5zAw01qTTxamizGrGrY+aDoXvMeg=
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8389C21F86E4; Tue, 19 Jun 2012 23:56:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C3Ba4GQ8FIJN; Tue, 19 Jun 2012 23:56:55 -0700 (PDT)
Received: from saraha.jackpot.uk.net (saraha.jackpot.uk.net [87.194.213.229]) by ietfa.amsl.com (Postfix) with ESMTP id DE74121F86DE; Tue, 19 Jun 2012 23:56:54 -0700 (PDT)
Received: from [192.168.1.10] (unknown [192.168.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: jack) by saraha.jackpot.uk.net (Postfix) with ESMTPSA id 28EF2A9004F; Wed, 20 Jun 2012 07:56:52 +0100 (BST)
Message-ID: <4FE1742C.1030806@jackpot.uk.net>
Date: Wed, 20 Jun 2012 07:56:44 +0100
From: Jack <jack@jackpot.uk.net>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
MIME-Version: 1.0
To: Cyrus Daboo <cyrus@daboo.name>
References: <50174924F12AC68AE58D5384@cyrus.local>
In-Reply-To: <50174924F12AC68AE58D5384@cyrus.local>
Cc: Calsify <calsify@ietf.org>, vcarddav@ietf.org
Subject: Re: [calsify] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: calsify-bounces@ietf.org
Errors-To: calsify-bounces@ietf.org

On 20/06/2012 03:56, Cyrus Daboo wrote:
> Hi, As I am sure most people are aware, a double-quote character is
> forbidden to appear in a parameter value in both vCard and iCalendar.
>  Yet there is a need to preserve double-quotes in a parameter value.
> So I am going to propose an extension to the specifications whereby a
> new escape mechanism is introduced solely for the purpose of allowing
>  d-quote in a parameter value in a backwards compatible manner.
>
> My proposal is to use ^ (0x5e) as an escape character, with only the
>  following two sequences allowed:
>
> ^^ - represents a single ^ character ^' - represents a single d-quote
> character
>
> I ruled out use of \ because some parsers erroneously eat that, and
> it would also be tempting to use \" which is definitely not possible
>  because the dquote cannot appear.

However "\" is already specified in RFC2445 as the escape character in
TEXT (4.3.11).

That section specifies that a DQUOTE is not to appear in a TEXT; but it
also specifies that a ";" shall not appear in a TEXT, and then goes on
to specify that a ";" must be escaped thus: "\;". So I read it as saying
(as clearly as anything is said in that document) that a DQUOTE should
be escaped thus: "\"".

-- 
Jack.
_______________________________________________
calsify mailing list
calsify@ietf.org
https://www.ietf.org/mailman/listinfo/calsify

From jack@jackpot.uk.net  Tue Jun 19 23:56:55 2012
Return-Path: <jack@jackpot.uk.net>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8389C21F86E4; Tue, 19 Jun 2012 23:56:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C3Ba4GQ8FIJN; Tue, 19 Jun 2012 23:56:55 -0700 (PDT)
Received: from saraha.jackpot.uk.net (saraha.jackpot.uk.net [87.194.213.229]) by ietfa.amsl.com (Postfix) with ESMTP id DE74121F86DE; Tue, 19 Jun 2012 23:56:54 -0700 (PDT)
Received: from [192.168.1.10] (unknown [192.168.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: jack) by saraha.jackpot.uk.net (Postfix) with ESMTPSA id 28EF2A9004F; Wed, 20 Jun 2012 07:56:52 +0100 (BST)
Message-ID: <4FE1742C.1030806@jackpot.uk.net>
Date: Wed, 20 Jun 2012 07:56:44 +0100
From: Jack <jack@jackpot.uk.net>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
MIME-Version: 1.0
To: Cyrus Daboo <cyrus@daboo.name>
References: <50174924F12AC68AE58D5384@cyrus.local>
In-Reply-To: <50174924F12AC68AE58D5384@cyrus.local>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: Calsify <calsify@ietf.org>, vcarddav@ietf.org
Subject: Re: [calsify] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Jun 2012 06:56:55 -0000

On 20/06/2012 03:56, Cyrus Daboo wrote:
> Hi, As I am sure most people are aware, a double-quote character is
> forbidden to appear in a parameter value in both vCard and iCalendar.
>  Yet there is a need to preserve double-quotes in a parameter value.
> So I am going to propose an extension to the specifications whereby a
> new escape mechanism is introduced solely for the purpose of allowing
>  d-quote in a parameter value in a backwards compatible manner.
>
> My proposal is to use ^ (0x5e) as an escape character, with only the
>  following two sequences allowed:
>
> ^^ - represents a single ^ character ^' - represents a single d-quote
> character
>
> I ruled out use of \ because some parsers erroneously eat that, and
> it would also be tempting to use \" which is definitely not possible
>  because the dquote cannot appear.

However "\" is already specified in RFC2445 as the escape character in
TEXT (4.3.11).

That section specifies that a DQUOTE is not to appear in a TEXT; but it
also specifies that a ";" shall not appear in a TEXT, and then goes on
to specify that a ";" must be escaped thus: "\;". So I read it as saying
(as clearly as anything is said in that document) that a DQUOTE should
be escaped thus: "\"".

-- 
Jack.

From cyrus@daboo.name  Wed Jun 20 06:53:40 2012
Return-Path: <cyrus@daboo.name>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CA38721F85FB; Wed, 20 Jun 2012 06:53:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.901
X-Spam-Level: 
X-Spam-Status: No, score=-101.901 tagged_above=-999 required=5 tests=[AWL=0.698, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gCu81Sph813s; Wed, 20 Jun 2012 06:53:40 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 387A421F8634; Wed, 20 Jun 2012 06:53:40 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 3498729B7ED1; Wed, 20 Jun 2012 09:53:38 -0400 (EDT)
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 EFzT85bx3EAy; Wed, 20 Jun 2012 09:53:31 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id 17FA629B7EBF; Wed, 20 Jun 2012 09:53:30 -0400 (EDT)
Date: Wed, 20 Jun 2012 09:53:28 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Jack <jack@jackpot.uk.net>
Message-ID: <A1C922200A67743844DDA5CD@caldav.corp.apple.com>
In-Reply-To: <4FE1742C.1030806@jackpot.uk.net>
References: <50174924F12AC68AE58D5384@cyrus.local> <4FE1742C.1030806@jackpot.uk.net>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size=1723
Cc: Calsify <calsify@ietf.org>, vcarddav@ietf.org
Subject: Re: [calsify] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Jun 2012 13:53:40 -0000

Hi Jack,

--On June 20, 2012 7:56:44 AM +0100 Jack <jack@jackpot.uk.net> wrote:

>> I ruled out use of \ because some parsers erroneously eat that, and
>> it would also be tempting to use \" which is definitely not possible
>>  because the dquote cannot appear.
>
> However "\" is already specified in RFC2445 as the escape character in
> TEXT (4.3.11).
>
> That section specifies that a DQUOTE is not to appear in a TEXT; but it
> also specifies that a ";" shall not appear in a TEXT, and then goes on
> to specify that a ";" must be escaped thus: "\;". So I read it as saying
> (as clearly as anything is said in that document) that a DQUOTE should
> be escaped thus: "\"".

First please use RFC5545 as your reference not RFC2445.

Second, the syntax for a parameter value, as opposed to a property value, 
is different. Here is the 5545 syntax:

     param-value   = paramtext / quoted-string

     paramtext     = *SAFE-CHAR

     quoted-string = DQUOTE *QSAFE-CHAR DQUOTE

     QSAFE-CHAR    = WSP / %x21 / %x23-7E / NON-US-ASCII
     ; Any character except CONTROL and DQUOTE

     SAFE-CHAR     = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E
                   / NON-US-ASCII
     ; Any character except CONTROL, DQUOTE, ";", ":", ","

So a DQUOTE is not allowed in either paramtext or quoted-string, and there 
is no affordance for any kind of escape character.

It is also true that CONTROL characters are not allowed. Now that I think 
of it, there have been situations I have come across where line feeds at 
least were needed in a parameter value. That suggest that perhaps my 
proposed ^ escape mechanism should be broadened to allow some specific 
CONTROLs, e.g.:

^n  - LF
^r  - CR
^t  - HTAB



-- 
Cyrus Daboo


From calsify-bounces@ietf.org  Wed Jun 20 06:53:42 2012
Return-Path: <calsify-bounces@ietf.org>
X-Original-To: calsify-archive-feit0ahl@lists.ietf.org
Delivered-To: ietfarch-calsify-archive-Feit0ahl@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5A8BD21F8634; Wed, 20 Jun 2012 06:53:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1340200422; bh=YodO8BlOMenulUIp/RVx2vmUobOdr2go6bkkpjE3KeM=; h=Date:From:To:Message-ID:In-Reply-To:References:MIME-Version:Cc: Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help: List-Subscribe:Content-Transfer-Encoding:Content-Type:Sender; b=yiRgQRjrp/cDByaQErbCxmcOCEuvtIZ87MUQnnkvaMUVcc0qU6vLwQ+KxU09TdFpl dx8iPmpjTfg+3KoWedfzff9LcLpmIqjCrxv4MgyVMHnFKCG7PJ0AzotXtEB/EsjTM1 ycq9hQdx6H9uv92HZAL0yS9nXZjFX250BnhqMJXs=
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CA38721F85FB; Wed, 20 Jun 2012 06:53:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.901
X-Spam-Level: 
X-Spam-Status: No, score=-101.901 tagged_above=-999 required=5 tests=[AWL=0.698, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gCu81Sph813s; Wed, 20 Jun 2012 06:53:40 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 387A421F8634; Wed, 20 Jun 2012 06:53:40 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 3498729B7ED1; Wed, 20 Jun 2012 09:53:38 -0400 (EDT)
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 EFzT85bx3EAy; Wed, 20 Jun 2012 09:53:31 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id 17FA629B7EBF; Wed, 20 Jun 2012 09:53:30 -0400 (EDT)
Date: Wed, 20 Jun 2012 09:53:28 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Jack <jack@jackpot.uk.net>
Message-ID: <A1C922200A67743844DDA5CD@caldav.corp.apple.com>
In-Reply-To: <4FE1742C.1030806@jackpot.uk.net>
References: <50174924F12AC68AE58D5384@cyrus.local> <4FE1742C.1030806@jackpot.uk.net>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline; size=1723
Cc: Calsify <calsify@ietf.org>, vcarddav@ietf.org
Subject: Re: [calsify] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: calsify-bounces@ietf.org
Errors-To: calsify-bounces@ietf.org

Hi Jack,

--On June 20, 2012 7:56:44 AM +0100 Jack <jack@jackpot.uk.net> wrote:

>> I ruled out use of \ because some parsers erroneously eat that, and
>> it would also be tempting to use \" which is definitely not possible
>>  because the dquote cannot appear.
>
> However "\" is already specified in RFC2445 as the escape character in
> TEXT (4.3.11).
>
> That section specifies that a DQUOTE is not to appear in a TEXT; but it
> also specifies that a ";" shall not appear in a TEXT, and then goes on
> to specify that a ";" must be escaped thus: "\;". So I read it as saying
> (as clearly as anything is said in that document) that a DQUOTE should
> be escaped thus: "\"".

First please use RFC5545 as your reference not RFC2445.

Second, the syntax for a parameter value, as opposed to a property value, 
is different. Here is the 5545 syntax:

     param-value   = paramtext / quoted-string

     paramtext     = *SAFE-CHAR

     quoted-string = DQUOTE *QSAFE-CHAR DQUOTE

     QSAFE-CHAR    = WSP / %x21 / %x23-7E / NON-US-ASCII
     ; Any character except CONTROL and DQUOTE

     SAFE-CHAR     = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E
                   / NON-US-ASCII
     ; Any character except CONTROL, DQUOTE, ";", ":", ","

So a DQUOTE is not allowed in either paramtext or quoted-string, and there 
is no affordance for any kind of escape character.

It is also true that CONTROL characters are not allowed. Now that I think 
of it, there have been situations I have come across where line feeds at 
least were needed in a parameter value. That suggest that perhaps my 
proposed ^ escape mechanism should be broadened to allow some specific 
CONTROLs, e.g.:

^n  - LF
^r  - CR
^t  - HTAB



-- 
Cyrus Daboo

_______________________________________________
calsify mailing list
calsify@ietf.org
https://www.ietf.org/mailman/listinfo/calsify

From cyrus@daboo.name  Wed Jun 20 07:22:16 2012
Return-Path: <cyrus@daboo.name>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7BBED21F875A; Wed, 20 Jun 2012 07:22:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.25
X-Spam-Level: 
X-Spam-Status: No, score=-102.25 tagged_above=-999 required=5 tests=[AWL=0.349, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WZDRxUswfeSj; Wed, 20 Jun 2012 07:22:16 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 8994521F86DB; Wed, 20 Jun 2012 07:22:15 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 2DD2A29B8609; Wed, 20 Jun 2012 10:22:15 -0400 (EDT)
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 wlHzmlUJRD3d; Wed, 20 Jun 2012 10:22:14 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id 3BB1229B85FE; Wed, 20 Jun 2012 10:22:13 -0400 (EDT)
Date: Wed, 20 Jun 2012 10:22:10 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Simon Perreault <simon.perreault@viagenie.ca>
Message-ID: <1ECDAFD01B81379A9A532D86@caldav.corp.apple.com>
In-Reply-To: <4FE1D6E9.8020303@viagenie.ca>
References: <50174924F12AC68AE58D5384@cyrus.local> <4FE1D6E9.8020303@viagenie.ca>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size=1225
Cc: Calsify <calsify@ietf.org>, vcarddav@ietf.org
Subject: Re: [calsify] [VCARDDAV] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Jun 2012 14:22:16 -0000

Hi Simon,

--On June 20, 2012 9:58:01 AM -0400 Simon Perreault 
<simon.perreault@viagenie.ca> wrote:

> Interesting. I follow your reasoning and agree with your conclusion.
>
> Have you actually come across a parameter value that needed to contain a
> dquote?

yes, there are some cases where it is handy to include additional 
parameters on existing properties. e.g., consider IMPP which is specified 
as a URI for an IM service:

IMPP:xmpp:alice@example.com

Often times, people use arbitrary "display names" (handles) in their IM 
clients, and it would be handy to have those listed in the vcard via a 
parameter on the IMPP property. However, there is no restriction on using a 
DQUOTE in such display names, so we need to allow for DQUOTEs in the 
parameter value.

A similar issue exists for the (now defunct) SOCIALPROFILE property, which 
I still have an interest in using and reviving.

In iCalendar, a good example is the CN parameter (Common Name). Some 
systems allow users to configure their own names so they can add "phrases" 
in the middle, e.g. 'Cyrus "Mulberry Dude" Daboo'. Or perhaps a room or 
resource has a "quoted" title in its name too. So again, there is a need to 
support DQUOTE.

-- 
Cyrus Daboo


From calsify-bounces@ietf.org  Wed Jun 20 07:22:18 2012
Return-Path: <calsify-bounces@ietf.org>
X-Original-To: calsify-archive-feit0ahl@lists.ietf.org
Delivered-To: ietfarch-calsify-archive-Feit0ahl@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 52DB921F8700; Wed, 20 Jun 2012 07:22:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1340202138; bh=9ngPYo2nkiA7u2h/yKz1dg+uIV13B3tMD+aluJkBNCk=; h=Date:From:To:Message-ID:In-Reply-To:References:MIME-Version:Cc: Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help: List-Subscribe:Content-Transfer-Encoding:Content-Type:Sender; b=zQTrMuoutT3XGCtRjuviD8ksq1YrdwaGl3Qrx8XRpde4k62DxYnQ62+/jRjU6DKdO 5ETCBpggZFqhaYMhKz9lH3j7vkTbEyDfqqW2aLwvd3qT5u9ZklZsixbVCEQaJNb4Mg FcYMAQYWsKkJPr0D94M4phupbWVQMyMqMobOIP6k=
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7BBED21F875A; Wed, 20 Jun 2012 07:22:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.25
X-Spam-Level: 
X-Spam-Status: No, score=-102.25 tagged_above=-999 required=5 tests=[AWL=0.349, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WZDRxUswfeSj; Wed, 20 Jun 2012 07:22:16 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) by ietfa.amsl.com (Postfix) with ESMTP id 8994521F86DB; Wed, 20 Jun 2012 07:22:15 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 2DD2A29B8609; Wed, 20 Jun 2012 10:22:15 -0400 (EDT)
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 wlHzmlUJRD3d; Wed, 20 Jun 2012 10:22:14 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id 3BB1229B85FE; Wed, 20 Jun 2012 10:22:13 -0400 (EDT)
Date: Wed, 20 Jun 2012 10:22:10 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Simon Perreault <simon.perreault@viagenie.ca>
Message-ID: <1ECDAFD01B81379A9A532D86@caldav.corp.apple.com>
In-Reply-To: <4FE1D6E9.8020303@viagenie.ca>
References: <50174924F12AC68AE58D5384@cyrus.local> <4FE1D6E9.8020303@viagenie.ca>
X-Mailer: Mulberry/4.1.0a3 (Mac OS X)
MIME-Version: 1.0
Content-Disposition: inline; size=1225
Cc: Calsify <calsify@ietf.org>, vcarddav@ietf.org
Subject: Re: [calsify] [VCARDDAV] Escaping dquote in a parameter value
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: calsify-bounces@ietf.org
Errors-To: calsify-bounces@ietf.org

Hi Simon,

--On June 20, 2012 9:58:01 AM -0400 Simon Perreault 
<simon.perreault@viagenie.ca> wrote:

> Interesting. I follow your reasoning and agree with your conclusion.
>
> Have you actually come across a parameter value that needed to contain a
> dquote?

yes, there are some cases where it is handy to include additional 
parameters on existing properties. e.g., consider IMPP which is specified 
as a URI for an IM service:

IMPP:xmpp:alice@example.com

Often times, people use arbitrary "display names" (handles) in their IM 
clients, and it would be handy to have those listed in the vcard via a 
parameter on the IMPP property. However, there is no restriction on using a 
DQUOTE in such display names, so we need to allow for DQUOTEs in the 
parameter value.

A similar issue exists for the (now defunct) SOCIALPROFILE property, which 
I still have an interest in using and reviving.

In iCalendar, a good example is the CN parameter (Common Name). Some 
systems allow users to configure their own names so they can add "phrases" 
in the middle, e.g. 'Cyrus "Mulberry Dude" Daboo'. Or perhaps a room or 
resource has a "quoted" title in its name too. So again, there is a need to 
support DQUOTE.

-- 
Cyrus Daboo

_______________________________________________
calsify mailing list
calsify@ietf.org
https://www.ietf.org/mailman/listinfo/calsify
