1
0
mirror of https://github.com/GNOME/libxml2.git synced 2025-10-14 02:58:39 +08:00

7705 Commits

Author SHA1 Message Date
Nick Wellnhofer
367a283b9a tree: Undeprecate several struct members 2025-10-07 12:01:05 +02:00
Nick Wellnhofer
3a3faaa253 Document process to remove API functions in MAINTAINERS.md 2025-10-07 12:00:51 +02:00
Nick Wellnhofer
2f62ebb3a7 io: Undeprecate xmlOutputBuffer members
The public API is too buggy, so direct access to struct members is
required by projects like libxslt.
2025-09-29 11:06:07 +02:00
Nick Wellnhofer
d87d94773e Revert "globals: Don't export DllMain on Windows"
This reverts commit bd2072f8d0.

Apparently, this change would require to recompile downstream code.
2025-09-29 10:50:00 +02:00
Nick Wellnhofer
bd2072f8d0 globals: Don't export DllMain on Windows
This shouldn't be done and lld 21 warns about it:

https://github.com/msys2/MINGW-packages/issues/17820
https://github.com/msys2/MINGW-packages/issues/25716

Regressed with f05af837.
2025-09-27 19:11:16 +02:00
Nick Wellnhofer
a30a276412 valid: Undeprecate xmlValidGetPotentialChildren
Fixes #988.
2025-09-26 16:29:10 +02:00
Lars Erik Wik
c537ccf0ae 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>
2025-09-25 11:29:05 +02:00
Nick Wellnhofer
da45a190f7 parser: Fix attribute normalization and standalone check
Regressed with e4cbc295.
2025-09-19 13:41:17 +02:00
Nick Wellnhofer
dc307e31fd meson: Fix install dir of man pages
Regressed when reworking documentation in 2.15.

Fixes #985.
2025-09-17 11:10:51 +02:00
Nick Wellnhofer
48df82f6ea Bump version to 2.16.0 2025-09-15 13:57:30 +02:00
Nick Wellnhofer
0bea77c828 Release v2.15.0 v2.15.0 2025-09-15 13:34:13 +02:00
Nick Wellnhofer
b9943bcaa3 Remove legacy win32 build system 2025-09-10 18:07:39 +02:00
Nick Wellnhofer
347147b555 Update NEWS 2025-09-08 16:02:59 +02:00
Nick Wellnhofer
1763281cd6 Remove LZMA support 2025-09-08 15:30:53 +02:00
Nick Wellnhofer
063add1b29 parser: Always require XML_PARSE_UNZIP to enable decompression 2025-09-08 15:14:33 +02:00
Nick Wellnhofer
8c107b690b Revert "dict: Rework reference counting"
This reverts commit 18bbdb5117 due to lack
of feedback.
2025-09-08 14:59:24 +02:00
Nick Wellnhofer
13962f820e valid: Fix null deref in xmlValidateOneAttribute
Short-lived regression from d53ba058.
2025-08-25 12:29:55 +02:00
Nick Wellnhofer
e397651a62 cmake: Omit version number from cmake install dir
Align with other build systems. Fixes #973.
2025-08-24 20:08:17 +02:00
Nick Wellnhofer
d53ba0588e 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.
2025-08-23 14:59:55 +02:00
Nick Wellnhofer
56199b5c08 catalog: Prepare to make SGML catalog support optional 2025-08-20 13:09:03 +02:00
Nick Wellnhofer
e2fdef4510 tests: Update testapi.c 2025-08-20 13:09:03 +02:00
Nick Wellnhofer
591f19ebe7 catalog: Deprecate low-level internal functions 2025-08-20 13:09:03 +02:00
Samuel Thibault
5bd6b44d13 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.
2025-08-20 10:23:54 +02:00
Francesco Pretto
ca10c7d7b5 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.
2025-08-18 10:18:41 +00:00
Nick Wellnhofer
f92a7a50d3 ci: Fix MSVC test by setting CMake generator manually
Visual Studio 2017 was removed from the Windows runners, but CMake still
picked it up for some reason.
2025-08-16 15:01:16 +02:00
Nick Wellnhofer
18bbdb5117 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.
2025-08-16 14:37:14 +02:00
Nick Wellnhofer
24caea6383 regexp: Avoid integer overflow and OOB array access
Limit size of 2D arrays to XML_MAX_ITEMS (1e9) to avoid overflow of int
indexes.

