Re: [Speechsc] Query in the general message header ABNF

sreekanth <sreekanthm@huawei.com> Fri, 29 December 2006 04:07 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1H091Y-00089W-OD; Thu, 28 Dec 2006 23:07:16 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H091X-00089R-AI for speechsc@ietf.org; Thu, 28 Dec 2006 23:07:15 -0500
Received: from szxga01-in.huawei.com ([61.144.161.53]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1H08r4-0000NK-Pq for speechsc@ietf.org; Thu, 28 Dec 2006 23:07:15 -0500
Received: from huawei.com (szxga01-in [172.24.2.3]) by szxga01-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTP id <0JB000ETGNP2I5@szxga01-in.huawei.com> for speechsc@ietf.org; Fri, 29 Dec 2006 11:43:50 +0800 (CST)
Received: from huawei.com ([172.24.1.18]) by szxga01-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTP id <0JB000BOMNOZ55@szxga01-in.huawei.com> for speechsc@ietf.org; Fri, 29 Dec 2006 11:43:50 +0800 (CST)
Received: from HTIPL20760 ([10.18.4.165]) by szxml03-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTPA id <0JB000MXNNOV1I@szxml03-in.huawei.com> for speechsc@ietf.org; Fri, 29 Dec 2006 11:43:47 +0800 (CST)
Date: Fri, 29 Dec 2006 09:13:42 +0530
From: sreekanth <sreekanthm@huawei.com>
Subject: Re: [Speechsc] Query in the general message header ABNF
To: speechsc@ietf.org
Message-id: <003e01c72afb$8a65be30$a504120a@china.huawei.com>
Organization: huawei
MIME-version: 1.0
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-Mailer: Microsoft Outlook Express 6.00.2900.3028
X-Priority: 3
X-MSMail-priority: Normal
References: <C6A1C20DB743364EB446E923B2229FEF02C09BE9@xmb-sjc-229.amer.cisco.com> <002601c70e03$648cfa80$a504120a@china.huawei.com> <00a601c70ef2$de567130$1c00a8c0@Codalogic> <000a01c71785$f29579c0$a504120a@china.huawei.com> <007401c71918$f1bea0a0$1c00a8c0@Codalogic>
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 539f8b288ab42db633e5c7cf1c34fca1
Cc: David R Oran <oran@cisco.com>, "Saravanan Shanmugham (sarvi)" <sarvi@cisco.com>
X-BeenThere: speechsc@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: sreekanth <sreekanthm@huawei.com>
List-Id: Speech Services Control Working Group <speechsc.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/speechsc>, <mailto:speechsc-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:speechsc@ietf.org>
List-Help: <mailto:speechsc-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/speechsc>, <mailto:speechsc-request@ietf.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1238835220=="
Errors-To: speechsc-bounces@ietf.org

Hi ,

This is a quote from the section 6.2 of mrcpv2-draft-11

 message-header = field-name ":" [ field-value ]

 field-name = token

 field-value = *LWS field-content *( CRLF 1*LWS field-content)

 field-content = <the OCTETs making up the field-value
 and consisting of either *TEXT or combinations
 of token, separators, and quoted-string>

We have missed one point in the above grammar for generic headers.There can be an empty line in the field value..

Pls consider the example for the Active-Request-Id-List header...

Active-Request-Id-List: 123, CRLF LWS 125 CRLF

The definition of LWS is  LWS    =    [*WSP CRLF] 1*WSP ; linear whitespace

Now if the LWS again contains CRLF followed by WSP, then it becomes

Active-Request-Id-List: 123, CRLF CRLF WSP 125 CRLF

which as per the ABNF is the beginning of the message body..


I suggest to change the generic grammar to 


 field-value = *LWS field-content *( *LWS field-content)

since any parser implemention MUST be robust enough to receive messages with or without the LWS..

Pls clarify on this..


Regards,
Sreekanth




----- Original Message ----- 
From: "Pete Cordell" <pete@tech-know-ware.com>
To: "sreekanth" <sreekanthm@huawei.com>
Cc: <speechsc@ietf.org>
Sent: Wednesday, December 06, 2006 2:58 PM
Subject: Re: [Speechsc] Query in the general message header ABNF


> It's *LMS and 1*LWS.  Therefore, the following is also legal (although not 
> recommended):
> 
> header:                                      // CRLF and WSP CRLF -> LWS
>                                                  // WSP CRLF -> LWS
>                                                  // WSP CRLF -> LWS
>  foo                                            // WSP CRLF -> LWS
>                                                  // WSP CRLF -> LWS
>                                                  // WSP CRLF -> LWS
>  bar                                            // WSP CRLF -> LWS
>  =                                               // WSP CRLF -> LWS
>  18
> 
> 
> I will have to let others address the other issues you raised.
> 
> Pete.
> --
> =============================================
> Pete Cordell
> Tech-Know-Ware Ltd
> for XML to C++ data binding visit
> http://www.tech-know-ware.com/lmx
> (or http://www.xml2cpp.com)
> =============================================
> 
> ----- Original Message ----- 
> From: "sreekanth" <sreekanthm@huawei.com>
> To: "Pete Cordell" <pete@tech-know-ware.com>
> Cc: <speechsc@ietf.org>; "Saravanan Shanmugham (sarvi)" <sarvi@cisco.com>; 
> "Dan Burnett" <dan_burnett2000@yahoo.com>
> Sent: Monday, December 04, 2006 9:24 AM
> Subject: Re: [Speechsc] Query in the general message header ABNF
> 
> 
>> Hi Pete,
>>
>> Thanks for replying..
>>
>> 1) I still have one more query on the section 6.2 defning the header 
>> grammar..
>>
>> message-header = field-name ":" [ field-value ]
>> field-name = token
>> field-value = *LWS field-content *( CRLF 1*LWS field-content)
>> field-content = <the OCTETs making up the field-value
>>  and consisting of either *TEXT or combinations of token, separators, and 
>> quoted-string>
>>
>> As per the field value syntax, we can msg hdrs like
>>
>> header:                                      // CRLF and WSP CRLF -> LWS
>>                                                  // WSP CRLF -> LWS
>> foo                                            // WSP CRLF -> LWS
>>  bar                                            // WSP CRLF -> LWS
>>  =                                               // WSP CRLF -> LWS
>>  18CRLF
>>
>> Since the LWS([*WSP CRLF] 1*WSP) can again have WSP followed by CRLF.. 
>> There can be 2 lines after the header: in the above example..
>>
>>
>> 2) The draft does not explain the ABNF grammar for Extension header.
>>
>> 3) The ABNF grammar for voiceprint-identifier has some ambiguity .
>>
>>    "Voiceprint-Identifier" ":" 1*VCHAR "." 1*VCHAR *[";" 1*VCHAR "." 
>> 1*VCHAR] CRLF
>>
>>    The seperator '.'  is again part of VCHAR.. So there is a overlap 
>> between the Header Value and the seperator..
>>
>>
>>
>> Pls clarify on this.
>>
>>
>> Regards,
>> Sreekanth
>>

