include


Log

Author Commit Date CI Message
Nick Wellnhofer 30ef7755 2024-07-02T04:02:16 parser: Don't use deprecated xmlCopyChar
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 1167c334 2024-06-28T21:51:21 encoding: Don't include iconv.h from libxml/encoding.h
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 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 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 16e7ecd4 2024-07-01T16:01:24 xinclude: Check URI length Don't report long URIs as OOM errors.
Nick Wellnhofer 044ddf07 2024-06-28T03:14:12 parser: Undeprecate some parser context members
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 5cf5b542 2024-06-26T04:30:10 SAX2: Deprecate xmlSAX2StartElement
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 4b6e6828 2024-06-22T02:34:36 cmake: Stop using win32config.h Move this file to the win32 subdirectory.
Nick Wellnhofer 84a4f84c 2024-06-22T02:11:24 build: Don't check for required headers and functions Unless we are on Windows, the following POSIX headers are required. They're part of the earliest POSIX specs and it doesn't make sense to check for them. - fcntl.h - unistd.h - sys/stat.h - sys/time.h On Windows, io.h, fcntl.h and sys/stat.h are always available.
Nick Wellnhofer 02326d72 2024-06-21T23:54:35 build: Remove socklen_t checks socklen_t has been mandated by POSIX for ages. Always use "socklen_t" or "int" on Win32.
Nick Wellnhofer c2ccbc0f 2024-06-21T22:45:15 meson: Implement option dependencies This also removes the FreeBSD hack.
Nick Wellnhofer f9c33a55 2024-06-21T18:25:11 parser: Undeprecate some xmlParserInput members
Nick Wellnhofer 1228b4e0 2024-06-21T18:22:04 parser: Deprecate xmlParserCtxt->lastError We alredy have xmlCtxtGetLastError().
Nick Wellnhofer f82ca02b 2024-06-21T18:17:11 parser: Undeprecate some xmlParserCtxt members These are essential for SAX parsers.
Mike Dalessio bbbbbb46 2024-06-20T03:19:48 parser: implement xmlCtxtGetOptions In 712a31ab, the `options` struct member was deprecated. To allow callers to check the status of options bits, introduce xmlCtxtGetOptions.
Nick Wellnhofer 1112699c 2024-06-17T02:42:18 legacy: Remove most legacy functions from public headers Also remove warning messages.
Nick Wellnhofer 5fca9498 2024-06-16T19:56:08 doc: Hide internal macro
Nick Wellnhofer 33a1f897 2024-06-16T19:16:47 legacy: Merge SAX.c into legacy.c
Nick Wellnhofer 49672779 2024-06-16T18:45:47 parser: Make XML_INPUT constants signed Avoid conversion to unsigned which triggers (harmless) UBSan warnings.
Nick Wellnhofer 1341deac 2024-06-16T17:57:12 xmllint: Move shell to xmllint Move source code for xmllint shell to shell.c and move it from the libxml2 library to the xmllint executable. Also allow shell to run without XPath and debug modules. Add stubs for old shell API functions in legacy build mode.
Nick Wellnhofer 1b640358 2024-06-16T00:39:39 schemas: Stop using xmlValidateNotationUse Simplify symbol availability logic.
Nick Wellnhofer fa01278d 2024-06-16T00:11:41 regexp: Hide experimental legacy code This was never made public.
Nick Wellnhofer 10d60d15 2024-06-16T00:04:46 regexp: Stop using LIBXML_AUTOMATA_ENABLED This macro always equals LIBXML_REGEXP_ENABLED.
Nick Wellnhofer 11c3f84b 2024-06-15T23:57:39 SAX2: Always make xmlSAX2{Start,End}Element public Simplify symbol availability logic.
Nick Wellnhofer f307237e 2024-06-15T23:53:04 schemas: Use private copy of global NaN and Inf Simplify symbol availability logic.
Nick Wellnhofer b0fc67aa 2024-06-15T22:53:55 build: Remove --with-tree configuration option This option would allow for a smaller, but mostly useless minimal build. But it complicates the symbol availability logic in an insane way and requires specialized tools like our custom C parser in doc/apibuild.py. See #717.
Nick Wellnhofer 84666581 2024-06-15T20:34:07 catalog: Fix initialization Initialize mutex via xmlInitParser. Fix some other initialization calls.
Nick Wellnhofer 208f27f9 2024-06-15T19:13:08 include: Don't define ATTRIBUTE_UNUSED in public header Stop polluting namespace with unprefixed names.
Nick Wellnhofer 387f0c78 2023-12-06T18:35:30 include: Readd circular dependency between tree.h and parser.h There are dozens of downstream projects that only include tree.h but use declarations from parser.h. This broke after the recent cleanup of circular dependencies. Make tree.h include parser.h again. This is a hack but doesn't change the include directory struture. This commit only made it into the 2.12 branch but wasn't applied to master, so the issue turned up in 2.13.0 again. Should fix #734.
Nick Wellnhofer bd208d5f 2024-06-15T01:40:06 xinclude: Add another missing include
Jan Alexander Steffens (heftig) 599ceaff 2024-06-15T00:53:15 xinclude: Add missing include Gambas fails to compile with error: 'xmlStructuredErrorFunc' has not been declared
Nick Wellnhofer 3b4a84e4 2024-06-10T23:20:43 encoding: Deprecate xmlCharEncodingHandler members
Nick Wellnhofer b34dc1e4 2024-06-10T23:20:22 tree: Deprecate xmlBuffer members
Nick Wellnhofer 712a31ab 2024-06-10T23:06:13 parser: Deprecate most public struct members This will probably cause many warnings in downstream code abusing libxml2 internals, but we can always undeprecate some members later.
Nick Wellnhofer 1c179496 2024-06-12T19:55:47 xlink: Deprecate xlinkGetDefault* These functions read an otherwise unused global and seem useless.
Nick Wellnhofer 046663bc 2024-06-12T19:43:22 xlink: Deprecate xlinkSetDefault* These functions set an otherwise unused global and seem useless.
Nick Wellnhofer 669bd349 2024-06-12T18:20:01 xpointer: Remove support for XPointer locations 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. If you configure --with-legacy, old symbols are retained for ABI compatibility.
Nick Wellnhofer dba1ed85 2024-06-12T18:19:55 ftp: Remove FTP support Remove the built-in FTP client. If you configure --with-legacy, old symbols are retained for ABI compatibility.
Nick Wellnhofer 52384043 2024-06-11T19:10:41 parser: Pass resource type to resource loader
Nick Wellnhofer ab5e6deb 2024-06-11T18:11:51 parser: Introduce XML_INPUT_NETWORK input flag This allows to disable network access when creating parser inputs with xmlInputCreateUrl.
Nick Wellnhofer 89fcae4d 2024-06-11T16:19:58 parser: Don't report malloc failures when creating context We don't want messages to stderr before an error handler could be set on a parser context.
Nick Wellnhofer ef8dc4f6 2024-06-11T14:58:55 schemas: Add callbacks for resource loader
Nick Wellnhofer fd7d9e5e 2024-06-11T14:47:03 reader: Add callbacks for resource loader
Nick Wellnhofer fa2592b3 2024-06-11T14:40:28 xinclude: Add callbacks for resource loader
Nick Wellnhofer 40b76eda 2024-06-11T12:54:12 relaxng: Add callbacks for resource loader
Nick Wellnhofer 64ad2725 2024-06-11T03:51:43 parser: Introduce per-context resource loader
Nick Wellnhofer b9d2f3c9 2024-06-11T02:15:18 parser: Introduce new input API - xmlInputCreateUrl - xmlInputCreateMemory - xmlInputCreateString - xmlInputCreateFd - xmlInputCreateIO - xmlInputSetEncoding These functions don't take a parser context and work on xmlParserInputs, replacing functions working on xmlParserInputBuffers. xmlInputCreateUrl and xmlInputSetEncoding offer fine-grained error handling. Several XML_INPUT_* flags offer additional control.
Nick Wellnhofer ff3b0919 2024-06-11T00:00:32 parser: Implement XML_PARSE_NO_UNZIP option
Nick Wellnhofer 1432949d 2024-06-10T23:57:52 io: Pass input flags to xmlParserInputBufferCreateUrl
Nick Wellnhofer b5890cb4 2024-06-10T18:51:56 io: Remove xmlParserInputBufferCreateFilenameSafe
Nick Wellnhofer 1b1e8b3c 2024-06-10T16:39:57 io: Stop invoking generic error handler for IO errors
Rosen Penev f2270863 2024-06-06T13:42:03 meson: convert boolean options to feature option Simpler. Seems like they're only disabled by minimum. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Sadaf Ebrahimi 897c73fe 2024-06-05T17:43:32 Add missing _cplusplus processing clause
Nick Wellnhofer 5b1d7ff0 2024-05-20T22:51:44 parser: Remove redefinitions for legacy globals
Nick Wellnhofer e75e878e 2024-05-20T13:58:22 doc: Update and fix documentation
Nick Wellnhofer b47a95fe 2024-05-20T13:10:41 parser: Don't make xmlCtxtErrIO public
Nick Wellnhofer 59254626 2024-05-14T12:08:17 threads: Deprecate remaining ThrDef functions
Nick Wellnhofer 422ae462 2024-05-05T15:20:15 xmllint: Make some strings const
Nick Wellnhofer ae23a4ce 2024-04-30T17:26:28 unicode: Deprecate most xmlUCSIs* functions These don't seem to be used by downstream code.
Nick Wellnhofer 1cdfece1 2024-04-28T18:33:40 memory: Remove memory debugging This is useless compared to sanitizers or valgrind and has a considerable performance impact if enabled accidentally.
Nick Wellnhofer 5e80f438 2024-04-28T17:33:19 tree: Deprecate xmlRegisterNodeDefault This rarely used feature should be phased out.
Nick Wellnhofer 88169bfd 2024-04-28T17:54:36 tree: Deprecate xmlSetCompressMode
Nick Wellnhofer 05654cfe 2024-04-28T17:54:20 html: Deprecate htmlHandleOmittedElem
Vincent Torri 5732ce56 2024-04-04T12:14:46 meson: Initial commit
Nick Wellnhofer 3f05508a 2024-03-18T14:14:00 tree: Report malloc failures in attribute setters
Nick Wellnhofer 6a49bb77 2024-03-17T17:16:55 tree: Introduce xmlSearchNsSafe After the failed experiment with a static XML namespace, introduce versions of xmlSearchNs that report malloc failures. Optimize the no-document case by only adding the XML namespace declaration if it wasn't found in an ancestor.
Nick Wellnhofer 047ea3ec 2024-03-17T16:23:31 Revert "tree: Allocate XML namespace statically" This reverts commit 2840e33c5e4b51589a0b96e8102638eeaea6df72.
Nick Wellnhofer dc2a03d4 2024-03-16T14:50:56 valid: Deprecate internal validation functions
Nick Wellnhofer 9f049afa 2024-03-11T15:57:14 tree: Refactor element creation and parsing of attribute values Replace xmlStringGetNodeList and xmlStringLenGetNodeList with xmlNodeParseContentInternal which also updates an optional parent node. Don't look up entities a second time via xmlNewReference.
Nick Wellnhofer e3342f73 2024-03-07T17:47:06 tree: Work on documentation
Nick Wellnhofer bc7ab5a2 2024-03-02T18:59:51 tree: Rewrite xmlSetTreeDoc Report malloc failures. Fix when called directly on attribute node. Clear 'content' and 'last' and look up new entity for entity reference nodes.
Nick Wellnhofer d0d6174e 2024-02-29T19:38:29 valid: Rework xmlAddID
Nick Wellnhofer 2840e33c 2024-03-04T07:34:25 tree: Allocate XML namespace statically
Nick Wellnhofer 84a71860 2024-02-26T15:14:28 xmlreader: Fix xmlTextReaderConstEncoding Regression from commit f1c1f5c6. Fixes #697.
Nick Wellnhofer 67e475b7 2024-02-19T11:09:39 http: Improve error message for HTTPS redirects
Nick Wellnhofer e314109a 2024-02-16T15:42:38 save: Don't write directly to internal buffer Make sure that OOM errors are reported.
Nick Wellnhofer cf875194 2024-02-01T19:26:42 valid: Deprecate old DTD serialization API
Nick Wellnhofer fbe10a46 2024-02-01T19:01:57 save: Move DTD serialization code to xmlsave.c
Nick Wellnhofer 8961056f 2024-01-23T00:47:44 parser: Make experimental input API private This needs to be reworked.
Nick Wellnhofer d2b55a7a 2024-01-05T20:31:10 writer: Implement xmlTextWriterClose This function can be used to make sure that closing the output stream succeeded. Fixes #513.
Nick Wellnhofer 02cc5c36 2024-01-05T04:17:14 parser: Add XML_PARSE_NO_XXE parser option
Nick Wellnhofer 12f0bb94 2024-01-05T01:14:28 parser: Synchronize more options
Nick Wellnhofer 3efbe916 2024-01-05T00:11:29 parser: Mark 'token' member as unused in xmlParserCtxt
Nick Wellnhofer b82fd81d 2024-01-04T23:25:06 parser: Rework xmlCtxtParseDocument Make xmlCtxtParseDocument take a parser input which can be popped after parsing.
Nick Wellnhofer d7d300ba 2024-01-04T17:50:11 parser: Remove remnants of runtime debugging feature Apparently, this feature was remove long ago. Fixes #651.
Nick Wellnhofer 07c05546 2024-01-04T02:48:02 error: Make xmlFormatError public This is a useful function to get a verbose error report. Allows to remove duplicated code from runtest.c. Also reactivate check for schema parser failures.
Nick Wellnhofer 0821efc8 2024-01-02T18:33:57 encoding: Check whether encoding handlers support input/output The "HTML" encoding handler doesn't support input which could lead to a wrong error report.
Nick Wellnhofer e8fb3d63 2024-01-02T17:45:54 parser: Convert some "internal errors" to meaningful codes
Nick Wellnhofer 875bb084 2023-09-07T03:25:45 parser: Implement xmlCtxtSetOptions Surprisingly, some options can only be enabled with xmlCtxtUseOptions and it's impossible to unset them. Add a new API function xmlCtxtSetOptions which sets or clears all options. Finally document all parser options. Make sure to synchronize option bits and struct members.