|
5e4b751f
|
2022-10-22T02:17:39
|
|
xinclude: Make xmlXIncludeCopyNode return a node list
Convert callers of xmlXIncludeCopyNode to handle node lists.
|
|
64eaf4d4
|
2022-10-21T16:05:29
|
|
xinclude: Make xmlXIncludeCopyNode iterate all descendants
|
|
4d7524af
|
2022-10-21T16:46:38
|
|
xinclude: Ignore XML_XINCLUDE_START in xmlXIncludeCopyXPointer
The XPath engine shouldn't return such nodes anyway.
|
|
ea7c9fb5
|
2022-10-22T16:48:58
|
|
xinclude: Don't create result doc for test with errors
|
|
5f664ab2
|
2022-10-21T16:17:48
|
|
xinclude: Rework xmlXIncludePreProcessNode
Rename xmlXIncludePreProcessNode to xmlXIncludeExpandNode.
Search the include table for an already existing entry. Also load the
included items in xmlXIncludeExpandNode and remove the second phase in
xmlXIncludeDoProcess.
|
|
c99cde3f
|
2022-10-22T16:59:35
|
|
xinclude: Also test error messages
The reader interface with XIncludes is somewhat broken and can generate
different error messages. Start to move tests which are sketchy with
reader to a separate directory.
|
|
938105b5
|
2022-10-21T15:56:12
|
|
Revert "xinclude: Fix regression with nested includes"
This reverts commit 7f04e297318b1b908cec20711f74f75625afed7f which
caused memory errors.
See #424.
|
|
e85f9b98
|
2022-10-19T02:47:30
|
|
xmllint: Improve handling of empty XPath node sets
Don't return an error if the result is an empty node set. Suppress the
"XPath set is empty" message in quiet mode.
Fixes #180.
|
|
530938b4
|
2022-10-18T18:56:56
|
|
cmake: Build static library with -DLIBXML_STATIC
Fix scope of target_compile_definitions command.
Fixes #425.
|
|
7f04e297
|
2022-10-18T18:40:00
|
|
xinclude: Fix regression with nested includes
This reverts commits 74dcc10b and 87d20b55.
Fixes #424.
|
|
644a89e0
|
2022-08-31T22:11:25
|
|
[CVE-2022-40304] Fix dict corruption caused by entity reference cycles
When an entity reference cycle is detected, the entity content is
cleared by setting its first byte to zero. But the entity content might
be allocated from a dict. In this case, the dict entry becomes corrupted
leading to all kinds of logic errors, including memory errors like
double-frees.
Stop storing entity content, orig, ExternalID and SystemID in a dict.
These values are unlikely to occur multiple times in a document, so they
shouldn't have been stored in a dict in the first place.
Thanks to Ned Williamson and Nathan Wachholz working with Google Project
Zero for the report!
|
|
ffaec758
|
2022-08-25T17:43:08
|
|
Fix integer overflows with XML_PARSE_HUGE
Also impose size limits when XML_PARSE_HUGE is set. Limit size of names
to XML_MAX_TEXT_LENGTH (10 million bytes) and other content to
XML_MAX_HUGE_LENGTH (1 billion bytes).
Move some the length checks to the end of the respective loop to make
them strict.
xmlParseEntityValue didn't have a length limitation at all. But without
XML_PARSE_HUGE, this should eventually trigger an error in xmlGROW.
Thanks to Maddie Stone working with Google Project Zero for the report!
|
|
1a2d8ddc
|
2022-10-11T13:02:47
|
|
parser: Fix potential memory leak in xmlParseAttValueInternal
Fix memory leak in case xmlParseAttValueInternal is called with a NULL
`len` a non-NULL `alloc` argument. This static function is never called
with such arguments internally, but the misleading code should be fixed
nevertheless.
Fixes #422.
|
|
5bfaf230
|
2022-10-11T13:00:33
|
|
win32: Fix build with VS2013
Should fix #420.
|
|
e2bae1bc
|
2022-09-20T14:34:20
|
|
autotools: Don't use version script on Windows
A feature test would be better, but blacklisting Windows platforms seems
good enough for now.
|
|
796c830a
|
2022-09-20T14:30:19
|
|
cmake: Set SOVERSION
Fixes #410.
|
|
1d4f5d24
|
2022-09-13T16:40:31
|
|
schemas: Fix null-pointer-deref in xmlSchemaCheckCOSSTDerivedOK
Found by OSS-Fuzz.
|
|
f2392dc4
|
2022-09-09T13:51:58
|
|
gitlab-ci: Allow cast-align warnings from clang
|
|
a9669679
|
2022-09-09T01:44:00
|
|
error: Don't use initGenericErrorDefaultFunc
The code in xmlInitParser did only set the error handler if it was NULL
which should never happen.
|
|
27c8ba60
|
2022-09-07T22:34:42
|
|
xpath: Lower XPath recursion limit on Windows
|
|
f597eff8
|
2022-09-07T18:18:06
|
|
autotools: Fix winsock detection
Hardcode the required library on MinGW because winsock uses non-standard
calling conventions on 32-bit Windows which makes AC_SEARCH_LIBS fail.
Should fix #406.
|
|
16d3e8b2
|
2022-09-07T18:10:03
|
|
autotools: Only add network libraries if HTTP/FTP enabled
|
|
ae98a5b4
|
2022-09-07T12:10:39
|
|
gitlab-ci: Fix tar invocation
|
|
c52dd494
|
2022-09-06T23:27:01
|
|
gitlab-ci: Move MSVC test to separate script
|
|
ea78427d
|
2022-09-06T22:46:07
|
|
gitlab-ci: Fix SUFFIX, remove MINGW_PATH
|
|
e4bdbf3d
|
2022-09-06T21:29:24
|
|
gitlab-ci: Consolidate CMake test scripts
|
|
861466bf
|
2022-09-06T20:32:08
|
|
gitlab-ci: Only install MinGW autotools if needed
|
|
5ff3baf0
|
2022-09-06T17:33:38
|
|
python: Create .pyd on Windows
|
|
e86ede09
|
2022-09-06T18:24:25
|
|
gitlab-ci: Only install cmake MinGW package if needed
On MinGW, cmake requires curl which requires nghttp2 which requires
libxml2. But having a system libxml2 interferes with the Python tests
for now. Ultimately, we should use Python's os.add_dll_directory() on
Windows. I'm not sure why the current solution using PATH even works.
|
|
7ab3228f
|
2022-09-06T18:32:55
|
|
gitlab-ci: Install 7-Zip using the .msi
So we don't need cmake to extract a file.
|
|
fec85df1
|
2022-09-06T18:50:23
|
|
xmllint: Document --quiet option
|
|
ea8f7c92
|
2022-09-06T00:47:00
|
|
autotools: Disable parallel Python build
Makefile rules with multiple output files don't work reliably with
parallel builds. There are several ways to fix this issue with GNU Make,
but they aren't portable. I'd be really interested in a totally
reliable, cross-platform solution to this problem.
.NOTPARALLEL is also understood by BSD make, at least.
|
|
9d19c169
|
2022-09-06T00:21:28
|
|
python: Don't output missing generators during build
|
|
a41878bd
|
2022-09-05T23:16:23
|
|
build: Remove check for broken ss_family
This only seemed to affect ancient AIX systems.
|
|
c63b2692
|
2022-09-05T22:50:45
|
|
gitlab-ci: Disable MSan for now
MSan seems broken on Ubuntu 22.04.
|
|
ad338459
|
2022-09-05T21:16:20
|
|
autotools: Fix bug with multiline arguments
Should fix #404.
|
|
adcf399b
|
2022-09-05T15:36:13
|
|
autotools: Try to fix bug with multiline arguments
Only happens with older autoconf?
|
|
30c8d9bb
|
2022-09-05T02:02:54
|
|
http: Simplify IPv6 checks
This should also enable IPv6 support on Windows. Untested and mostly
useless anyway, since we don't support HTTPS.
|
|
9e5a016e
|
2022-09-05T01:08:33
|
|
autotools: Fix network checks on Windows
|
|
98acf28f
|
2022-09-04T22:12:32
|
|
Use $MSYSTEM and 'bash -lc' in MinGW CI
Setting the $MSYSTEM environment variable and invoking shell scripts
with 'bash -lc' sets up the correct MinGW environment.
See https://www.msys2.org/docs/ci/
|
|
5d32b126
|
2022-09-04T22:05:16
|
|
Fix detection of GNU libiconv
GNU libiconv prefixes symbols with "lib".
|
|
460ba0cb
|
2022-09-04T16:00:19
|
|
Add CI job for MinGW/Autotools
|
|
0cc9c1d1
|
2022-09-04T15:35:47
|
|
Consolidate CI scripts
|
|
89aeb4df
|
2022-09-04T18:44:52
|
|
Allow empty MINGW_PACKAGE_PREFIX
|
|
efc0e85c
|
2022-09-04T15:26:47
|
|
Move Dockerfile to .gitlab-ci directory
|
|
02e12371
|
2022-09-04T20:12:18
|
|
cmake: Fix Python installation
Don't install into ${Python_SITEARCH} for now.
|
|
243fdbc3
|
2022-09-04T19:13:14
|
|
cmake: Don't check for Python 2
|
|
b0556e14
|
2022-09-04T18:49:23
|
|
testapi: Disable on Windows for now
It's incredibly slow for some reason.
|
|
27b2b864
|
2022-09-04T18:32:55
|
|
configure.ac: Also check for MSYS host
|
|
3a1c5ee7
|
2022-09-04T18:22:30
|
|
Disable fuzzer tests if glob.h wasn't found
|
|
ad6f10a8
|
2022-09-04T17:21:51
|
|
Fix Python build on Windows
Build Python bindings with -no-undefined on Windows. Remove libs that
should already be set by PKG_CHECK_MODULE.
|
|
22b82d14
|
2022-09-04T17:19:58
|
|
Improve network library detection
|
|
0d901258
|
2022-09-04T16:41:43
|
|
Fix Windows compiler warnings in python/types.c
|
|
71736b4e
|
2022-09-04T16:16:37
|
|
Fix libxml_PyFileGet
Broken in commit 75cdb6dd.
|
|
f9fcb2c4
|
2022-09-04T04:47:48
|
|
Revert "CI job for MingW64/Autotools"
This reverts commit 6bfebf4d5886bd5f2a3979ceedc27ebd6c3c5009.
|
|
6bfebf4d
|
2022-09-04T04:04:45
|
|
CI job for MingW64/Autotools
|
|
0048fd0a
|
2022-09-04T03:48:49
|
|
Detect ws2_32 with AC_SEARCH_LIBS
|
|
60b03c9e
|
2022-09-04T03:31:27
|
|
Rework network configure checks
Migrate to AC_SEARCH_LIBS. Don't pollute LIBS.
|
|
fe02289f
|
2022-09-04T03:19:01
|
|
Remove arg cast configure checks
We can simply cast to non-const char * unconditionally.
|
|
2d164d68
|
2022-09-04T02:54:20
|
|
Fix dlopen check
|
|
1e60c768
|
2022-09-04T01:49:41
|
|
Remove HAVE_WIN32_THREADS configuration flag
Check for LIBXML_THREAD_ENABLED and _WIN32 instead.
|
|
13a66378
|
2022-09-04T01:05:51
|
|
Remove BeOS support
Haiku shouldn't be affected.
|
|
38290ec1
|
2022-09-04T00:49:36
|
|
Rework dlopen and pthread detection
Migrate to AC_SEARCH_LIBS. Remove check for ancient GCC 3.3.
|
|
e47df37b
|
2022-09-04T00:46:32
|
|
Fix test in configure.ac
Broken in commit b4847d60.
|
|
202b8e19
|
2022-09-01T06:52:02
|
|
cmake: Enable GCC compiler warnings
|
|
81621b1f
|
2022-09-02T18:38:33
|
|
Fix compiler warnings in SAX2.c
|
|
caef8563
|
2022-09-02T17:26:47
|
|
Move automata test to runtest.c
|
|
c59df16d
|
2022-09-02T17:00:05
|
|
Always link with -no-undefined
This is a good idea to detect errors early.
|
|
513d65fe
|
2022-09-02T16:45:06
|
|
Use AM_CFLAGS and AM_LDFLAGS consistently
|
|
75cdb6dd
|
2022-09-02T16:47:25
|
|
Fix unused variable warning in python/types.c
|
|
1bd24d44
|
2022-09-02T17:59:09
|
|
Fix compiler warning in examples
|
|
d0ab5c4f
|
2022-09-02T17:47:48
|
|
Fix compiler warnings in fuzzing code
|
|
17d505e2
|
2022-09-02T17:33:42
|
|
Remove -Wredundant-decls
Some Python headers contain redundant redeclarations.
|
|
4d911ebc
|
2022-09-02T16:14:04
|
|
Call AC_CHECK_* with multiple arguments
|
|
75bd98a5
|
2022-09-02T05:09:42
|
|
Remove unused code in nanohttp.c
This was hidden behind an undocumented flag RES_USE_INET6.
|
|
5bffa33a
|
2022-09-02T05:03:03
|
|
Stop including sys/types.h
|
|
05fc6ee2
|
2022-09-02T04:45:27
|
|
configure.ac: Remove checks for unused programs
|
|
16ae1d8f
|
2022-09-02T04:33:54
|
|
Don't define WIN32 macro
|
|
0f77167f
|
2022-09-02T02:08:44
|
|
Rework library detection in configure.ac
Migrate to AC_CHECK_LIB and AC_SEARCH_LIBS. Don't pollute CPPFLAGS,
LDFLAGS and LIBS.
|
|
f2dda8e8
|
2022-09-02T00:51:46
|
|
Rearrange configure.ac
Move some sections around and align headers.
|
|
6a5c88cc
|
2022-09-02T00:40:03
|
|
Consolidate zlib and lzma detection
Don't depend on a global variable for flag backup. Now the blocks can be
moved freely around.
|
|
59f2f60e
|
2022-09-02T00:27:57
|
|
Remove "runtime debugging"
This doesn't seem useful as configuration option.
|
|
b4847d60
|
2022-09-02T00:17:43
|
|
Consolidate simple API modules in configure.ac
Add some small consistency fixes.
|
|
88a8757b
|
2022-09-01T23:44:00
|
|
Fix dependency resolution in configure.ac
This mainly fixes the case of disabling a single module, for example
./configure --without-xpath
Before, there were still a few cases where a module wouldn't be disabled
unless another module depending on it were disabled, too. Finding the
correct options to really disable some modules could be extremely hard
for casual users.
Now every --without option should reliably disable dependent modules
unless they were specifcally requested. In the latter case, a warning is
printed consistently.
Some missing dependencies were added and the logic was consolidated in a
single code section.
|
|
c7149792
|
2022-09-01T23:15:35
|
|
Fix --with-valid --without-regexps build
This build config resulted in segfaults in 'runtest' because a special
xmlElementContentPtr showed up in a few places. I'm not sure if this is
the right fix.
An error message was changed to conform to the --with-regexps build.
There are still a few missing validity errors, so the tests don't pass.
|
|
884e142d
|
2022-09-01T22:44:02
|
|
Fix --with-schemas --without-xpath build
xmlXPathInit must be called for schemas.
|
|
14d38a71
|
2022-09-01T05:53:51
|
|
Don't build unneeded .c source files
|
|
bdcf842c
|
2022-09-01T20:45:35
|
|
Move xmlIsXHTML to tree.c
It's declared in tree.h and not guarded by LIBXML_OUTPUT_ENABLED like
the other functions in xmlsave.c.
|
|
6843fc72
|
2022-09-01T02:58:00
|
|
Remove or annotate char casts
|
|
2cac6269
|
2022-09-01T03:14:13
|
|
Don't use sizeof(xmlChar) or sizeof(char)
|
|
ad338ca7
|
2022-09-01T01:18:30
|
|
Remove explicit integer casts
Remove explicit integer casts as final operation
- in assignments
- when passing arguments
- when returning values
Remove casts
- to the same type
- from certain range-bound values
The main motivation is that these explicit casts don't change the result
of operations and only render UBSan's implicit-conversion checks
useless. Removing these casts allows UBSan to detect cases where
truncation or sign-changes occur unexpectedly.
Document some explicit casts as truncating and add a few missing ones.
|
|
aeb69fd3
|
2022-09-01T02:33:16
|
|
Fix overflow check in SAX2.c
|
|
65dc8a63
|
2022-09-01T00:13:19
|
|
Make xmlNewSAXParserCtx take a const sax handler
Also improve documentation.
|
|
ce8f3d11
|
2022-08-29T23:53:40
|
|
Fix libxml_PyFileGet with stdout on macOS
macOS returns O_RDWR for standard file descriptors, but fails to write
to stdout or stderr when opened with fdopen(dup_fd, "rw").
|
|
b1a09618
|
2022-08-29T17:21:19
|
|
Migrate from PyEval_ to PyObject_
PyEval_ functions are deprecated.
Fixes #208.
|
|
ae2b8021
|
2022-08-29T16:13:50
|
|
Cleanup distribution settings in Makefile.am
- Remove useless nodist_ prefix
- Prefer dist_ prefix over EXTRA_DIST
- Remove .in files from EXTRA_DIST
|
|
b0916e0e
|
2022-08-26T17:57:58
|
|
Also clean *.pyc files for Python 2
|
|
aa383e66
|
2022-08-26T17:37:09
|
|
Don't distribute libxml2.spec
This is a generated file.
|
|
df003c0a
|
2022-08-26T10:09:13
|
|
build: require automake-1.16.3 or later
We need
https://git.savannah.gnu.org/cgit/automake.git/commit/?id=e21d46f
to avoid an error like
checking for PYTHON... no
configure: error: Package requirements (python-3.1) were not met:
No package 'python-3.1' found
With python-3.10.
Partially fixes #392.
Note that there is another issue with python-3.10, like:
checking for python... no
checking for python2... no
checking for python3... no
checking for python3.9... no
...
configure: error: no suitable Python interpreter found
Fixing this one will need to require bumping automake version again, but
the automake version containing this fix is not released yet. And, this
is rather minor because most environment has "python3" as a symlink to
"python3.10" or whatever the latest python3.x installed.
|
|
47803697
|
2022-08-26T16:31:55
|
|
Work around strange -fsanitize=integer issue
With clang 14, __attribute__ ((nosanitize)) stops working with
-fsanitize=undefined,integer
Using the following works (and should be equivalent)
-fsanitize=undefined,unsigned-integer-overflow,implicit-conversion
|