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