[PATCH v2 3/3 wayland] Validate the protocol xml during scanning
Pekka Paalanen
ppaalanen at gmail.com
Tue Nov 17 05:38:05 PST 2015
On Tue, 17 Nov 2015 14:57:14 +0200
Pekka Paalanen <ppaalanen at gmail.com> wrote:
> On Tue, 10 Nov 2015 09:53:08 +1000
> Peter Hutterer <peter.hutterer at who-t.net> wrote:
>
> > Embed the wayland.dtd protocol data into the scanner binary so we can validate
> > external protocol files without requiring makefile changes. Hat-tip to Pekka
> > Paalanen for the embedding trick.
> > The embedding trick doesn't work well if the to-be-embedded file is in a
> > different location than the source file, so copy/link it during configure and
> > then build it in from the local directory.
> >
> > The current expat parser is not a validating parser, moving scanner.c to
> > another parser has the risk of breaking compatibility. This patch adds libxml2
> > as extra (optional) dependency, but that also requires parsing the input
> > twice.
> >
> > If the protocol fails validation a warning is printed but no error is returned
> > otherwise.
> >
> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> > ---
> > Changes to v1:
> > - move the dtddata.S to SOURCES and add AM_PROG_AS to configure. This fixes
> > distcheck
> > - handle explicit input files, rather than just stdin
> > - changed the warning to refer to a built-in dtd
> >
> > Makefile.am | 11 ++++++---
> > configure.ac | 13 +++++++++++
> > src/dtddata.S | 40 +++++++++++++++++++++++++++++++++
> > src/scanner.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > 4 files changed, 132 insertions(+), 3 deletions(-)
> > create mode 100644 src/dtddata.S
>
> Hi Peter,
>
> this patch R-b me, and so the whole 4-patch series pushed:
> c7bada0..f66e2d5 master -> master
>
> This causes some noise in Weston as there are some protocols with
> unexpected order of XML elements, but those are trivial to fix.
> xdg-shell.xml uses some doc text that is not according to the DTD and
> I'm not sure the scanner picks it up either, that will need a bit more.
> It's about per-entry docs in enums.
Oh, I just noticed http://patchwork.freedesktop.org/patch/64189/
Nice. :-)
Thanks,
pq
> I think I'll just push the desktop-shell.xml fix soon to Weston. Hmm,
> or maybe after Jason's wayland-protocol migration series, as it renames
> desktop-shell.xml.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20151117/1f75e9e9/attachment.sig>
More information about the wayland-devel
mailing list