include

Branch


Log

Author Commit Date CI Message
Nick Wellnhofer 367a283b 2025-10-07T01:05:03 tree: Undeprecate several struct members
Nick Wellnhofer 2f62ebb3 2025-09-29T11:04:03 io: Undeprecate xmlOutputBuffer members The public API is too buggy, so direct access to struct members is required by projects like libxslt.
Nick Wellnhofer a30a2764 2025-09-26T16:29:10 valid: Undeprecate xmlValidGetPotentialChildren Fixes #988.
Lars Erik Wik c537ccf0 2025-09-25T11:29:05 Fixed compilation error on GCC versions prior to 4.5 The deprecated attribute started accepting an optional string argument in GCC version 4.5. Compiling libxml2 with GCC versions prior to that would cause compilation errors such as: ``` ./include/libxml/xmlmemory.h:134: error: wrong number of arguments specified for 'deprecated' attribute ``` Now the string argument is omitted for older versions of GCC. Signed-off-by: Lars Erik Wik <lars.erik.wik@northern.tech>
Nick Wellnhofer 1763281c 2025-09-08T15:29:23 Remove LZMA support
Nick Wellnhofer 8c107b69 2025-09-08T14:59:24 Revert "dict: Rework reference counting" This reverts commit 18bbdb51175f309aef40fa5254af34e322be7783 due to lack of feedback.
Nick Wellnhofer d53ba058 2025-08-23T14:59:50 valid: Don't add ids when validating entity content The id table shouldn't reference ids in entities. The id will be created when expanding the entity. Probably regressed with d025cfbb. Note that we still register ids in entities if entities are not replaced. This is required to make IDREF checks work. Fixes #974.
Nick Wellnhofer 56199b5c 2025-08-17T15:58:09 catalog: Prepare to make SGML catalog support optional
Nick Wellnhofer 591f19eb 2025-08-17T14:35:08 catalog: Deprecate low-level internal functions
Samuel Thibault 5bd6b44d 2025-08-20T10:18:25 Fix initGenericErrorDefaultFunc(NULL) Calling initGenericErrorDefaultFunc(NULL) currently yields to /usr/include/libxml2/libxml/xmlerror.h:23:45: error: invalid use of void expression 23 | xmlSetGenericErrorFunc(NULL, (h) ? *(h) : NULL) Indeed, even if h is nul, the compiler will try to give a type to *(h), which can't work.
Francesco Pretto ca10c7d7 2025-07-24T18:10:25 relaxng: Added xmlRelaxNGValidCtxtClearErrors to recover from errors during streaming validation This allows to perform XML element validation skipping errors without recreating a validation context. Tested it in runsuite.c in the rngTestStreaming() method. Also added xmlRegExecClearErrors(exec) as necessary.
Nick Wellnhofer 18bbdb51 2025-08-16T14:36:43 dict: Rework reference counting Use C11 atomics if available. Otherwise, fall back to pthread mutex inlined in xmlDict struct or Win32 atomics. This should fix lock contention reported in #970.
Nick Wellnhofer c4b278ec 2025-08-11T13:44:56 valid: Undeprecate xmlAdd*Decl Fixes #969.
Nick Wellnhofer 3b96ec75 2025-08-02T14:12:17 doc: Document deprecated default SAX handler globals
Nick Wellnhofer 84369160 2025-07-27T12:55:11 doc: Add another warning to XML_PARSE_DTDVALID While most parts of libxml2, including the parser, are still vulnerable to such attacks, it is unlikely that DTD validation will ever be fixed.
Nick Wellnhofer ab4a7f30 2025-07-23T02:22:43 doc: Document deprecated xmlBuffer members
Nick Wellnhofer af464de1 2025-07-23T02:20:13 io: Deprecate xmlOutputBuffer members
Nick Wellnhofer 6c018854 2025-07-23T02:15:40 io: Deprecate xmlParserInputBuffer members
Nick Wellnhofer 8689523a 2025-07-22T23:57:03 parser: Implement xmlCtxtGetInputWindow See #762.
Nick Wellnhofer 469c847f 2025-07-22T23:44:10 parser: Split out xmlParserInputGetWindow
Nick Wellnhofer 8aaa53d7 2025-07-22T22:38:50 parser: Implement xmlCtxtGetInputPosition See #762.
Nick Wellnhofer 144ed959 2025-07-22T22:38:05 parser: Move xmlSaturatedAdd to private header
Nick Wellnhofer a7fc9e1a 2025-07-22T20:50:13 parser: Add more parser context accessors The only thing remaining is access to parser input, see #762.
Nick Wellnhofer a2562b9d 2025-07-22T12:15:37 doc: Improve documentation of error levels
Nick Wellnhofer 7a41b18c 2025-07-22T01:08:38 parser: Remove xmlHaltParser Always halt the parser on resource limit and entity loop errors and remove the remaining calls which seem unnecessary.
Nick Wellnhofer c5e7ff09 2025-07-21T12:26:36 tree: More xmlNodeParseContent cleanup - Rename to xmlNodeParseAttValue - Rework argument types - Remove wrapper function
Nick Wellnhofer 6340f392 2025-07-05T17:08:00 doc: Document HTML type aliases
Nick Wellnhofer c7a9ef1d 2025-07-04T16:20:28 doc: Document struct typedefs Unfortunately, Doxygen's TYPDEF_HIDES_STRUCT option is too broken. Document struct typedefs to make autolinks work.
Nick Wellnhofer 9553695d 2025-06-30T16:15:15 relaxng: Make xmlRelaxNGDump depend on debug option
Daniel P. Berrangé ac5fcb0e 2025-06-25T15:24:24 relaxng: ensure thread safe global initialization Relying on a plain integer flag, with no synchronization primitives does not give thread-safe initialization. All reads & writes of the xmlSchemaTypesInitialized flag need to be protected by a mutex to ensure suitable memory barriers & thus correct ordering wrt any speculative execution. A separate internal initializer tied to xmlParserInit is used to create the mutex used for synchronization, similarly to how catalog.c works. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Daniel P. Berrangé 80798c40 2025-06-25T15:24:24 xmlschemastypes: ensure thread safe global initialization Relying on a plain integer flag, with no synchronization primitives does not give thread-safe initialization. All reads & writes of the xmlSchemaTypesInitialized flag need to be protected by a mutex to ensure suitable memory barriers & thus correct ordering wrt any speculative execution. A separate internal initializer tied to xmlParserInit is used to create the mutex used for synchronization, similarly to how catalog.c works. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Nick Wellnhofer 24628f25 2025-06-22T22:18:36 valid: Don't store attribute defaults in dictionary In general, we should only use dicts for names and not values.
Nick Wellnhofer 7c913850 2025-06-22T20:12:48 parser: Remove unnecessary dict checks when freeing strings The following strings are never allocated from a dict: - xmlParserCtxt.version - xmlParserCtxt.encoding - xmlParserCtxt.extSubURI - xmlParserCtxt.extSubSystem - xmlDoc.version - xmlDoc.encoding - xmlDoc.URL - xmlDTD.ExternalID - xmlDTD.SystemID - xmlID.value Also make the struct members point to non-const chars to avoid casts when freeing.
Nick Wellnhofer e7802738 2025-06-22T14:39:28 parser: Don't load external content if only XML_SKIP_IDS is set At some point, the `loadsubset` member was augmented to also control handling of ID attributes in addition to loading of external DTDs. These two features are unrelated and shouldn't have been mixed. This mistake was probably inspired by the misnamed XML_DETECT_IDS flag. As a side effect, setting XML_SKIP_IDS always enabled loading of external DTDs and parameter entities. This change makes it possible to ignore IDs without loading external content. This is a deliberate API change that improves security and is unlikely to affect users. This also makes sure that the new XML_PARSE_SKIP_IDS option doesn't enable unsafe behavior.
Nick Wellnhofer 7e381842 2025-06-18T16:24:44 include: s/char const/const char/
Nick Wellnhofer 19139061 2025-06-18T16:20:46 include: Define XMLPUBVAR directly Using an intermediate macro confuses newer Doxygen versions for some reason.
Nick Wellnhofer a4d25b3d 2025-06-18T16:00:57 doc: Small fixes
Michael Mann cf4f9672 2025-06-21T11:16:39 Add XML_PARSE_SKIP_IDS to replace XML_SKIP_IDS Mark loadset member as deprecated Fixes #873
Nick Wellnhofer 2963a0f1 2025-06-20T21:41:24 tree: Undeprecate some members used by libxslt
Nick Wellnhofer 7e08d93c 2025-06-03T23:32:41 doc: Improve documentation of tree data types
Nick Wellnhofer 2b6b3945 2025-06-03T16:12:56 Revert "SAX1: Align handling of default attributes with SAX2" This reverts commit db65b2fc51ef0d6e4d2e9dc65ba12fe948da49f3. This didn't check for duplicate default attributes.
Nick Wellnhofer 5e7c72cd 2025-06-03T00:59:10 doc: Misc fixes
Nick Wellnhofer 5f8e537d 2025-06-03T00:46:40 doc: Misc fixes to xpointer
Nick Wellnhofer 0ab5d7c5 2025-06-03T00:13:26 entities: Deprecate internal DTD-related functions
Nick Wellnhofer 347c2b2e 2025-06-02T23:26:19 valid: Deprecate a few functions and `xmllint --insert`
Nick Wellnhofer 7bd8d1d9 2025-05-28T15:53:38 doc: Prefix autolinks with '#' Use `#func` instead of `func()` to ignore parameters and make all autolinks work.
Nick Wellnhofer 6e33d136 2025-05-28T14:57:37 error: Fix initGenericErrorDefaultFunc compatibility macro again Now it really should work as before.
Nick Wellnhofer 30cf6d09 2025-05-26T01:13:24 parser: Add XML_INPUT_USE_SYS_CATALOG Also clean up catalog resolution and add error handling using the global error. Don't try to look up the resolved URI a second time. Add some comments. Fix documentation.
Nick Wellnhofer 4dc44c83 2025-05-21T20:21:32 parser: Rework entity boundary check for element content Only use depth of input stack. This makes the input ID unused internally.
Nick Wellnhofer db65b2fc 2025-05-20T22:41:08 SAX1: Align handling of default attributes with SAX2 The SAX1 parser is legacy code, but it seems more maintainable to align it with SAX2.
Nick Wellnhofer 2f3655c9 2025-05-20T19:40:06 parser: Pop PEs that start markup declarations explicitly We currently only handle "Validity constraint: Proper Declaration/PE Nesting", but we must detect "Well-formedness constraint: PE Between Declarations" separately: > The replacement text of a parameter entity reference in a DeclSep must > match the production extSubsetDecl. PEs in DeclSeps are PEs that start with a full markup declaration (or another PE). These are handled in xmParse{Internal|External}Subset. We set a flag on these PEs and don't close them implicitly in xmlSkipBlankCharsPE. This will make unterminated declarations in such PEs cause a parser error. The PEs are closed explicitly in xmParse{Internal|External}Subset, the only location where they are allowed to end.
Nick Wellnhofer dd1961e0 2025-05-20T16:37:18 valid: Skip more validity checks if not validating
Nick Wellnhofer fca0860d 2025-05-19T21:17:39 tree: Deprecate public struct members related to DTDs Let's deprecate these members for now. If these are really used, they can be undeprecated later.
Nick Wellnhofer 7c9b5535 2025-05-19T19:10:55 doc: Document unused error domains
Nick Wellnhofer 7008740a 2025-05-18T01:52:38 parser: Consolidate scanning of XML Names Use new productions by default. Fixes #194. Fixes #364. See #707.
Nick Wellnhofer 210f5a37 2025-05-16T21:18:16 chvalid: Mark functions as deprecated
Nick Wellnhofer 954aae90 2025-05-16T21:13:17 doc: Improve regexp documentation
Nick Wellnhofer c5b45fbc 2025-05-16T16:54:09 doc: Misc fixes
Nick Wellnhofer c4926b19 2025-05-16T02:12:23 codegen: Merge xmlunicode.c into xmlregexp.c Include generated parts. Generate xmlChRangeGroups instead of functions for Unicode blocks.
Nick Wellnhofer 4cb767e9 2025-05-16T01:52:44 codegen: Only generate tables for character ranges The rest can be easily maintained manually.
Nick Wellnhofer 6f4b4527 2025-05-15T23:43:32 parser: Stop using ctxt->linenumbers I think this was used to avoid setting the `line` member before it was added (20+ years ago).
Nick Wellnhofer a05fa9a9 2025-05-15T18:41:35 codegen: Rerun codegen scripts
Nick Wellnhofer a40f36e7 2025-05-14T04:04:28 include: Stop using *Ptr typedefs in public headers
Nick Wellnhofer 2d83a84c 2025-05-14T00:29:19 doc: Misc improvements
Nick Wellnhofer f0983199 2025-05-12T13:00:20 html: Map some encodings according to HTML5 Windows-1252 is a superset of ISO-8859-1 and should be used instead. Same for ASCII. Also map UCS-2 and UTF-16 to UTF-16LE.
Nick Wellnhofer 628006f4 2025-05-12T11:47:40 encoding: Add windows-1252 Fixes #915.
Nick Wellnhofer f602c0c1 2025-05-12T00:04:22 html: Rework serialization of meta encoding attributes Don't allocate memory.
Nick Wellnhofer 0674ccb7 2025-05-11T20:55:57 html: Stop omitting end tags when serializing Align with HTML5.
Nick Wellnhofer 05b8fe0a 2025-04-12T23:10:40 html: Don't escape RAWTEXT and PLAINTEXT Align with HTML5.
Nick Wellnhofer 777e2adf 2025-05-09T23:53:03 io: Consolidate escaping code Use generated table approach of xmlSerializeText for xmlEscapeText. Move most code to xmlIO.c.
Nick Wellnhofer dad11630 2025-05-09T22:05:38 entities: Always replace invalid chars when escaping The previous refactor painstakingly recreated the different behavior of separate functions that were merged. It makes Optimize IS_CHAR check for non-ASCII chars.
Nick Wellnhofer 971038e5 2025-05-09T20:26:33 html: Call lower-level escaping functions Removes the need to pass a document around.
Nick Wellnhofer 63535d39 2025-05-09T20:13:43 tree: Make xmlNodeListGetStringInternal work with escape flags
Nick Wellnhofer 442c1903 2025-05-09T18:52:36 doc: Fix some damage from automated conversions Add some newlines, fix returns.
Nick Wellnhofer 98a61c9d 2025-05-09T16:48:09 doc: Fix briefs in tree docs
Nick Wellnhofer 46f05ea4 2025-05-09T00:21:47 html: Rework meta charset handling Don't use encoding from meta tags when serializing. Only use the value in `doc->encoding`, matching the XML serializer. This is the actual encoding used when parsing. Stop modifying the input document by setting meta tags before serializing. Meta tags are now injected during serialization. Add full support for <meta charset=""> which is also used when adding meta tags. Align with HTML5 and implement the "algorithm for extracting a character encoding from a meta element". Only modify the encoding substring in Content-Type meta tags. Only switch encoding once when parsing. Fix htmlSaveFileFormat with a NULL encoding not to declare a misleading UTF-8 charset. Fixes #909.
Nick Wellnhofer ab13fbfd 2025-05-06T14:06:43 doc: Misc fixes to error docs
Nick Wellnhofer b1685459 2025-05-06T12:50:52 doc: Misc fixes to xmlsave docs
Nick Wellnhofer 298f70b3 2025-05-05T21:36:36 doc: Misc fixes to HTML tree docs
Nick Wellnhofer 80b6429f 2025-05-04T19:13:24 doc: Misc fixes to encoding docs
Nick Wellnhofer 81ac2e27 2025-05-04T18:41:44 doc: Misc fixes to valid docs
Nick Wellnhofer 714decd6 2025-05-04T17:50:26 doc: Misc fixes to entities docs
Nick Wellnhofer f38f3e7b 2025-05-04T16:49:49 doc: Misc fixes to IO documentation
Nick Wellnhofer e6cfd049 2025-05-04T14:52:42 doc: Misc fixes to tree docs
Nick Wellnhofer 1bf44f09 2025-05-04T02:15:25 doc: Misc fixes to parser docs
Nick Wellnhofer b7274fb0 2025-05-03T16:34:02 doc: Misc fixes to HTML parser docs
Nick Wellnhofer 411f30ef 2025-05-03T16:21:15 doc: Don't document legacy HTML parser macros
Nick Wellnhofer 4a010875 2025-05-03T15:38:15 doc: Move parser option docs to enum
Nick Wellnhofer a449c5fd 2025-05-03T01:31:09 catalog: Deprecate some functions
Nick Wellnhofer 075283d4 2025-05-03T00:17:39 xlink: Deprecate remaining public function This was never finished.
Nick Wellnhofer 38ea8fa9 2025-05-06T18:31:45 doc: Fix varargs
Nick Wellnhofer 9bbffec5 2025-05-06T17:42:46 doc: Move brief to top, params to bottom of doc comments
Nick Wellnhofer 2c150e62 2025-05-02T20:18:34 doc: Formatting fixes
Nick Wellnhofer 08a282f9 2025-05-02T20:12:52 doc: Doxygen fixes for xmlversion.h
Nick Wellnhofer e78e05c9 2025-05-02T17:32:51 doc: Fix autolinks to functions Unfortunately, autolinks in .c files aren't converted by Doxygen for some reason.
Nick Wellnhofer f7c41287 2025-05-02T15:57:17 doc: Remove more comment block headers
Nick Wellnhofer 0ffa7dd8 2025-05-02T14:52:03 include: Add hyperlink to deprecation warnings Doxygen creates a nice "deprecated list" for us.
Nick Wellnhofer 1eca6e34 2025-04-30T00:54:00 parser: Deprecate xmlClearParserCtxt
Nick Wellnhofer e525564f 2025-05-01T19:20:06 doc: Remove empty lines at start of block These lines were left over after automatic conversion.
Nick Wellnhofer fd6ab89b 2025-04-28T15:58:19 doc: Adjust documentation of public structs