README.chromium
1 Name: libxml
2 URL: http://xmlsoft.org
3 Version: 2.7.7
4 License: MIT
5 License File: src/Copyright
6 Security Critical: yes
7
8 Description:
9 The src/ directory contains a partial snapshot of the libxml library
10 with the patches in the patches/ directories applied.
11 See the files in that directory for discussion of their effects.
12
13 Current version: 2.7.7.
14
15 Modifications:
16 - Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.c
17 - Import XPath fix http://git.gnome.org/browse/libxml2/commit/?id=91d19754d46acd4a639a8b9e31f50f31c78f8c9c
18 - Import follow-on for above commit: http://git.gnome.org/browse/libxml2/commit/?id=ea90b894146030c214a7df6d8375310174f134b9
19 - Import additional XPath fix http://git.gnome.org/browse/libxml2/commit/?id=df83c17e5a2646bd923f75e5e507bc80d73c9722
20 - Import follow-on fix for above commit: http://git.gnome.org/browse/libxml2/commit/?id=fec31bcd452e77c10579467ca87a785b41115de6
21 - And a follow-on fix to the previous two fixes, committed upstream: http://git.gnome.org/browse/libxml2/commit/?id=f5048b3e71fc30ad096970b8df6e7af073bae4cb (slightly differently, but we can drop our local fix on the next roll).
22 - Add a fix for handling of unknown namespaces, commit upstream is pending.
23 - Add fixes for ending the parse properly if a SAX callback calls xmlStopParser(), commit upstream is pending.
24 - Add fix for entities, commit upstream is http://git.gnome.org/browse/libxml2/commit/?id=5bd3c061823a8499b27422aee04ea20aae24f03e
25 - Import UTF-8 fix from upstream: http://git.gnome.org/browse/libxml2/commit/?id=0795348aeb86648723bc391e4d02e20631c10bca
26 - Import XPath fix http://git.gnome.org/browse/libxml2/commit/xpath.c?id=2ddecc23862bab1a9a9e51e097aefc92ec305e28
27 - Merge clang warning fix http://git.gnome.org/browse/libxml2/commit/?id=aae48e64dfbf2b46b157a4c1857e30645116388f
28 - Add a fix for proper escaping of xpointer expressions, commit upstream is pending.
29 - Add helper classes in chromium/libxml_utils.cc and chromium/include/libxml/libxml_utils.h.
30 - Add a tweak to limit problems caused by excessive strings and buffers.
31 - Change the xmlNs struct a little bit, so it looks like it has no children
32 if treated as a generic xmlNode object.
33 - Fix pretty harmless use-after-free in generate-id function.
34 - Merge a clang warning fix http://git.gnome.org/browse/libxml2/commit/?id=713434d2309da469d64b35e163ea6556dadccada
35 - Import attribute normalization fix http://git.gnome.org/browse/libxml2/commit/?id=6a36fbe3b3e001a8a840b5c1fdd81cefc9947f0d
36 - Merge a redundant comparison fix http://git.gnome.org/browse/libxml2/commit/?id=2af19f985b911b6dc6ada478ba8d201d2ddc9309
37 - Merge a redundant comparisons fix https://git.gnome.org/browse/libxml2/commit/?id=eea38159be421dbafbee38f40e239f91734bc713
38 - Merge XML_PARSER_EOF checks https://git.gnome.org/browse/libxml2/commit/?id=48b4cdde3483e054af8ea02e0cd7ee467b0e9a50 and https://git.gnome.org/browse/libxml2/commit/?id=e50ba8164eee06461c73cd8abb9b46aa0be81869
39
40 To import a new snapshot of libxml:
41
42 - Visit http://xmlsoft.org/downloads.html and download the latest source
43 distribution.
44 - Copy the files into this directory, omitting files which have been omitted
45 here. E.g.: for i in $(find . -type f); do cp ../libxml-newver/$i $i; done
46 This should clobber all local changes to this directory.
47 - Apply the patches in patches/ and fix any problems.
48 UPDATE THOSE PATCHES OR EVAN WILL HUNT YOU DOWN.
49 - On a Linux system,
50 $ cd linux
51 $ ../configure --without-iconv --without-ftp --without-http
52 to generate config.h and include/libxml/xmlversion.h for Linux.
53 - On a Mac,
54 $ cd mac
55 $ ../configure --without-iconv --without-ftp --without-http
56 to generate config.h and include/libxml/xmlversion.h for Macs.
57 - On Windows, run build/generate-win32-headers.bat to re-generate config.h and
58 include/libxml/xmlversion.h for Windows builds.
59 - Update this README to reflect the new version number.
60