Re: [VCARDDAV] [calsify] Escaping dquote in a parameter value
Cyrus Daboo <cyrus@daboo.name> Wed, 20 June 2012 13:53 UTC
Return-Path: <cyrus@daboo.name>
X-Original-To: vcarddav@ietfa.amsl.com
Delivered-To: vcarddav@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: [VCARDDAV] [calsify] Escaping dquote in a parameter value
X-BeenThere: vcarddav@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF vcarddav wg mailing list <vcarddav.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: 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
- [VCARDDAV] Escaping dquote in a parameter value Cyrus Daboo
- Re: [VCARDDAV] [calsify] Escaping dquote in a par… Cyrus Daboo
- Re: [VCARDDAV] Escaping dquote in a parameter val… Simon Perreault
- Re: [VCARDDAV] [calsify] Escaping dquote in a par… Jack
- Re: [VCARDDAV] Escaping dquote in a parameter val… Cyrus Daboo