qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [PATCH 2/6] json-lexer: Handle missing escapes
Date: Mon, 24 May 2010 14:29:58 -0500	[thread overview]
Message-ID: <4BFAD3B6.9050204@codemonkey.ws> (raw)
In-Reply-To: <20100520162235.281f735e@redhat.com>

On 05/20/2010 02:22 PM, Luiz Capitulino wrote:
> On Thu, 20 May 2010 13:52:08 -0500
> Anthony Liguori<anthony@codemonkey.ws>  wrote:
>
>    
>> On 05/20/2010 01:47 PM, Luiz Capitulino wrote:
>>      
>>> On Thu, 20 May 2010 11:55:00 -0500
>>> Anthony Liguori<anthony@codemonkey.ws>   wrote:
>>>
>>>
>>>        
>>>> On 05/20/2010 11:27 AM, Luiz Capitulino wrote:
>>>>
>>>>          
>>>>> On Thu, 20 May 2010 10:50:41 -0500
>>>>> Anthony Liguori<anthony@codemonkey.ws>    wrote:
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>>> On 05/20/2010 10:16 AM, Paolo Bonzini wrote:
>>>>>>
>>>>>>
>>>>>>              
>>>>>>> On 05/20/2010 03:44 PM, Luiz Capitulino wrote:
>>>>>>>
>>>>>>>
>>>>>>>                
>>>>>>>>      I think there's another issue in the handling of strings.
>>>>>>>>
>>>>>>>>      The spec says that valid unescaped chars are in the following range:
>>>>>>>>
>>>>>>>>         unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
>>>>>>>>
>>>>>>>>
>>>>>>>>                  
>>>>>> That's a spec bug IMHO.  Tab is %x09.  Surely you can include tabs in
>>>>>> strings.  Any parser that didn't accept that would be broken.
>>>>>>
>>>>>>
>>>>>>              
>>>>>     Honestly, I had the impression this should be encoded as: %x5C %x74, but
>>>>> if you're right, wouldn't this be true for other sequences as well?
>>>>>
>>>>>
>>>>>            
>>>> I don't think most reasonable clients are going to quote tabs as '\t'.
>>>>
>>>>          
>>>    That would be a bug, wouldn't it?
>>>
>>>        
>> Tabs are valid in JavaScript strings and I don't think it's reasonable
>> to expect that a valid JavaScript string is not a valid JSON string.
>>      
>   IMO, we should do what the spec says and what bug free clients expect,
> what we consider reasonable or unreasonable is a different matter.
>    

How we encode strings is one thing, what we accept is something else.

Why shouldn't we be liberal in what we accept?  It doesn't violate the 
spec to accept more than it requires so why shouldn't we?

Regards,

Anthony Liguori

>   I would be with you if the spec was proved wrong, specially if reference
> implementations out there didn't follow it either, but everything I found
> so far shows this is not the case.
>
>   Another example:
>
>     http://www.json.org/json2.js
>
>   Search for 'character substitutions'.
>
>
>    

  reply	other threads:[~2010-05-24 19:30 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-19 21:15 [Qemu-devel] [PATCH 0/6]: QMP: Fix issues in parser/lexer Luiz Capitulino
2010-05-19 21:15 ` [Qemu-devel] [PATCH 1/6] json-lexer: Initialize 'x' and 'y' Luiz Capitulino
2010-05-19 21:15 ` [Qemu-devel] [PATCH 2/6] json-lexer: Handle missing escapes Luiz Capitulino
2010-05-19 21:44   ` Anthony Liguori
2010-05-20 13:44     ` Luiz Capitulino
2010-05-20 15:16       ` [Qemu-devel] " Paolo Bonzini
2010-05-20 15:25         ` Luiz Capitulino
2010-05-20 15:26           ` Paolo Bonzini
2010-05-20 15:35             ` Luiz Capitulino
2010-05-20 15:54               ` Anthony Liguori
2010-05-20 16:27                 ` Luiz Capitulino
2010-05-20 15:50         ` Anthony Liguori
2010-05-20 16:27           ` Luiz Capitulino
2010-05-20 16:55             ` Anthony Liguori
2010-05-20 18:47               ` Luiz Capitulino
2010-05-20 18:52                 ` Anthony Liguori
2010-05-20 19:22                   ` Luiz Capitulino
2010-05-24 19:29                     ` Anthony Liguori [this message]
2010-05-24 19:38                       ` Luiz Capitulino
2010-05-19 21:15 ` [Qemu-devel] [PATCH 3/6] qjson: Handle "\f" Luiz Capitulino
2010-05-19 21:15 ` [Qemu-devel] [PATCH 4/6] check-qjson: Add more escape tests Luiz Capitulino
2010-05-19 21:15 ` [Qemu-devel] [PATCH 5/6] json-lexer: Drop 'buf' Luiz Capitulino
2010-05-19 21:15 ` [Qemu-devel] [PATCH 6/6] json-streamer: Don't use qdict_put_obj() Luiz Capitulino
2010-05-19 21:43 ` [Qemu-devel] [PATCH 0/6]: QMP: Fix issues in parser/lexer Anthony Liguori
2010-05-20 13:35   ` Luiz Capitulino
2010-05-21 18:06     ` Luiz Capitulino
2010-05-20 15:18   ` [Qemu-devel] " Paolo Bonzini
2010-05-20 15:26     ` Luiz Capitulino
2010-05-20 15:52     ` Anthony Liguori
2010-05-20 16:29       ` Luiz Capitulino
2010-05-21  9:08       ` [Qemu-devel] [PATCH] do not require lookahead in json-lexer.c if not necessary Paolo Bonzini
2010-05-21 10:10         ` [Qemu-devel] [PATCH] do not require lookahead for escapes too Paolo Bonzini
2010-05-23  7:50           ` [Qemu-devel] " Paolo Bonzini
2010-05-20 19:49   ` [Qemu-devel] [PATCH 0/6]: QMP: Fix issues in parser/lexer Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BFAD3B6.9050204@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=lcapitulino@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).