qemu/scripts/qapi
Markus Armbruster 56a8caff92 qapi: Restrict strings to printable ASCII
RFC 8259 on string contents:

   All Unicode characters may be placed within the quotation marks,
   except for the characters that MUST be escaped: quotation mark,
   reverse solidus, and the control characters (U+0000 through
   U+001F).

The QAPI schema parser accepts both less and more than JSON: it
accepts only ASCII with \u (less), and accepts control characters
other than LF (new line) unescaped.  How it treats unescaped non-ASCII
input differs between Python 2 and Python 3.

Make it accept strictly less: require printable ASCII.  Drop support
for \b, \f, \n, \r, \t.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190913201349.24332-7-armbru@redhat.com>
2019-09-24 14:07:22 +02:00
..
__init__.py qapi-gen: New common driver for code and doc generators 2018-03-02 13:14:09 -06:00
commands.py Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
common.py qapi: Restrict strings to printable ASCII 2019-09-24 14:07:22 +02:00
doc.py qapi: Allow documentation for features 2019-06-12 18:35:57 +02:00
events.py Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
introspect.py qapi: Add feature flags to struct types 2019-06-12 18:34:26 +02:00
types.py qapi: Add feature flags to struct types 2019-06-12 18:34:26 +02:00
visit.py qapi: Add feature flags to struct types 2019-06-12 18:34:26 +02:00