Log

Author Commit Date CI Message
Nick Wellnhofer 14517012 2022-04-23T19:19:33 Fix parsing of subtracted regex character classes Fixes #370.
Nick Wellnhofer d9e1198c 2022-04-23T18:42:35 Redirect examples test output to /dev/null Regressed in commit c61e1273.
Nick Wellnhofer 0c0f2a57 2022-04-21T07:51:23 Port genUnicode.py to Python 3
Nick Wellnhofer d314046f 2022-04-23T17:41:44 Don't try to copy children of entity references This would result in an error, aborting the whole copy operation. Regressed in commit 7618a3b1. Fixes #371.
Mike Gilbert b31e07db 2022-04-22T20:14:05 testapi: remove leading slash from "/missing.xml" Fixes an error when running tests in a sandbox on Gentoo Linux. Bug: https://bugs.gentoo.org/839804
Nick Wellnhofer 65b01647 2022-04-21T06:27:33 Build Autotools CI tests out of source tree (VPATH)
Nick Wellnhofer ad098030 2022-04-21T06:23:55 Add --with-minimum build to CI tests
Nick Wellnhofer c61e1273 2022-04-21T06:03:22 Fix warnings when testing --with-minimum build There's no simple way to make the doc/examples tests handle different configurations. But these tests aren't especially valuable, so remove the result file checks.
Nick Wellnhofer 4612ce30 2022-04-21T03:52:52 Implement xpath1() XPointer scheme See https://www.w3.org/2005/04/xpointer-schemes/
Nick Wellnhofer 67070107 2022-04-20T23:17:14 Add configuration flag for XPointer locations support Add a new configuration flag that controls whether the outdated support for XPointer locations (ranges and points) is enabled. --with-xptr-locs # Autotools LIBXML2_WITH_XPTR_LOCS # CMake The latest spec for what it essentially an XPath extension seems to be this working draft from 2002: https://www.w3.org/TR/xptr-xpointer/ The xpointer() scheme is listed as "being reviewed" in the XPointer registry since at least 2006. libxml2 seems to be the only modern software that tries to implement this spec, but the code has many bugs and quality issues. The flag defaults to "off" and support for this extensions has to be requested explicitly. The relevant API functions are deprecated.
Nick Wellnhofer 9a0be0dc 2022-04-21T01:11:35 Regenerate api.xml and testapi.c
Nick Wellnhofer 343fc142 2022-04-21T00:45:58 Port gentest.py to Python 3
Nick Wellnhofer 02709d0f 2022-04-20T19:18:17 Remove remaining definitions of STDC_HEADERS Sync with Autotools build.
Nick Wellnhofer 270eb712 2022-04-20T14:04:04 cmake: Run all tests when threads are disabled
Nick Wellnhofer 18bcced9 2022-04-20T13:36:02 cmake: Fix build with thread support Move configure_file(config.h) below pthreads check. Fix regression caused by commit f5659a1.
Nick Wellnhofer dbc23ed3 2022-04-13T17:02:50 Also build CI tests with -Werror
Nick Wellnhofer 7204dbb0 2022-04-13T16:51:49 Don't mix declarations and code in runtest.c
Nick Wellnhofer 776b0028 2022-04-13T16:46:58 cmake: Disable FTP and legacy modules by default Sync with Autotools build.
Nick Wellnhofer e13c8081 2022-04-13T16:45:57 Run CI tests with FTP and legacy modules These modules are disabled by default. Enable them when testing.
Nick Wellnhofer cacf6555 2022-04-13T16:43:15 Fix compiler warnings in Python code Add more deprecated functions to avoid compiler warnings when building the Python bindings.
Nick Wellnhofer f5659a12 2022-04-13T14:30:54 cmake: Fix build without thread support Only check for pthread.h if threads are enabled. Fixes #367.
David Kilzer 44e9118c 2022-04-08T12:33:17 Prevent integer-overflow in htmlSkipBlankChars() and xmlSkipBlankChars() * HTMLparser.c: (htmlSkipBlankChars): * parser.c: (xmlSkipBlankChars): - Cap the return value at INT_MAX. - The commit range that OSS-Fuzz listed for the fix didn't make any changes to xmlSkipBlankChars(), so it seems like this issue may still exist. Found by OSS-Fuzz Issue 44803.
David Kilzer a15f2abe 2022-04-08T12:16:51 Use UPDATE_COMPAT() consistently in buf.c * buf.c: (xmlBufCreate): (xmlBufCreateSize): (xmlBufDetach): (xmlBufCreateStatic): (xmlBufFromBuffer):
Nick Wellnhofer 41afa89f 2022-04-10T14:09:29 Fix short-lived regression in xmlStaticCopyNode Commit 7618a3b1 didn't account for coalesced text nodes. I think it would be better if xmlStaticCopyNode didn't try to coalesce text nodes at all. This code path can only be triggered if some other code doesn't coalesce text nodes properly. In this case, OSS-Fuzz found such behavior in xinclude.c.
Nick Wellnhofer a5724a3b 2022-04-08T15:46:26 cmake: Install documentation in CMAKE_INSTALL_DOCDIR Sync with recent Autotools change.
Daniel E 4d98f6f9 2022-04-08T12:11:39 cmake: Remove more unnecessary files installed in docs dir Sync with commit 95766541622b3a66c929e2e272b0252750d0174d Don't install man pages in docs directory, these are already installed in the correct path and while at it sort list
David Kilzer 21561e83 2016-05-20T15:21:43 Mark more static data as `const` Similar to 8f5710379, mark more static data structures with `const` keyword. Also fix placement of `const` in encoding.c. Original patch by Sarah Wilkin.
David Kilzer b7e8e4c7 2022-04-06T18:05:20 Fix leak of xmlElementContent * valid.c: (xmlCopyDocElementContent): - Set `tmp->parent` properly to fix a leak that occurs in xmlFreeDocElementContent(). - Appears to be a regresion from cee2b3a5f1. Found by OSS-Fuzz Issue 44509.
Nick Wellnhofer 94ac5e61 2022-04-07T02:05:41 CMakeLists.txt: Fix LIBXML_VERSION_NUMBER Also fix LIBXML_VERSION and remove LIBXML_VERSION_STRING. Fixes #365.
David Seifert a62b31f4 2022-04-06T19:57:30 Use portable python shebangs * In conda or Gentoo Prefix, we don't want to use the system python and instead rely on PATH lookup.
Daniel E f2987a29 2022-04-03T18:49:19 cmake: Remove non needed files in docs dir Don't install files that are used to generate the documentation
Nick Wellnhofer e59aa6ca 2022-04-04T05:57:07 Move doc/examples tests to new test suite
Nick Wellnhofer 3f74e42b 2022-04-04T05:19:33 Simplify 'make check' targets
Christopher Degawa f60e2193 2022-04-03T21:24:21 configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set currently the pkg-config file lacks -lws2_32 because WIN32_EXTRA_LIBADD isn't set by the time XML_PRIVATE_LIBS is set Signed-off-by: Christopher Degawa <ccom@randomderp.com>
Nick Wellnhofer 48f191e7 2022-04-04T03:12:49 Fix schemas and relaxng tests Run all tests in runtest.c with warnings. This is required to match the schema validation output from xmllint and doesn't seem to cause any problems. Fix the .xml file pattern. Check parser errors. Print xmllint message if Relax-NG schema can't be parsed.
Nick Wellnhofer 4de7f2ac 2022-04-04T03:28:21 Remove unused result files
Nick Wellnhofer 5ce893c0 2020-07-09T03:21:07 Move regexp tests to runtest
Nick Wellnhofer f1c32b4c 2020-07-09T03:19:13 Allow missing result files in runtest Treat missing files as empty.
Nick Wellnhofer 95c7f315 2022-04-03T21:39:14 Move SVG tests to runtest.c Also update the test results for the first time since 2000.
Nick Wellnhofer 0cca7b51 2022-04-03T21:29:58 Move testModule to new test suite Invoke testModule when the modern test suite is run with 'make check'.
Nick Wellnhofer f23ca9f9 2022-04-03T21:25:54 Move testThreads to new test suite Invoke testThreads when the modern test suite is run with 'make check'.
Nick Wellnhofer 48b03c84 2022-04-03T20:36:38 Remove major parts of old test suite Remove all the parts of the old test suite which are covered by runtest.c for quite some time. The following test programs are removed: - testC14N - testHTML - testReader - testRelax - testSAX - testSchemas - testURI - testXPath This also removes a few results of unimportant tests only run by the old test suite.
Nick Wellnhofer 0d467de2 2022-04-03T19:11:13 Move local Autoconf macros into m4 directory
Nick Wellnhofer 4b10e7cf 2022-04-03T18:44:37 Remove outdated xml2Conf.sh
Nick Wellnhofer bf2436ac 2022-04-03T19:02:06 Update xml2-config man page
Nick Wellnhofer 61b78b0a 2022-04-03T18:30:26 Consolidate man pages Move xml2-config.1 into doc directory. Remove outdated libxml.3.
Tony Tascioglu 41a19430 2022-04-03T17:54:23 Make testchar return an error on failure
Nick Wellnhofer 0e9776b0 2022-04-03T17:09:50 Initialize XPath floating-point globals Should fix #138.
Nick Wellnhofer f0ba4da1 2022-04-03T14:30:03 Add CI job for static build
Nick Wellnhofer a340d8b1 2022-04-03T02:20:04 Use XML_PRIVATE_LIBS in libxml2_la_LIBADD After this change, variables Z_LIBS, LZMA_LIBS, ICU_LIBS, ICONV_LIBS and WIN32_EXTRA_LIBADD are unused outside of configure.ac. We keep exporting them with AC_SUBST for now.
Nick Wellnhofer 5cae1a14 2022-04-03T02:20:59 Update libxml-2.0-uninstalled.pc.in
Nick Wellnhofer 1db151ac 2022-04-03T14:36:03 Remove LIBS from XML_PRIVATE_LIBS
Nick Wellnhofer cf6cd81c 2022-04-03T02:18:25 Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
Nick Wellnhofer 7016b0e0 2022-04-03T01:42:17 Don't overlink executables With very few exceptions, utilities and test programs don't require any external libraries. - xmllint and xmlcatalog need libreadline - runtest and testThreads need pthreads
Daniel Engberg 6d10df7c 2022-04-02T22:23:44 cmake: Adjust paths for UNIX or UNIX-like target systems Sync paths with GNU Autotools
Daniel Engberg 141d784e 2022-04-02T21:06:47 build: Make use of variables in libxml's pkg-config file Instead of hardcoding make use of available variables and optimize usage
David Seifert d47c52ac 2022-04-02T19:21:02 Avoid obsolescent `test -a` constructs * POSIX calls the `-a` operator obsolescent and strongly discourages its use, instead recommending chaining `test` calls instead: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
Nick Wellnhofer 7618a3b1 2022-02-06T21:11:38 Make xmlStaticCopyNode non-recursive
Nick Wellnhofer aab584dc 2022-03-06T23:23:43 Clean up encoding switching code - Remove xmlSwitchToEncodingInt which was basically just a wrapper around xmlSwitchInputEncodingInt. - Simplify xmlSwitchEncoding. - Improve error handling in xmlSwitchInputEncodingInt. - Deprecate xmlSwitchInputEncoding.
Nick Wellnhofer c8ccb727 2022-04-02T18:03:44 Move AM_MAINTAINER_MODE to AM section
James Hilliard 0f04d5a1 2022-01-18T14:22:24 configure: check for icu DEFS In some cases we need to add additional defs to build against icu if icu has certain options configured. ICU warns about this when building: *** WARNING: You must set the following flags before code compiled against this ICU will function properly: -DU_DISABLE_RENAMING=1 We can fetch these flags from the icu pkgconfig and add them if required. This fixes symbol errors if ICU is built without renaming. Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
David Seifert 5ccdfa43 2022-04-02T16:54:30 configure.ac: produce tar.xz only (GNOME policy) * This is part of a policy from 2011: https://mail.gnome.org/archives/distributor-list/2011-September/msg00000.html
David Seifert 7bce3008 2022-04-02T16:54:29 configure.ac: make AM_SILENT_RULES([yes]) unconditional * No need to support Automake 1.10 anymore.
Nick Wellnhofer c2ee4a20 2022-04-02T16:55:18 Fix GitLab pages job
Nick Wellnhofer e1637646 2022-04-02T16:42:33 Rename xmlcatalog_man.xml
Nick Wellnhofer 207b10cf 2022-04-02T16:39:44 Streamline documentation installation Use Automake variables to install and distribute files. Remove check-extra-dist.
Nick Wellnhofer 1366c569 2022-04-02T15:36:22 Don't try to recreate COPYING symlink Since automake is initialized with "foreign" for quite some while, it shouldn't touch these files anymore.
Joey Arhar b7b29df9 2022-03-29T16:07:51 Add windows includes to xmlIO.c xmlIO.c calls read() and getcwd() which need io.h and direct.h respectively when compiling on windows. Otherwise, a compiler error may be raised saying that read() and getcwd() were used implicitly. This was regressed recently, I'm guessing it was due to the changes to win32config.h in commit 84085a26
David Seifert 0137d987 2022-03-30T22:00:50 python/tests: open() relative to test scripts
David Seifert 5c71ada8 2022-03-30T16:51:17 Detect libm using libtool's macros
David Seifert dff68688 2022-03-30T16:51:16 configure.ac: disable static libraries by default
David Seifert 438209f3 2022-03-30T16:51:15 python/Makefile.am: nest python docs in $(docdir)
David Seifert 9e304353 2022-03-30T16:51:14 python/Makefile.am: rely on global AM_INIT_AUTOMAKE * Even Debian oldoldstable has Automake 1.15 available nowadays.
David Seifert 54e3f74b 2022-03-30T16:51:13 Makefile.am: install examples more idiomatically
David Seifert 7a4037be 2022-03-30T16:51:12 configure.ac: remove useless AC_SUBST * CPPFLAGS/LDFLAGS are always substituted
David Seifert 865520f0 2022-03-30T00:32:35 Respect `--sysconfdir` in source files * Prefix installations need to point to a non-root `etc` - Gentoo Prefix has been patching this for over 10 years: https://bugs.gentoo.org/317891 - MacPorts has to manually replace paths after patching: https://github.com/macports/macports-ports/blob/cc3bb736e906abe73b014da02a89ae2b70ef6295/textproc/libxml2/Portfile#L46
jinsub ahn 74263eff 2022-03-30T06:02:31 fix: xmlXPathParserContext could be double-delete in OOM case.
Vadim Zeitlin e05491ae 2022-03-18T19:24:22 Ignore configure backup file created by recent autoreconf too There is currently no way to disable the generation of this annoying file, see https://savannah.gnu.org/support/?110417, so just ignore it.
Nick Wellnhofer 95766541 2022-03-02T19:01:16 Only install *.html and *.c example files
Nick Wellnhofer 456a0bf6 2022-03-02T18:58:17 Remove --with-html-dir option Install documentation in $(docdir).
Nick Wellnhofer 74580967 2022-03-02T18:45:39 Rework documentation build system Since several generated files are under version control, their timestamps are essentially random and rebuilding documentation using Makefile rules can't work reliably. Simply add a phony rebuild target that regenerates the whole documentation and other files unconditionally. make -C doc rebuild
Nick Wellnhofer fb358884 2022-03-02T17:35:12 Remove old website
Nick Wellnhofer 991a9fc2 2022-03-29T16:20:28 Mark docbook symbols as removed
Nick Wellnhofer 649ddb4b 2022-03-29T15:55:51 Port some test scripts to Python 3
Nick Wellnhofer 92bff866 2022-03-29T14:18:31 Fix calls to deprecated init/cleanup functions Only use xmlInitParser/xmlCleanupParser.
David Seifert d9335077 2022-03-29T13:37:16 Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings * `AM_PATH_PYTHON` is a much more common idiom for building and installing python modules than writing your own. * It also makes cross-compiling the python bindings possible. Previously the `PYTHON_CFLAGS`/`PYTHON_LIBS` would have been based on the `--build` python and not the `--host` python. By using `pkg-config`, we can always redirect the python-X.Y.pc. Bug: https://bugs.gentoo.org/582130
Nick Wellnhofer 96849544 2022-03-22T19:10:51 Revert "Continue to parse entity refs in recovery mode" This reverts commit 84823b86344fb530790a8787b80abf62715ea885 which exposed several other, potentially serious bugs. Fixes #356.
Nick Wellnhofer 83d5a87e 2022-03-18T15:46:30 Revert "Simplify recursive pthread mutex" This reverts commit 5ffe2981b7d0547dd957a61ac6e1e3db829748d1. This reverts commit 4adb7677635b2c8d764767f6b484de1b26217f5d. Recursive mutexes are an XSI extension, so better not rely on them.
Nick Wellnhofer 2070ade6 2022-03-06T23:19:04 Undeprecate schema init functions These functions aren't called from xmlInitParser, so it's better to keep them public for now.
Nick Wellnhofer 8d06ccd4 2022-03-09T22:36:51 Fix --without-debug build Broken in commit 2cc93f77. Fixes #354.
Nick Wellnhofer 5ffe2981 2022-03-06T19:26:24 Fix weak pthread symbols after commit 4adb7677 Add missing mutexattr symbols.
Nick Wellnhofer b35c5528 2022-03-06T15:12:08 Use critical sections as mutex on Windows They're more lightweight than ordinary Windows mutexes. Also stop counting recursive locks. This only hides potential locking bugs.
Nick Wellnhofer 4adb7677 2022-03-06T15:06:59 Simplify recursive pthread mutex Use a PTHREAD_MUTEX_RECURSIVE mutex instead of the hand-rolled approach.
Nick Wellnhofer 3241c47c 2022-03-06T14:58:04 Use non-recursive mutex in dict.c The mutex is never locked recursively.
Nick Wellnhofer 40483d0c 2022-03-06T13:55:48 Deprecate module init and cleanup functions These functions shouldn't be part of the public API. Most init functions are only thread-safe when called from xmlInitParser. Global variables should only be cleaned up by calling xmlCleanupParser.
Nick Wellnhofer 7d02c729 2022-03-06T00:49:02 Fix parser progress checks Testing the current input pointer for modification is unreliable since the input buffer could have been freed and realloced. Check whether the input id and the up-to-date number of bytes consumed match.
Nick Wellnhofer 4951c462 2022-03-06T02:29:00 Avoid arithmetic on freed pointers
Nick Wellnhofer 84823b86 2022-03-05T22:48:11 Continue to parse entity refs in recovery mode There doesn't seem to be a good reason to abort in xmlParseReference if a well-formedness error was detected. Removing this check allows to parse entity references after an error in recovery mode. Fixes #270.
Nick Wellnhofer d99ddd9b 2022-03-05T21:46:40 Improve buffer allocation scheme In most places, we really need the double-it scheme to avoid quadratic behavior. The hybrid scheme still can cause many reallocations and the bounded scheme doesn't seem to provide meaningful protection in xmlreader.c.
Nick Wellnhofer 422176ad 2022-03-05T03:18:58 Don't set HAVE_WIN32_THREADS in win32config.h This flag must be set on the command line.