Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 87c9e000 | 2025-03-09 22:20:23 | encoding: Rework custom encoding implementation API | ||
| ba9148d8 | 2025-03-09 20:30:49 | parser: Undeprecate input->consumed Should be deprecated after fixing #762. | ||
| a0dbf030 | 2025-03-09 20:24:06 | parser: Undeprecate ctxt->loadsubset Should be deprecated after fixing #873. | ||
| 8873a498 | 2025-03-09 16:21:13 | html: Fix areBlanks check Short-lived regression from 71122421. | ||
| 98776424 | 2025-03-09 15:13:05 | gitlab-ci: Use forked branch for XML::LibXML | ||
| bde22ce8 | 2025-03-09 13:53:18 | Update NEWS | ||
| 9f848460 | 2025-03-09 13:31:10 | malloc-fail: Fix type confusion in xmlSchemaCheckAGPropsCorrect Attribute groups must be marked as containing references also if an OOM error occurred. Otherwise, references won't be resolved, leading to type confusion in xmlSchemaCheckAGPropsCorrect later in the fixup phase. I'm not sure why xmlSchemaFixupComponents is called at all if an error occurred. This has lead to similar issues in the past. On the other hand, continuing in the presence of errors helps when fuzzing. See #344. | ||
| d96911f1 | 2025-03-08 23:00:29 | doc: Documentation fixes | ||
| 5f0b1378 | 2025-03-08 22:07:15 | parser: Add more parser context accessors Fixes #763. | ||
| 5237d90f | 2025-03-07 21:15:20 | html: Process data before switching encoding This reduces the amount of data to convert and avoids issues with EOF detection. Also reset EOF flag after switching encoding as a precaution. | ||
| 38f47507 | 2025-03-05 21:06:05 | encoding: Make conversion callbacks more type-safe | ||
| a846d964 | 2025-03-05 16:49:42 | encoding: Remove compatibility struct members | ||
| 94d8a3e2 | 2025-03-05 14:56:46 | parser: Convert xmlParserMaxDepth to macro | ||
| 69657224 | 2025-03-04 20:32:02 | globals: Remove unused globals - xmlBufferAllocScheme - xmlDefaultBufferSize - xmlParserDebugEntities | ||
| 92d7b0cd | 2025-03-04 20:18:11 | xpath: Rename valuePush and valuePop | ||
| 03be993c | 2025-03-04 18:42:35 | Use memcpy to avoid pointer cast warnings | ||
| 5b56ed9b | 2025-03-05 12:03:52 | gitlab-ci: Reenable cmake:mingw For some reason, it's working again. | ||
| 2af05f76 | 2025-03-05 11:10:20 | globals: Fix Windows build | ||
| d9ea7650 | 2025-03-04 17:46:57 | build: Restrict binary compatibility to 2.14 On ELF systems, this bumps the soname from libxml2.so.2 to libxml2.so.16. For historic reasons, the last component is the sum of major and minor version. | ||
| f502e9b2 | 2025-03-04 17:23:44 | include: Add more deprecation warnings | ||
| 57641113 | 2025-03-04 16:38:14 | cmake: Add WITH_LEGACY dependencies | ||
| 85bd58ef | 2025-03-04 16:07:40 | globals: Remove functions related to global state handling - xmlGetGlobalState - xmlInitializeGlobalState - xmlGetThreadId - xmlIsMainThread | ||
| 03a8d5f9 | 2025-03-04 16:00:08 | unicode: Make Unicode functions private | ||
| 3d37ff84 | 2025-03-04 15:10:09 | globals: Also use global state struct if threads are disabled | ||
| a15ad9b2 | 2025-03-04 14:06:50 | parser: Remove compatibility symbols | ||
| 8e871162 | 2025-03-04 13:36:55 | parser: Remove oldXMLWDcompatibility | ||
| eed1a07d | 2025-03-04 13:32:52 | build: Remove version script | ||
| cdc5cfed | 2025-03-04 13:26:51 | legacy: Remove legacy symbols | ||
| 3250a01d | 2025-03-04 13:15:42 | error: Convert initGenericErrorDefaultFunc to macro | ||
| c42b3227 | 2025-03-04 13:11:18 | parser: Convert inputPush and inputPop to macros | ||
| 361f7bff | 2025-03-04 13:02:36 | parser: Make nodePush, nodePop, namePush, namePop private | ||
| 0b27097a | 2025-03-04 12:55:25 | encoding: Rename unprefixed public functions | ||
| 66fdf94c | 2025-03-03 10:12:18 | cmake: Fix WITH_RELAXNG option Dependent options must come after dependencies. | ||
| a0f156ff | 2025-03-02 13:21:29 | io: Fix `compressed` flag for uncompressed stdin This could cause xmlstarlet to generate compressed output unexpectedly. Regressed with a78843be. Should fix #869. | ||
| 05bd1720 | 2025-03-01 10:25:29 | parser: Fix parsing of DTD content Regressed in 2.11. Fixes #868. | ||
| 552864f1 | 2025-02-25 23:10:46 | Remove os400 port This is based on an ancient version and completely outdated. | ||
| e60f0712 | 2025-02-25 23:07:55 | Update NEWS | ||
| e50d314a | 2025-02-25 23:07:19 | build: Add separate configuration option for RELAX NG Support for RELAX NG used to be enabled together with XML Schema support (--with-schemas). Now there's a separate option and a new feature macro LIBXML_RELAXNG_ENABLED. | ||
| ce1b704e | 2025-02-25 20:09:36 | doc: Regenerate libxml2-api.xml | ||
| 6ab430ca | 2025-02-22 21:17:42 | Remove unnecessary #includes | ||
| 7ae8e8ac | 2025-02-22 21:06:34 | schemas: Make xmlSchemaDump depend on DEBUG_ENABLED | ||
| 6fc26076 | 2025-02-22 20:31:45 | regexp: Hide debugging code behind DEBUG_REGEXP xmlRegexpPrint is now a deprecated no-op. | ||
| 4649f28f | 2025-02-22 19:29:07 | xmlregexp: add support for compact form of automata in xmlRegexpPrint | ||
| c82270a9 | 2025-02-22 18:51:38 | regexp: Avoid dangling start/stop pointers in atom States could be eliminated later, so set start/stop pointers to NULL after they're used in xmlFAGenerateTransitions. | ||
| 5ed4eafd | 2025-02-22 14:51:39 | html: Don't invoke SAX callbacks if parser was stopped | ||
| 6dfa68ac | 2025-02-22 14:49:51 | SAX2: Fix ctxt->nodemem check In some error cases and maybe other situations, nodemem can have a value of -1. | ||
| 73514f2d | 2025-02-20 18:50:58 | gitlab-ci: Stop downloading and installing CMake for MSVC CMake should already be installed. | ||
| 064a0211 | 2025-02-20 13:52:40 | meson: Fix Python module build | ||
| c2e2d762 | 2025-02-20 13:51:26 | python: Pass destination dir to generator.py Simplify usage across build systems. | ||
| 82fb5cae | 2025-02-20 13:49:39 | meson: Use project_name instead of 'libxml2' | ||
| e649c972 | 2024-12-18 12:49:24 | fuzz: Add utility scripts Add scripts to minimize a corpus and generate HTML coverage reports. | ||
| 63dfcca6 | 2024-12-16 01:34:29 | fuzz: Reduce initial array size | ||
| 6f903d43 | 2024-12-13 19:15:38 | fuzz: Rework fixed parser options Remove XML_PARSE_XINCLUDE. This is only honored by the XML Reader interface which is now fuzzed in reader.c. Don't validate in XInclude fuzzer. This doesn't increase coverage after moving the Reader fuzzer. | ||
| 44628d45 | 2024-12-13 15:23:30 | fuzz: Harden leak check in lint fuzzer Check for undetected memory leaks from previous iterations. This also makes sure that the maxmem limit is checked deterministically. | ||
| c6c6d8af | 2024-12-11 16:24:23 | fuzz: Mutate fuzz data chunks separately Implement a custom mutator that takes a list of fixed-size chunks which are mutated with a given probability. This makes sure that values like parser options or failure position are mutated regularly even as the fuzz data grows large. Values can also be adjusted temporarily to make the fuzzer focus on failure injection, for example. Thanks to David Kilzer for the idea. | ||
| f5257d92 | 2024-12-11 16:24:43 | fuzz: Fix failure injection in schema fuzzer | ||
| fd359a7e | 2024-12-10 15:54:12 | fuzz: Start to fuzz XML Schema validator | ||
| 9f86dae9 | 2024-12-15 14:27:05 | test: Add test case for UAF in xmlSchemaIDCFillNodeTables | ||
| fe7f835f | 2025-02-20 10:24:50 | Fix C4296 warning: Resolve comparison of unsigned int with 0 | ||
| b8234e8c | 2025-02-19 12:53:32 | html: Fix check for partial named character references Digits are allowed after the first character. | ||
| f68c70d2 | 2025-02-19 12:20:57 | html: Remove htmlSaveErr This function is useless now. | ||
| 0315ac93 | 2025-02-19 12:18:50 | html: Handle error from htmlFindOutputEncoder | ||
| 22ada0a0 | 2025-02-18 23:27:40 | tests: Look for xmlconf in source directory Add -d option to runxmlconf for automake. Fix extraction of xmlconf.tar.gz on Windows. Make runxmlconf work with Meson CI. | ||
| aedc1f3d | 2025-02-18 23:15:20 | gitlab-ci: Run meson tests verbosely | ||
| 9037dce9 | 2025-02-18 19:38:28 | fuzz: Add dictionary for lint fuzzer Mostly a combination of xml.dict and xpath.dict. This should with fuzzing pattern.c. | ||
| 51622c05 | 2025-02-18 17:27:16 | doc: Update release instructions | ||
| 8c8753ad | 2025-02-11 17:30:40 | [CVE-2025-24928] Fix stack-buffer-overflow in xmlSnprintfElements Fixes #847. | ||
| 5880a9a6 | 2024-12-10 16:52:05 | [CVE-2024-56171] Fix use-after-free after xmlSchemaItemListAdd xmlSchemaItemListAdd can reallocate the items array. Update local variables after adding item in - xmlSchemaIDCFillNodeTables - xmlSchemaBubbleIDCNodeTables Fixes #828. | ||
| 06b39650 | 2025-02-17 12:19:23 | fuzz: Stop testing xmllint --memory option The --memory option mmaps files directly, bypassing the resource loader. We'd need a temp file to make it work when fuzzing. | ||
| 25ae533b | 2025-02-17 11:27:30 | xmllint: Fix SIGBUS with --memory option If the input file size is a multiple of page size, the byte after the file's content is on a new page and accessing it will lead to SIGBUS. Remove XML_INPUT_BUF_ZERO_TERMINATED hint for mmapped files. Regressed with a221cd78. Fixes #864. | ||
| 7a61c32b | 2025-02-13 23:09:28 | html: Use enum instead of magic values for insertion modes | ||
| 3793eaad | 2025-02-16 13:54:56 | fuzz: Fix build | ||
| 69b91da3 | 2025-02-13 19:45:41 | Revert "xpath: Make contextSize and proximityPosition default to 1" This reverts commit afbc0a0405236de4ab8cbac94745e9885db0a198. | ||
| 9c16a153 | 2025-02-13 18:41:33 | Revert "include: Make most IS_* macros private" This reverts commit 84a6c82ff83d04963d6e1c5cd18ded68ea02d99f. | ||
| 6c716d49 | 2025-02-13 16:48:53 | pattern: Fix compilation of explicit child axis The child axis is the default axis and should generate XML_OP_ELEM like the case without an axis. | ||
| 8cf6129b | 2025-02-13 18:20:46 | html: Stop implying <p> start tags Only <html>, <head> or <body> should be implied. Opening extra <p> tags has always been a libxml2 quirk. | ||
| 71122421 | 2025-02-13 14:04:10 | html: Make implied <p> tags more deterministic libxml2's HTML parser adds <p> start tags in some situations. This behavior, which doesn't follow any standard, was added in 2000, see here: http://veillard.com/XML/messages/0655.html Text nodes that only contain whitespace don't imply a <p> tag, but the whitespace check cannot work reliably if we're parsing partial text data which can happen with both pull and push parser. The logic in `areBlanks` is hard to follow. The checks involving `CUR` depend on the position of the input pointer and seem dubious. It's also possible that the behavior changed inadvertently with a later commit. As a result, it's hard to come up with good test cases. We now process leading whitespace before creating implied tags. This is more in line with HTML5 and should avoid at least some issues with partial text data. For example, parsing the string "<head> x" used to result in: <html> <head></head> <body><p> x</p></body> </html> And now results in: <html> <head> </head> <body><p>x</p></body> </html> Except for the implied <p> tag, this matches HTML5. | ||
| ebbc31cc | 2025-02-13 12:09:58 | malloc-fail: Check for malloc failure in xhtmlNodeDumpOutput | ||
| 79ab721c | 2025-02-11 11:39:08 | tests: Fix error return in testHugeEncodedChunk Fixes #859. | ||
| cfc854b8 | 2025-02-11 00:21:12 | fuzz: Work around glibc iconv() bug | ||
| 3a1526a5 | 2025-02-10 19:32:32 | xpath: Don't raise OOM error on long names Short-lived regression. | ||
| 3dcde736 | 2025-02-05 15:18:48 | Use __has_attribute to check for __counted_by__ support The initial clang patch to support __counted_by__ was landed and reverted several times. There are some clang toolchains (e.g. the Android toolchain) that report themselves as version 18 but do not support __counted_by__. While it is debatable if Android should be shipping a pre-release clang, using __has_attribute should be a bit simpler overall. Note that this doesn't migrate everything else to use __has_attribute: while clang has always supported __has_attribute, gcc didn't support it until a bit later. | ||
| 35d8a230 | 2025-02-06 10:14:56 | tests: Fix expected errors in runxmlconf The extra failure if regexps weren't enabled was actually a regression fixed by the previous commit. | ||
| b466e70a | 2025-02-05 14:11:04 | Fix early return in vstateVPush in valid.c While looking over the code in the fallback method for `vstateVPush` in valid.c when `LIBXML_REGEXP_ENABLED` is not defined, I noticed that there is an ungated `return(-1)` after attempting to allocate memory. I believe this should be inside a check, for if the malloc fails. | ||
| 62d4697d | 2025-02-02 16:43:25 | gitlab-ci: Disable cmake:mingw for now Executing /mingw64/bin/cmake.exe with any arguments fails without error message and exit code 127 since 2025-01-21. I have no idea why. | ||
| a25dc439 | 2025-02-02 15:01:50 | Debug CI failure | ||
| cd491ac0 | 2025-02-02 13:13:20 | dict: Handle ENOSYS from getentropy gracefully Also add some comments. Should fix #854. | ||
| bc437868 | 2025-01-31 23:11:55 | fuzz: Improve HTML fuzzer Verify that pull and push parser produce the same result. Fixes #849. | ||
| c4f760be | 2025-02-01 15:29:56 | encoding: Handle iconv() returning EOPNOTSUPP on Apple iconv() really shouldn't return undocumented error codes. | ||
| 8d7e38d5 | 2025-02-01 22:41:53 | fuzz: Ignore encodings when fuzzing on Apple Not long ago, Apple decided to replace GNU libiconv with a patched up version of FreeBSD's iconv implementation in their operating systems. Unfortunately, the quality of both the original implementation as well as Apple's patches is so abysmal that you routinely find issues when fuzzing your own code. | ||
| 68be036f | 2025-02-01 22:09:18 | fuzz: Disable HTML encoding detection for now This doesn't work with the push parser. | ||
| b4d3d87e | 2025-02-01 22:02:33 | parser: Fix parsing of doctype declarations Fix some long-standing issues. Fixes #504. | ||
| c13fcc19 | 2025-02-01 19:36:06 | html: Chunk text data in push parser Follow the logic of the XML parser and chunk large text nodes. | ||
| 08028572 | 2025-02-01 18:21:47 | html: Make data parsing modes work with push parser This can't be solved with a simple scan for a terminator. Instead, we make htmlParseCharData handle incomplete data if the "partial" flag is set. | ||
| 4be1e8be | 2025-02-01 15:00:26 | html: Simplify htmlParseTryOrFinish a little | ||
| 12732592 | 2025-02-01 00:36:12 | html: Remove unused epilog state | ||
| 70bf754e | 2025-02-01 00:17:01 | html: Fix pull-parsing of incomplete end tags Handle this HTML5 quirk in htmlParseEndTag. | ||
| 4a776c78 | 2025-01-31 23:57:44 | html: Use htmlParseElementInternal in push parser | ||
| ba153737 | 2025-01-31 22:51:59 | html: Fix corner case when push-parsing HTML5 comments | ||
| e48fb5e4 | 2025-01-31 22:08:13 | html: Handle incomplete UTF-8 when push-parsing For now, incomplete UTF-8 is always an error in push mode. Eventually, we could pass chunked data to the character handler when push-parsing. Then we'd have to handle incomplete sequences. |