Fixes #950.
2025-08-12 18:47:00 +02:00
Nick Wellnhofer
c4b278ecd3 valid: Undeprecate xmlAdd*Decl
Fixes #969.
2025-08-11 13:44:56 +02:00
Nick Wellnhofer
f1e1f13b76 tree: Guard against atype corruption
Always remove ids if `id` member is set.

Untested, but this should fix CVE-2025-7425 reported against libxslt:

https://gitlab.gnome.org/GNOME/libxslt/-/issues/140
2025-08-05 22:59:31 +02:00
Nick Wellnhofer
152fbb60a9 parser: Make sure to stop parser before checking max errors
Short-lived regression from 7a41b18c.
2025-08-03 18:26:29 +02:00
Nick Wellnhofer
149c04c02d html: Escape < and > when serializing attributes
This reverts the change in cdaf657f. Coincidentally, the HTML spec just
changed to mandate the old escaping behavior:

https://github.com/whatwg/html/issues/6235

Fixes #957.
2025-08-02 15:03:18 +02:00
Nick Wellnhofer
3b96ec75ab doc: Document deprecated default SAX handler globals 2025-08-02 14:12:17 +02:00
Nick Wellnhofer
00314882ed meson: Add -Wmissing-variable-declarations
Originally clang-only, gcc supports this option since version 14.

This catches errors like #961.
2025-08-01 15:46:08 +02:00
Nick Wellnhofer
37bd4b284a globals: Include HTMLparser.h, fixing Windows build
Regressed with c011e760 and 85bd58ef.

Fixes #961.
2025-08-01 15:30:46 +02:00
Nick Wellnhofer
43f7ff0a9e tests: Make global variables static 2025-08-01 15:27:11 +02:00
Nick Wellnhofer
8436916097 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.
2025-07-31 15:20:20 +02:00
Nick Wellnhofer
859899a87e doc: Document option handling of deprecated "SAX1" functions 2025-07-31 15:20:20 +02:00
Nick Wellnhofer
ab4a7f3011 doc: Document deprecated xmlBuffer members 2025-07-31 15:20:20 +02:00
Nick Wellnhofer
af464de1f3 io: Deprecate xmlOutputBuffer members 2025-07-31 15:20:20 +02:00
Nick Wellnhofer
6c0188549b io: Deprecate xmlParserInputBuffer members 2025-07-31 15:20:20 +02:00
Nick Wellnhofer
2cc77c3a81 fuzz: Stop using xmlParserInputBuffer 2025-07-31 15:20:20 +02:00
Nick Wellnhofer
7deae0f80f python: Switch to *CreateIO functions
Avoid using deprecated struct members.
2025-07-31 15:20:20 +02:00
Nick Wellnhofer
d1c3391eaf tests: Silence testparser
Regressed with bd9d5e39.
2025-07-31 15:20:20 +02:00
Nick Wellnhofer
8689523ad9 parser: Implement xmlCtxtGetInputWindow
See #762.
2025-07-31 15:20:20 +02:00
Nick Wellnhofer
469c847f4d parser: Split out xmlParserInputGetWindow 2025-07-31 14:23:23 +02:00
Nick Wellnhofer
8aaa53d712 parser: Implement xmlCtxtGetInputPosition
See #762.
2025-07-31 14:23:23 +02:00
Nick Wellnhofer
144ed959a5 parser: Move xmlSaturatedAdd to private header 2025-07-31 14:23:23 +02:00
Nick Wellnhofer
e3daef5c78 parser: Fix xmlSaturatedAddSizeT argument type
This is only used for entity size accounting. The bug only affected
platforms where sizeof(long) != sizeof(size_t) and was probably
harmless.
2025-07-31 14:23:23 +02:00
Nick Wellnhofer
a7fc9e1add parser: Add more parser context accessors
The only thing remaining is access to parser input, see #762.
2025-07-31 14:23:23 +02:00
Nick Wellnhofer
a2562b9d8a doc: Improve documentation of error levels 2025-07-31 14:23:23 +02:00