Log

Author Commit Date CI Message
Nick Wellnhofer 3528b81f 2024-07-12T16:28:18 tools: Move codegen tools to 'tools' directory
Nick Wellnhofer c3b2f471 2024-07-12T03:07:22 cmake: Update option description
Nick Wellnhofer 30487932 2024-07-12T02:03:04 meson: Also disable icu and thread_alloc by default
Nick Wellnhofer aa6aec19 2024-07-11T12:37:25 parser: Fix xmlInputSetEncodingHandler again Short-lived regression.
Nick Wellnhofer 8af55c8d 2024-07-06T22:14:21 parser: Rename new input API functions These weren't made public yet.
Nick Wellnhofer d74ca594 2024-07-06T22:04:06 parser: Rename internal xmlNewInput functions
Nick Wellnhofer 4f329dc5 2024-07-10T03:27:47 parser: Implement xmlCtxtParseContent This implements xmlCtxtParseContent, a better alternative to xmlParseInNodeContext or xmlParseBalancedChunkMemory. It accepts a parser context and a parser input, making it a lot more versatile. xmlParseInNodeContext is now implemented in terms of xmlCtxtParseContent. This makes sure that xmlParseInNodeContext never modifies the target document, improving thread safety. xmlParseInNodeContext is also more lenient now with regard to undeclared entities. Fixes #727.
Nick Wellnhofer 673ca0ed 2024-07-11T01:23:57 tests: Regenerate testapi.c
Nick Wellnhofer 4fec0889 2024-07-10T22:31:15 parser: Fix memory leak in xmlInputSetEncodingHandler Short-lived regression.
Nick Wellnhofer d0997956 2024-07-10T22:26:19 encoding: Readd some UTF-8 validation to encoders This isn't strictly needed but avoids generating invalid UTF-16 and unsigned integer overflows.
Nick Wellnhofer ae6e2ee7 2024-07-10T22:11:08 fuzz: Adjust reader fuzzer
Nick Wellnhofer f48eefe3 2024-07-09T14:09:15 encoding: Rework xmlByteConsumed Don't loop infinitely if input buffer is too large. Allocate conversion buffer on the heap.
Nick Wellnhofer 8c4cc0be 2024-07-09T13:56:49 fuzz: Improve debug output of reader fuzzer
Nick Wellnhofer 59354717 2024-07-09T13:54:07 parser: Fix malloc failure handling in xmlInputSetEncodingHandler Don't set encoder if allocating buffer failed. This could lead to xmlByteConsumed processing invalid UTF-8.
Nick Wellnhofer da686399 2024-07-09T12:29:53 io: Fix return value of xmlFileRead This broke in commit 6d27c54. Fixes #766.
Nick Wellnhofer f51ad063 2024-07-08T11:23:39 parser: Fix error return of xmlParseBalancedChunkMemory Only return an error code if the chunk is not well-formed to match the 2.12 behavior. Return 0 on non-fatal errors like invalid namespaces. Fixes #765.
Nick Wellnhofer 2e63656e 2024-07-07T19:21:46 parser: Check return value of inputPush inputPush typically doesn't fail because we pre-allocate the input table. The return value should be checked nevertheless.
Nick Wellnhofer ea31ac5b 2024-07-07T01:02:11 fuzz: Fix spaceMax
Nick Wellnhofer 82e0455c 2024-07-06T19:48:07 Undeprecate some symbols for now - xmlKeepBlanksDefault is needed as a work-around for xmlParseBalancedChunk, see issue #727. - ctxt->options already has an accessor and will be deprecated later. - input->cur, input->base, input->end: See #762.
Nick Wellnhofer 29e3ab92 2024-07-06T15:48:43 fuzz: Make reallocs more likely
Nick Wellnhofer de3221b1 2024-07-06T15:23:30 fuzz: Adjust for xmlNodeParseContent changes xmlStringGetNodeList returns NULL again for empty strings.
Nick Wellnhofer 1e5375c1 2024-07-06T15:15:57 SAX2: Check return value of xmlPushInput Fix null deref in case of malloc failure.
Nick Wellnhofer 38195cf5 2024-07-06T14:58:16 parser: Don't produce names with invalid UTF-8 in recovery mode
Nick Wellnhofer c45c15f5 2024-07-04T15:15:58 ci: Add job for perl-XML-LibXML
Nick Wellnhofer ec088109 2024-07-04T15:15:17 parser: Upgrade XML_IO_NETWORK_ATTEMPT to error Fixes XML::LibXML test suite.
Nick Wellnhofer f86d17c1 2024-07-04T15:14:54 encoding: Fix xmlParseCharEncoding Make "UTF-16" return the UTF16LE handler as before. Fix error return.
Nick Wellnhofer 10082a3d 2024-07-04T03:35:17 testchar: Don't invoke encoding handler directly
Mike Dalessio 446a3610 2024-07-03T13:56:41 test: add a downstream integration test job for nokogiri Related to #758
Andrew Potter 67fa4a43 2024-07-03T13:40:04 meson: Disable python when python is disabled
Nick Wellnhofer e2a49afe 2024-07-03T20:18:24 build: Read version number from VERSION file
Nick Wellnhofer c3731347 2024-07-03T18:20:17 build: Introduce LIBXML_MINOR_COMPAT This is set to 0 for now but could be used to avoid ABI stability issues.
Nick Wellnhofer 606310a3 2024-07-03T18:05:05 meson: Set soversion
Nick Wellnhofer 944cc23c 2024-07-03T15:54:32 tree: Fix handling of empty strings in xmlNodeParseContent We shouldn't create an empty text node to match the old behavior. Fixes #759.
Nick Wellnhofer 46ec621e 2024-07-03T15:48:01 encoding: Clarify xmlUconvConvert
Nick Wellnhofer 48fec242 2024-07-03T15:11:20 encoding: Remove duplicate code Fix recent commit.
Nick Wellnhofer 71fb2579 2024-07-03T14:35:49 encoding: Fix ICU build
Nick Wellnhofer 80aabea1 2024-07-03T11:55:38 SAX2: Reenable 'directory' as base URI fallback Apparently, some users overwrite this member manually to set a base URI for memory streams. Fixes #753.
Nick Wellnhofer 842a0448 2024-07-03T11:46:06 valid: Restore ID lookup Revert a change from d025cfbb and don't overwrite ID table entries, so that the first attribute will be returned if there are duplicate IDs. This requires two other changes: - Attributes in entity content are never added to the ID table. This seems reasonable. - Remove the optimization to skip ID lookup when copying and the target document has an empty ID table. This also seems more correct since the document could have ID declarations nevertheless or we could be copying xml:ids into the document for the first time. Fixes #757.
Nick Wellnhofer f9065261 2024-07-02T23:43:28 SAX2: Fix HTML IDs Short-lived regression. Fixes #755.
Nick Wellnhofer 785ed5c4 2024-07-02T23:03:46 meson: Don't auto-enable legacy and tls These features should be requested explicitly.
Nick Wellnhofer 96d850c3 2024-07-02T22:43:49 save: Fix "Factor out xmlSaveWriteIndent"
Nick Wellnhofer 205e56da 2024-07-02T22:32:43 parser: Undeprecate ctxt->directory
Nick Wellnhofer 8fb1dc9a 2024-07-02T22:17:08 Clarify xpointer() extension removal
Nick Wellnhofer fdfeecfe 2024-07-02T21:54:26 parser: Reenable ctxt->directory Unused internally, but used in downstream code. Should fix #753.
Nick Wellnhofer c127c89f 2024-07-02T21:05:22 catalog: Deprecate xmlCatalogSetDefaultPrefer
Nick Wellnhofer 606f4108 2024-07-02T20:57:15 parser: Allow to disable catalogs with parser options Implement XML_PARSE_NO_SYS_CATALOG and XML_PARSE_NO_CATALOG_PI. Fixes #735.
Nick Wellnhofer 6794c1b9 2024-07-02T19:51:05 globals: Document remaining thread-local vars as deprecated See #407.
Nick Wellnhofer 35146ff3 2024-07-02T19:43:24 save: Implement xmlSaveSetIndentString Allow to set indent string without using global xmlTreeIndentString. See #736.
Nick Wellnhofer 7cc619d5 2024-07-02T19:22:32 save: Implement save options for indenting Implement XML_SAVE_NO_INDENT to disable and XML_SAVE_INDENT to enable indenting regardless of the global xmlIndentTreeOutput. Implement XML_SAVE_EMPTY to enable empty tags regardless of the global xmlSaveNoEmptyTags. See #736.
Nick Wellnhofer 2c4204ec 2024-07-02T19:14:40 save: Factor out xmlSaveWriteIndent
Nick Wellnhofer 202045f8 2024-07-02T18:51:59 save: Pass options to xmlSaveCtxtInit
Nick Wellnhofer 197e09d5 2024-07-02T19:46:51 parser: Fix xmlLoadResource Short-lived regression.
Nick Wellnhofer ede5d99a 2024-07-02T01:42:33 parser: Fix typo
Nick Wellnhofer 866be54e 2024-07-02T04:27:53 parser: Don't use deprecated xmlSplitQName
Nick Wellnhofer 30ef7755 2024-07-02T04:02:16 parser: Don't use deprecated xmlCopyChar
Nick Wellnhofer 751ba00e 2024-07-02T03:41:05 parser: Don't use deprecated xmlSwitchInputEncoding
Nick Wellnhofer 9a4770ef 2024-07-02T02:18:03 doc: Improve documentation
Nick Wellnhofer 282ec1d5 2024-06-28T19:06:57 encoding: Rework xmlCharEncodingHandler layout Reuse some of the old members. The "input" and "output" function pointers are actually of type xmlCharEncConvFunc, accepting an additional argument. For default handlers, this argument is unused, so this should work with most ABIs. For iconv handlers, these function pointers used to be NULL but now point to a function which requires the extra argument. "iconv_in" and "iconv_out" are made void pointers. "uconv_in" and "uconv_out" are renamed and made void pointers. This is unlikely to cause issues. We now expect that the built-in conversion functions correctly report XML_ENC_ERR_SPACE. For UTF8ToHtml and the ISO-8859-X code, this will be done in the following commits.
Nick Wellnhofer 57e37dff 2017-06-17T21:43:48 encoding: Rework UTF-16 conversion functions Optimize UTF-16 conversion functions. Avoid misaligned memory access. Don't rely on 'sizeof(short) == 2'. Check for XML_ENC_ERR_SPACE. Add some tests for UTF-16 conversion.
Nick Wellnhofer bb8e81c7 2024-06-28T04:36:14 encoding: Rework simple conversions function Use a single function for ASCII conversion. Optimize code. Check for XML_ENC_ERR_SPACE.
Nick Wellnhofer 501e5d19 2024-06-28T04:10:03 encoding: Stop using XML_ENC_ERR_PARTIAL
Nick Wellnhofer 221df375 2024-06-28T00:34:52 parser: Support custom charset conversion implementations Implement xmlCtxtSetCharEncConvImpl. I agree that the name is terrible.
Nick Wellnhofer c59c2449 2024-06-27T23:32:58 encoding: Support custom implementations
Nick Wellnhofer 1e3da9f4 2024-06-27T21:37:18 encoding: Start with callbacks
Nick Wellnhofer 6d8427dc 2024-06-27T20:39:52 encoding: Rework encoding lookup Add missing xmlCharEncoding enum values. Simplify and speed up encoding lookup by using a table mapping names to xmlCharEncoding enums and binary search. Rearrange the default handler table to match the enum layout. For some encodings we now only lookup the provided or most canonical name instead of trying several names, expecting that iconv or ICU handle aliases: - IBM037 (EBCDIC) - UCS-2 - UCS-4 - Shift_JIS
Nick Wellnhofer 0b0dd989 2024-06-28T23:13:38 parser: Fix EBCDIC detection
Nick Wellnhofer 37a9ff11 2024-06-28T22:42:46 encoding: Simplify xmlCharEncCloseFunc
Nick Wellnhofer 1167c334 2024-06-28T21:51:21 encoding: Don't include iconv.h from libxml/encoding.h
Nick Wellnhofer 95d36333 2024-06-28T21:19:44 encoding: Rework conversion error codes This should match the old code more closely. Remove XML_ERR_PARTIAL. It's unlikely that anyone is using these codes already.
Nick Wellnhofer dd8e3785 2024-06-28T21:15:27 HTML: Rework UTF8ToHtml Optimize code. Check for XML_ENC_ERR_SPACE. Use error macros.
Nick Wellnhofer 30be984a 2024-06-28T20:37:47 encoding: Rework ISO-8859-X conversion Optimize code. Pass tables as context parameter. Check for XML_ENC_ERR_SPACE.
Nick Wellnhofer 16e7ecd4 2024-07-01T16:01:24 xinclude: Check URI length Don't report long URIs as OOM errors.
Nick Wellnhofer 37f72370 2024-07-01T15:31:58 xmllint: Fix unsigned integer overflow Short-lived regression.
Nick Wellnhofer 64b0c64e 2024-06-29T16:53:32 cmake: Don't install man pages if LIBXML2_WITH_PROGRAMS=OFF
Chun-wei Fan a24b08bf 2024-07-01T15:47:29 meson: Don't always assume PThreads when using threads The libxml2 code has support for Windows threads as well, so use these instead on Windows when building threads support,
Nick Wellnhofer 64685e98 2024-06-28T22:04:50 autotools: Remove NON_PC_LIBS Improves modularization.
Nick Wellnhofer 044ddf07 2024-06-28T03:14:12 parser: Undeprecate some parser context members
Nick Wellnhofer e72eda10 2024-06-28T01:41:36 parser: Add NULL check in xmlNewIOInputStream
Nick Wellnhofer bc793390 2024-06-27T16:23:14 parser: Update documentation
Nick Wellnhofer f4e63f7a 2024-06-27T15:15:06 Regenerate libxml2-api.xml and testapi.c
Nick Wellnhofer 193f4653 2024-06-26T19:28:28 parser: Implement xmlCtxtGetStatus This allows access to ctxt->wellFormed, ctxt->nsWellFormed and ctxt->valid. It also detects several fatal non-parser errors which really should be another error level.
Nick Wellnhofer f505dcae 2024-06-26T14:11:34 tree: Remove underscores from xmlRegisterCallbacks
Nick Wellnhofer cc0cc2d3 2024-06-26T04:32:49 parser: Add more parser context accessors
Nick Wellnhofer 8b1f79ce 2024-06-26T04:30:38 SAX2: Make xmlSAXDefaultVersion a no-op
Nick Wellnhofer 5cf5b542 2024-06-26T04:30:10 SAX2: Deprecate xmlSAX2StartElement
Nick Wellnhofer 71eb7109 2024-06-26T04:29:11 xmllint: Switch to xmlCtxtSetErrorHandler
Nick Wellnhofer c5750fc6 2024-06-26T04:28:36 python: Switch to xmlCtxtSetErrorHandler
Nick Wellnhofer eca972e6 2024-06-26T02:22:04 parser: Add getters for XML declaration to parser context Access to struct members will be deprecated.
Nick Wellnhofer 598ee0d2 2024-06-26T01:18:55 error: Remove underscores from xmlRaiseError
Nick Wellnhofer 3ff8a2c4 2024-06-26T01:08:48 parser: Deprecate xmlIsLetter
Nick Wellnhofer fa50be92 2024-06-25T23:19:56 parser: Move implementation of xmlCtxtGetLastError
Nick Wellnhofer 7c11da2d 2024-06-27T12:47:47 tests: Clarify licence of test/intsubset2.xml
Nick Wellnhofer b1a416bf 2024-06-27T12:00:45 encoding: Restore old lookup order in xmlOpenCharEncodingHandler When looking up encodings with xmlLookupCharEncodingHandler, the returned handler can have a different name than requested (capitalization, internal aliases). This should eventually be fixed. For now we revert part of commit 5b893fa9, start the lookup with xmlFindHandler and add an explicit check for UTF-8. Should fix the encoding name issue mentioned in #749.
Nick Wellnhofer e6f25fdc 2024-06-26T14:15:26 uri: Fix documentation of xmlBuildRelativeURI
Nick Wellnhofer c195f06f 2024-06-25T22:14:47 autotools: Use AX_GCC_FUNC_ATTRIBUTE from autoconf archives
Nick Wellnhofer 1afaa371 2024-06-25T22:06:36 build: Move definition of ATTRIBUTE_DESTRUCTOR to libxml.h
Nick Wellnhofer fd099dd8 2024-06-24T20:37:39 autotools: Fix pkg.m4 check
Nick Wellnhofer c4d8343b 2024-06-24T19:41:32 encoding: Make xmlFindCharEncodingHandler return UTF-8 handler xmlFindCharEncodingHandler must always return a handler. Remove UTF-8 handler from default handler list. Fixes 5b893fa9.
Nick Wellnhofer 54c6c7e4 2024-06-23T21:51:52 uri: Only set file scheme for special Windows paths Fixes 2ce70cde. Also fix a test case.
Sam James ec47add4 2024-06-24T01:06:08 configure.ac: fix bashisms '==' is a bashism, so use the POSIX '=' instead.