Nick Wellnhofer
5951179239
html: Parse named character references according to HTML5
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
d5cd0f07f8
html: Prefer SKIP(1) over NEXT in HTML parser
...
Use SKIP(1) where it's safe to avoid a function call.
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
dc2d498318
html: Rework htmlLookupSequence
...
Rename to htmlLookupString and use strstr for increased performance.
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
637215a4de
html: Always terminate doctype declarations on '>'
...
Align with HTML5 spec. This allows to remove the old quote handling in
htmlLookupSequence.
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
72e29f9a3d
html: Fix quadratic behavior in push parser
...
Fix quadratic behavior related to unquoted attribute values. We really
have to replicate parts of the HTML5 state machine to find the end of
tags relibably.
Fixes #533 .
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
a80f8b64a9
html: Allow attributes in end tags
...
Attribute are syntactically allowed in HTML5 end tags but otherwise
ignored.
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
f2272c231b
html: Handle unexpected-solidus-in-tag according to HTML5
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
939b53ee12
html: Stop skipping tag content
...
Tag and attributes names should always be parsed succesfully now.
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
dcb2abb2fe
html: Parse tag and attribute names according to HTML5
...
HTML5 allows bascially all characters in tag and attribute names.
2024-10-06 18:13:05 +02:00
Nick Wellnhofer
d67833a3c5
xmllint: Use proper type to store seconds since epoch
...
Should avoid year 2038 problem.
Fixes #801 .
2024-09-26 19:34:34 +02:00
correctmost
81d38ed069
meson: Fix duplicate listing of libxml2.devhelp2
...
The duplication caused a warning when uninstalling.
2024-09-25 07:52:10 -04:00
Nick Wellnhofer
b1c5aa6544
xpath: Deprecate xmlXPathNAN and xmlXPath*INF
...
Users should simply use the C99 macros.
2024-09-19 12:50:59 +02:00
Nick Wellnhofer
55ddccb645
io: Make sure not to pass partial UTF-8 to write callback
...
We cannot split UTF-8 at arbitrary boundaries.
2024-09-14 00:05:13 +02:00
Nick Wellnhofer
c46b89e243
xpath: Deprecate xmlXPathEvalExpr
...
Also check the argument instead of crashing if there's no context.
2024-09-13 21:06:36 +02:00
Nick Wellnhofer
03f1bdd260
xpath: Make recursion check work with xmlXPathCompile
...
The check for maximum recursion depth required a parser context with an
xmlXPathContext which xmlXPathCompile didn't provide.
All other code should already set up or require an xmlXPathContext.
2024-09-13 20:59:47 +02:00
Nick Wellnhofer
dae160c64b
encoding: Fix table entry for "UTF16"
2024-09-13 12:08:20 +02:00
Nick Wellnhofer
5e7874015e
save: Make xmlEscapeTab signed
...
Fixes issues in platforms where char is unsigned.
Fixes #797 .
2024-09-10 17:50:08 +02:00
Nick Wellnhofer
6e503eb742
encoding: Handle more ICU error codes
...
U_ILLEGAL_ESCAPE_SEQUENCE and U_UNSUPPORTED_ESCAPE_SEQUENCE can occur
with ISO-2022.
2024-09-10 03:34:46 +02:00
Nick Wellnhofer
55d36c5990
encoding: Fix error code in xmlUconvConvert
...
Broke in 46ec621e
.
2024-09-10 03:11:18 +02:00
Nick Wellnhofer
de10d4cd5f
include: Check whether _MSC_VER is defined
...
Should fix #795 .
2024-09-04 16:32:22 +02:00
Nick Wellnhofer
bd9eed4694
parser: Make unsupported encodings an error in declarations
...
This was changed in 45157261
, but in encoding declarations, unsupported
encodings should raise a fatal error.
Fixes #794 .
2024-09-02 19:29:39 +02:00
Nick Wellnhofer
40abebbc73
python: Fix SAX driver with character streams
...
This apparently broke with Python 3.5 which introduced character
streams.
Fixes #790 .
2024-08-29 01:31:26 +02:00
Nick Wellnhofer
8ae06d5223
SAX2: Don't merge CDATA sections
...
The Document Object Model (DOM) Level 3 Core Specification says:
> Adjacent CDATASection nodes are not merged by use of the normalize
> method of the Node interface.
Fixes #412 .
2024-08-29 01:31:19 +02:00
Nick Wellnhofer
dde62ae5d5
parser: Align push parsing of CDATA sections with pull parser
...
Remove special handling of CDATA sections in push parser. This makes
sure that only a single callback is generated for large sections.
Fixes #22 and needed for #412 .
2024-08-29 01:28:49 +02:00
Nick Wellnhofer
4d10e53af1
parser: Make sure to set and increment input id
...
Revert part of commits 410931e3
and b9d2f3c9
.
2024-08-28 22:47:20 +02:00
Nick Wellnhofer
6d365ca02c
doc: XML_PARSE_NO_XXE is available since 2.13.0
2024-08-28 22:09:30 +02:00
Nick Wellnhofer
8ad618d2d6
doc: Document all xmllint options
...
Remove --pushsmall.
Fixes #785 .
2024-08-28 22:03:30 +02:00
triallax
67ff748c3e
io: don't set the executable bit when creating files
...
Issue seems to have been introduced in
0bef93bf24
.
2024-08-26 23:53:29 +01:00
Nick Wellnhofer
0bb0012e98
catalog: Set xmlCatalogInitialized after setting default catalog
2024-08-19 21:18:32 +02:00
Nick Wellnhofer
8625db2892
xmlcatalog: Improved fix for #699
2024-08-19 21:14:04 +02:00
Nick Wellnhofer
4b0078781b
Revert "catalog: Fetch XML catalog before dumping"
...
This reverts commit 723b4de040
.
2024-08-19 21:14:04 +02:00
Nick Wellnhofer
57b92cabd2
catalog: Fix regression in xmlCatalogAdd
...
Don't load system catalog.
2024-08-19 21:14:04 +02:00
Nick Wellnhofer
2abb903344
tests: Add fallback for glob()
...
Fix build on platforms without glob().
2024-08-19 18:01:24 +02:00
Nick Wellnhofer
567f612d29
build: Check for declaration of glob() function
...
Don't rely on presence of glob.h.
2024-08-19 17:57:43 +02:00
Nick Wellnhofer
2191ccdf7b
autotools: Fix EXTRA_DIST
...
Fixes #786 .
2024-08-18 12:17:10 +02:00
makise-homura
5c60860905
Eliminate false positive -Warray-bounds on some compilers
...
This affects GCC 7.3, MinGW 7.3, and LCC 1.25 and 1.26.
In some sense it reverts ad93f087
.
2024-08-16 22:35:54 +03:00
makise-homura
a3043b478f
threads: define _WIN32_WINNT as 0x0600 to use InitOnceExecuteOnce()
2024-08-16 22:26:07 +03:00
makise-homura
f59da1a364
hash: Suppress GCC 7.3 and MINGW maybe-uninitialized warning
2024-08-16 22:26:07 +03:00
makise-homura
103aadbc66
parser: Suppress EDG maybe-uninitialized warning
2024-08-16 22:26:07 +03:00
Nick Wellnhofer
f2c48847fa
io: Add missing calls to xmlInitParser
...
This is required after c9a46a91
.
Should fix #782 .
2024-08-13 14:38:59 +02:00
Nick Wellnhofer
0c56eb8215
tree: Restore return value of xmlNodeListGetString with NULL list
...
When passing a NULL list to xmlNodeListGetString or
xmlNodeListGetRawString, return NULL instead of "" to match the old
behavior.
Fixes #783 .
2024-08-12 21:38:50 +02:00
Taylor R Campbell
b45a0f0eca
nanohttp: Avoid ctype(3) misuse.
...
fix https://gitlab.gnome.org/GNOME/libxml2/-/issues/780
2024-08-07 11:12:33 +02:00
Nick Wellnhofer
1d009fe35d
parser: Report at least one fatal error
2024-08-05 15:14:21 +02:00
Nick Wellnhofer
bfed6e6ae8
parser: Fix error handling after reaching limit
...
Mark document as non-wellformed and stop parser even if error limit was
reached.
Regressed in abd74186
.
2024-08-05 14:58:37 +02:00
Nick Wellnhofer
6e1e22dc5f
malloc-fail: Fix null-deref in xmlPatPushState
2024-08-04 11:47:26 +02:00
Nick Wellnhofer
a530ff125d
io: Always consume encoding handler when creating output buffers
...
Also free encoding handler in error case.
Remove xmlAllocOutputBufferInternal which was identical to
xmlAllocOutputBuffer.
2024-07-29 14:25:39 +02:00
Nick Wellnhofer
36ea881b9d
malloc-fail: Fix memory leak in xmlOutputBufferCreateFilename
...
Close encoding handler on error.
2024-07-26 18:07:27 +02:00
Nick Wellnhofer
02fcb1effb
parser: Make xmlParseChunk return an error if parser was stopped
...
This regressed after enhancing the disableSAX member in 2.13.
Should fix #777 .
2024-07-25 17:07:18 +02:00
Nick Wellnhofer
bc14d70f49
xmlsave: Improve "unsupported encoding" error message
...
Incomplete support of XML_SAVE_* error codes was removed. Error handling
still needs work. xmlOutputBufferCreateFilename should return an error
code.
2024-07-25 00:26:48 +02:00
Nick Wellnhofer
1a89323039
[CVE-2024-40896] Fix XXE protection in downstream code
...
Some users set an entity's children manually in the getEntity SAX
callback to restrict entity expansion. This stopped working after
renaming the "checked" member of xmlEntity, making at least one
downstream project and its dependants susceptible to XXE attacks.
See #761 .
2024-07-24 17:19:32 +02:00