Re: [Libguestfs] [PATCH v3 1/4] mltools: Rename Yajl module as JSON_parser and move to common/mltools.

Pino Toscano
Fri, 17 Aug 2018 15:44:58 -0000

On Friday, 17 August 2018 17:30:35 CEST Eric Blake
wrote:
> On 08/17/2018 10:16 AM, Richard W.M. Jones wrote:
> > Commit bd1c5c9f4dcf38458099db8a0bf4659a07ef055d changed all the code
> > to use Jansson instead of yajl.  However it didn't change the
OCaml
> > API name (which was still Yajl).
> >
>
> Are you aware that Jansson can't parse all JSON generated by qemu, and
> that the developers of Jansson did not seem sympathetic to patches that
> would make it possible?  Libvirt recently reverted their use of Jansson
> because of its inability to deal with unsigned 64-bit numbers (and
> sadly, RFC7159 does not define bounds for what forms valid JSON numbers,
> but merely leaves it up to implementations to decide for themselves).

The problematic values that qemu outputs are, at least to my knowledge,
only in the some of the messages in the QMP communication, which we do
not do.  We parse JSON from:
- output of ldmtool
- output of qemu-img
- QMP schema
- SimpleStream files

Furthermore, why not just fix qemu, instead of letting its
"JSON implementation" rule out perfectly compliant JSON parsers?

--
Pino Toscano