>>
>>
>> ----- Original Message ----- 
>> From: "Pete Cordell" <pete@tech-know-ware.com>
>> To: "sreekanth" <sreekanthm@huawei.com>
>> Cc: <speechsc@ietf.org>
>> Sent: Thursday, November 23, 2006 5:01 PM
>> Subject: Re: [Speechsc] Query in the general message header ABNF
>>
>>
>>> Hi Sreekanth,
>>>
>>> This is the general format of all headers, and the concept is consistent
>>> across many protocols including SMTP, HTTP and SIP.  This general rule
>>> allows you to readily find the beginning of headers without having to do
>>> detailed parsing of each header (e.g. just look for non-white space after 
>>> CR
>>> LF).  It also allows you to skip over, possibly ignorable, headers that 
>>> may
>>> not be defined yet.
>>>
>>> BTW - this isn't just for list type headers.  It can be used for any 
>>> header
>>> that benefits from being spread across multiple lines. e.g.:
>>>
>>> MyHeader: foo
>>>    bar
>>>    do
>>>    da
>>>    =
>>>    18
>>>
>>>
>>> To the doc authors:
>>> --------------------
>>> I note that section 6.2 says: "The value MAY be preceded by any amount of
>>> LWS, though a single SP is preferred."  However, most of the examples 
>>> don't
>>> include a space.  Maybe no space is preferred for MRCP?
>>>
>>> Also, I can't find anywhere that says whether the EBNF grammar is 
>>> explicit
>>> about where white space can be included or not.  Some rules suggest that 
>>> it
>>> is and some rules imply that it is not (i.e. no mention of optional WS).
>>> Sorry if this has been raised before.
>>>
>>> And, just in case it's not been raised before, should the EBNF for the
>>> method name and message-header be made extensible? e.g. something like:
>>>
>>> method-name      =    generic-method
>>>                 /    synthesizer-method
>>>                 /    recorder-method
>>>                 /    recognizer-method
>>>                 /    verifier-method
>>>                 /    token   ; <------
>>>
>>> message-header   =    1*(generic-header / resource-header /
>>> extension-header)
>>>
>>> extension-header = field-name ":" [ field-value ]
>>>
>>> If appropriate, perhaps these issues can be discussed at the start of the
>>> EBNF section (15).
>>>
>>>
>>> HTH,
>>>
>>> Pete.
>>> --
>>> =============================================
>>> Pete Cordell
>>> Tech-Know-Ware Ltd
>>> for XML to C++ data binding visit
>>> http://www.tech-know-ware.com/lmx
>>> (or http://www.xml2cpp.com)
>>> =============================================
>>>
>>> ----- Original Message ----- 
>>> From: "sreekanth" <sreekanthm@huawei.com>
>>> To: "Saravanan Shanmugham (sarvi)" <sarvi@cisco.com>; "Dan Burnett"
>>> <dan_burnett2000@yahoo.com>
>>> Cc: <speechsc@ietf.org>
>>> Sent: Wednesday, November 22, 2006 6:56 AM
>>> Subject: [Speechsc] Query in the general message header ABNF
>>>
>>>
>>>> This is a quote from the section 6.2 of mrcpv2-draft-11
>>>>
>>>> message-header = field-name ":" [ field-value ]
>>>>
>>>> field-name = token
>>>>
>>>> field-value = *LWS field-content *( CRLF 1*LWS field-content)
>>>>
>>>> field-content = <the OCTETs making up the field-value
>>>>
>>>> and consisting of either *TEXT or combinations
>>>>
>>>> of token, separators, and quoted-string>
>>>>
>>>>
>>>>
>>>> As per the above rule if the header if of list type,  is it  mandatory
>>>> that the multiple header values MUST have atleast one LWS???
>>>>
>>>> In the header ABNF already seperator for the multiple values is 
>>>> defined..
>>>> So Why do we need this LWS??
>>>>
>>>> Pls clarify on this.
>>>>
>>>> Sreekanth
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --------------------------------------------------------------------------------
>>>
>>>
>>>> _______________________________________________
>>>> Speechsc mailing list
>>>> Speechsc@ietf.org
>>>> https://www1.ietf.org/mailman/listinfo/speechsc
>>>>
>>>
>>>
>>>
>> 
> 
> 
>
_______________________________________________
Speechsc mailing list
Speechsc@ietf.org
https://www1.ietf.org/mailman/listinfo/speechsc