[RFC PATCH 2/6] telemetry: fix escaping of invalid json characters

Morten Brørup mb at smartsharesystems.com
Thu Jun 23 20:48:21 CEST 2022


> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Thursday, 23 June 2022 20.40
> 
> On Thu, 23 Jun 2022 20:34:07 +0200
> Morten Brørup <mb at smartsharesystems.com> wrote:
> 
> > > From: Bruce Richardson [mailto:bruce.richardson at intel.com]
> > > Sent: Thursday, 23 June 2022 18.43
> > >
> > > For string values returned from telemetry, escape any values that
> > > cannot
> > > normally appear in a json string. According to the json spec[1],
> the
> > > characters than need to be handled are control chars (char value <
> > > 0x20)
> > > and '"' and '\' characters.
> >
> > Correct. Other chars are optional to escape.
> 
> For json_writer (which I wrote for iproute2 and could have been used
> here).
> The switch handles: \t \n \r \f \b \\ " ' as special cases.

RFC 8259 chapter 7 says:

   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).

I have no preference for either, as long as '/' and other non-control characters are not (unnecessarily) escaped.

Using tested and maintained code like json_writer could be beneficial. If you hold the copyright, there should be no license issues.



More information about the dev mailing list