On Tue, 2021-11-30 at 12:25 +0100, Mark Wielaard wrote: > Hi Luca, > > On Thu, 2021-11-25 at 17:02 +0000, Luca Boccassi via Elfutils-devel > wrote: > > +/* Packaging metadata as defined on > > > https://systemd.io/COREDUMP_PACKAGE_METADATA/ */ > > > +#define FDO_PACKAGING_METADATA 0xcafe1a7e > > > + > > > /* Note section name of program property. */ > > > #define NOTE_GNU_PROPERTY_SECTION_NAME ".note.gnu.property" > > > > I could move this definition to an internal header if the change to > > elf.h blocks this patch, if you prefer? Let me know. > > It looks like it will be integrated into glibc elf.h later this week. > I'll resync elf.h then and apply the other half of your patch. > > While looking at how to implement the json parsing of the note data I > noticed a couple of things that could be clarified in the spec to make > this more clear and less ambiguous. > > The spec says "a key-value JSON format", "JSON payload" and "a JSON > string with the structure described below". Which isn't very exact, or > seems to describe multiple different JSON concepts which aren't exactly > the same thing. A JSON string is something different from a JSON object > (which is the only JSON value that has a key-value format). And it > doesn't really make clear what the encoding of the JSON itself is (it > cannot be a JSON string, because that itself is expressed in an > specific character encoding itself). > > What I think the spec should say is something like: > "The note data is a single JSON object encoded as a zero terminated > UTF-8 string." > > The spec does explain the requirements for JSON numbers, but doesn't > mention any for JSON strings or JSON objects. It would be good to also > explain how to make the strings and objects unambiguous. > > For Objects it should require that all names are unique. See section 4 > in rfc8259. > > For Strings it should require that \uXXXX escaping isn't used and that > only control characters that have an explicit escape sequence are used > (\b, \n, \f, \r, \t) [if you allow them in the first place, they are > probably confusing and it may be good to simply say that Strings should > not contain any control characters or use \uXXXX escaping]. See section > 7 and section 8 in rfc8259. > > That should get rid of various corner cases that different parsers are > known to get wrong. Especially \uXXXX escaping is really confusing when > using the UTF-8 encoding (and it is totally necessary since UTF-8 can > express any valid UTF character already). > > Cheers, > > Mark
Thanks, see: https://github.com/systemd/systemd/pull/21578 -- Kind regards, Luca Boccassi
signature.asc
Description: This is a digitally signed message part