Re: [Sip] SIPit21: BNF future-proofing problem?
Jonathan Rosenberg <jdrosen@cisco.com> Wed, 05 December 2007 22:14 UTC
Return-path: <sip-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1J02Vp-0000zC-SL; Wed, 05 Dec 2007 17:14:37 -0500
Received: from sip by megatron.ietf.org with local (Exim 4.43) id 1J02Vo-0000yo-2E for sip-confirm+ok@megatron.ietf.org; Wed, 05 Dec 2007 17:14:36 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1J02Vn-0000ye-Mv for sip@ietf.org; Wed, 05 Dec 2007 17:14:35 -0500
Received: from sj-iport-4.cisco.com ([171.68.10.86]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1J02Vn-0005xX-1Y for sip@ietf.org; Wed, 05 Dec 2007 17:14:35 -0500
Received: from sj-dkim-1.cisco.com ([171.71.179.21]) by sj-iport-4.cisco.com with ESMTP; 05 Dec 2007 14:14:35 -0800
Received: from sj-core-2.cisco.com (sj-core-2.cisco.com [171.71.177.254]) by sj-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id lB5MEYap019297; Wed, 5 Dec 2007 14:14:34 -0800
Received: from xbh-sjc-211.amer.cisco.com (xbh-sjc-211.cisco.com [171.70.151.144]) by sj-core-2.cisco.com (8.12.10/8.12.6) with ESMTP id lB5MET77001380; Wed, 5 Dec 2007 22:14:34 GMT
Received: from xfe-sjc-211.amer.cisco.com ([171.70.151.174]) by xbh-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 5 Dec 2007 14:14:31 -0800
Received: from [10.21.94.113] ([10.21.94.113]) by xfe-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 5 Dec 2007 14:14:30 -0800
Message-ID: <475722EB.4030203@cisco.com>
Date: Wed, 05 Dec 2007 17:15:07 -0500
From: Jonathan Rosenberg <jdrosen@cisco.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: Robert Sparks <rjsparks@nostrum.com>
Subject: Re: [Sip] SIPit21: BNF future-proofing problem?
References: <316F9CB1-959B-4CB9-AED5-DCB46AC2741A@nostrum.com>
In-Reply-To: <316F9CB1-959B-4CB9-AED5-DCB46AC2741A@nostrum.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 05 Dec 2007 22:14:31.0000 (UTC) FILETIME=[35587D80:01C8378C]
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=4691; t=1196892874; x=1197756874; c=relaxed/simple; s=sjdkim1004; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=jdrosen@cisco.com; z=From:=20Jonathan=20Rosenberg=20<jdrosen@cisco.com> |Subject:=20Re=3A=20[Sip]=20SIPit21=3A=20BNF=20future-proofing=20problem? |Sender:=20; bh=XeF7tdqbvgy/ALDyiYSNsQDRExhq7qJG+6SpyYNIK8M=; b=Xu9VFU+KVFyPBys/aqwGt3qMnaPmFXKXBXxmsec3p4eisz0vAiOohCF2n9fhqYHobTGTszzv nzXckwzVasS3mcTkFtg20KBia+y3xcha5jgGl9HoCZLwxDYksmbhSLQzMKsFMkf/lfuOgw6gfW IRqx7sjASGIsXlt+9VKkWH3mk=;
Authentication-Results: sj-dkim-1; header.From=jdrosen@cisco.com; dkim=pass ( sig from cisco.com/sjdkim1004 verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: e1b0e72ff1bbd457ceef31828f216a86
Cc: sip List <sip@ietf.org>
X-BeenThere: sip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Session Initiation Protocol <sip.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sip@ietf.org>
List-Help: <mailto:sip-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sip>, <mailto:sip-request@ietf.org?subject=subscribe>
Errors-To: sip-bounces@ietf.org
This strikes me as a problem in theory and not in practice. AFAICT, the only characters you can't use are ascii 0x00-0x19 (0x20 is space and is possible through the LWS construct as Christer pointed out). Is there a practical use case for any of these? They are: Decimal Octal Hex Binary Value ------- ----- --- ------ ----- 000 000 000 00000000 NUL (Null char.) 001 001 001 00000001 SOH (Start of Header) 002 002 002 00000010 STX (Start of Text) 003 003 003 00000011 ETX (End of Text) 004 004 004 00000100 EOT (End of Transmission) 005 005 005 00000101 ENQ (Enquiry) 006 006 006 00000110 ACK (Acknowledgment) 007 007 007 00000111 BEL (Bell) 008 010 008 00001000 BS (Backspace) 009 011 009 00001001 HT (Horizontal Tab) 010 012 00A 00001010 LF (Line Feed) 011 013 00B 00001011 VT (Vertical Tab) 012 014 00C 00001100 FF (Form Feed) 013 015 00D 00001101 CR (Carriage Return) 014 016 00E 00001110 SO (Shift Out) 015 017 00F 00001111 SI (Shift In) 016 020 010 00010000 DLE (Data Link Escape) 017 021 011 00010001 DC1 (XON) (Device Control 1) 018 022 012 00010010 DC2 (Device Control 2) 019 023 013 00010011 DC3 (XOFF)(Device Control 3) 020 024 014 00010100 DC4 (Device Control 4) 021 025 015 00010101 NAK (Negative Acknowledgement) 022 026 016 00010110 SYN (Synchronous Idle) 023 027 017 00010111 ETB (End of Trans. Block) 024 030 018 00011000 CAN (Cancel) 025 031 019 00011001 EM (End of Medium) 026 032 01A 00011010 SUB (Substitute) 027 033 01B 00011011 ESC (Escape) 028 034 01C 00011100 FS (File Separator) 029 035 01D 00011101 GS (Group Separator) 030 036 01E 00011110 RS (Request to Send)(Record Separator) 031 037 01F 00011111 US (Unit Separator) I don't think this is a real problem. -Jonathan R. Robert Sparks wrote: > The BNF in 3261 says the following: > > extension-header = header-name HCOLON header-value > header-value = *(TEXT-UTF8char / UTF8-CONT / LWS) > > This is intended to be the catch-all field for all future extensions - > older parsers working against this BNF shouldn't barf > when we introduce a new header field. > > Now, we may have new fields in the future that look like: > > NewHeader = new-header-name HCOLON quoted-string > > And down inside quoted-string, we get: > > quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE > qdtext = LWS / %x21 / %x23-5B / %x5D-7E > / UTF8-NONASCII > quoted-pair = "\" (%x00-09 / %x0B-0C > / %x0E-7F) > > So, for instance, we could have inside a quoted string the 2 byte > sequence \ NULL > > This does not parse against header-value above... > > Is this a problem? Some of the SIPit21 participants argued that it is. > > The projects I've been involved in don't parse unknown headers and the > stacks will just hand up an unparsed bucket of bits (the only rules > used are those necessary to identify the next header-field starting). > > Would it be worth the effort to make the BNF reflect that rather than > continuing with the incongruity that we currently specify? > > RjS > > > _______________________________________________ > Sip mailing list https://www1.ietf.org/mailman/listinfo/sip > This list is for NEW development of the core SIP Protocol > Use sip-implementors@cs.columbia.edu for questions on current sip > Use sipping@ietf.org for new developments on the application of sip > -- Jonathan D. Rosenberg, Ph.D. 499 Thornall St. Cisco Fellow Edison, NJ 08837 Cisco, Voice Technology Group jdrosen@cisco.com http://www.jdrosen.net PHONE: (408) 902-3084 http://www.cisco.com _______________________________________________ Sip mailing list https://www1.ietf.org/mailman/listinfo/sip This list is for NEW development of the core SIP Protocol Use sip-implementors@cs.columbia.edu for questions on current sip Use sipping@ietf.org for new developments on the application of sip
- [Sip] SIPit21: BNF future-proofing problem? Robert Sparks
- RE: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- Re: [Sip] SIPit21: BNF future-proofing problem? Hisham Khartabil
- Re: [Sip] SIPit21: BNF future-proofing problem? Hisham Khartabil
- RE: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- Re: [Sip] SIPit21: BNF future-proofing problem? Robert Sparks
- RE: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- Re: [Sip] SIPit21: BNF future-proofing problem? Adam Roach
- Re: [Sip] SIPit21: BNF future-proofing problem? Adam Roach
- RE: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- RE: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- RE: [Sip] SIPit21: BNF future-proofing problem? T Satyanarayana-A12694
- RE: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- Re: [Sip] SIPit21: BNF future-proofing problem? Dale.Worley
- RE: [Sip] SIPit21: BNF future-proofing problem? T Satyanarayana-A12694
- VS: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- Re: [Sip] SIPit21: BNF future-proofing problem? Jonathan Rosenberg
- Re: [Sip] SIPit21: BNF future-proofing problem? Dale.Worley
- VS: [Sip] SIPit21: BNF future-proofing problem? Christer Holmberg
- Re: VS: [Sip] SIPit21: BNF future-proofing proble… Jonathan Rosenberg
- Re: VS: [Sip] SIPit21: BNF future-proofing proble… Thomas Froment
- RE: VS: [Sip] SIPit21: BNF future-proofing proble… Christer Holmberg
- Re: VS: [Sip] SIPit21: BNF future-proofing proble… Thomas Froment
- RE: VS: [Sip] SIPit21: BNF future-proofing proble… Christer Holmberg
- RE: VS: [Sip] SIPit21: BNF future-proofing proble… Christer Holmberg
- RE: VS: [Sip] SIPit21: BNF future-proofing proble… T Satyanarayana-A12694
- Re: VS: [Sip] SIPit21: BNF future-proofing proble… Jonathan Rosenberg
- Re: VS: [Sip] SIPit21: BNF future-proofing proble… Jonathan Rosenberg