Log

Author Commit Date CI Message
Nick Wellnhofer cc45f618 2024-07-11T22:06:31 save: Rework text escaping Stop using xmlOutputBufferWriteEscape except when using deprecated xmlSaveSetEscape. Rewrite xmlOutputBufferWriteEscape to use an extra buffer and call xmlOutputBufferWrite. Introduce xmlSerializeText to serialize both text and attribute content. Don't read encoding from document when serializing and remove all hacks that temporarily changed the document's encoding.
Nick Wellnhofer e488695b 2024-07-11T20:23:49 save: Deprecate xmlSaveSet*Escape xmlSaveSetAttrEscape never had an effect.
Nick Wellnhofer 0ab07b21 2024-07-11T20:04:39 io: Rework xmlOutputBufferWrite Simplify code, handle short writes from callback.
Markus Rickert bb1884cb 2024-07-16T10:19:23 Enable CMake checks for MSVC
Nick Wellnhofer 72886980 2024-07-15T14:35:47 error: Add helper functions to print errors and abort
Nick Wellnhofer f6170b48 2024-07-15T14:19:34 memory: Don't report OOM to stderr
Nick Wellnhofer e0494c0d 2024-07-15T15:10:18 io: Add some deprecation warnings
Nick Wellnhofer 6be79014 2024-07-15T14:18:26 Remove unused code
Nick Wellnhofer 2dcd561d 2024-07-15T14:54:37 regexp: Don't print to stderr
Nick Wellnhofer 4b1832c1 2024-07-15T14:46:00 relaxng: Use error handler for internal errors Don't print to stderr.
Nick Wellnhofer fee0006a 2024-07-15T13:03:55 parser: Fix memory leak after malloc failure in xml*ParseDTD
Nick Wellnhofer 30487932 2024-07-12T02:03:04 meson: Also disable icu and thread_alloc by default
Nick Wellnhofer 69f12d6d 2024-07-13T00:17:18 encoding: Deprecate xmlByteConsumed This was only used by Chromium/WebKit to detect whether xmlParseContent really succeeded. It's a horrible, overcomplicated hack. See 8c5848bd and #767.
Nick Wellnhofer 440d11af 2024-07-13T00:11:35 reader: Deprecate xmlTextReaderByteConsumed Document that this function is useless. Stop trying to handle encoding via xmlByteConsumed which can be expensive.
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 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 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 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 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 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 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 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