|
dd2b4091
|
2025-06-18T13:55:37
|
|
xmllint: Add --strict-namespace option
Use xmlCtxtGetStatus() after parsing. If status indicates a namespace error while the --strict-namespace option is enabled, xmllint will exit with XMLLINT_ERR_RDFILE error
Fixes #698
|
|
bf26cf9d
|
2025-06-20T21:24:44
|
|
xmllint: Replace boolean application options with single flag member
Take all of the boolean application options and create a bitmask for each of them. Then use just a single unsigned member to keep track off all of them (regardless of precompile directives)
|
|
be812e1e
|
2025-06-20T19:34:12
|
|
xmllint: Rename options -> parseOptions
Make it more obvious the options are related to XML parsing
|
|
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.
|
|
b424bae7
|
2025-06-22T13:46:16
|
|
html: Fix pull-parsing of initial comments and doctype decls
- Parse more bogus comments and multiple doctype declarations before
switching to content.
- Grow buffer after parsing comment.
|
|
19139061
|
2025-06-18T16:20:46
|
|
include: Define XMLPUBVAR directly
Using an intermediate macro confuses newer Doxygen versions for some
reason.
|
|
a4d25b3d
|
2025-06-18T16:00:57
|
|
doc: Small fixes
|
|
1c96d5ef
|
2025-06-21T15:08:07
|
|
parser: Add comment in xmlStopParser
|
|
7e381842
|
2025-06-18T16:24:44
|
|
include: s/char const/const char/
|
|
cf4f9672
|
2025-06-21T11:16:39
|
|
Add XML_PARSE_SKIP_IDS to replace XML_SKIP_IDS
Mark loadset member as deprecated
Fixes #873
|
|
1dcd3df2
|
2025-06-20T23:46:46
|
|
parser: Fix xmlCtxtIsStopped
Make xmlCtxtIsStopped check for fatal errors as well. This makes it
easier to migrate away from disableSAX.
|
|
9c6eebac
|
2025-06-20T22:22:03
|
|
xmllint: Fix --xinclude --path
Use resource loader for XInclude. Regressed with f96dca9c.
|
|
2963a0f1
|
2025-06-20T21:41:24
|
|
tree: Undeprecate some members used by libxslt
|
|
477f9c6b
|
2025-06-18T13:48:55
|
|
Fix CMake iconv handling after change to private dependency
|
|
a3992815
|
2025-06-12T13:51:37
|
|
parser: Fix buffer overflow when parsing PublicIds
Regressed with 8231c0366 and 30665ae4.
|
|
30665ae4
|
2025-06-11T18:09:41
|
|
parser: Fix parsing of PublicIds and VersionNums
Regressed in 8231c0366.
Fixes #940.
|
|
852b070f
|
2025-06-10T18:47:59
|
|
Change comment style
|
|
bb7169b5
|
2025-06-10T18:34:44
|
|
Fix relaxng is parsed to an infinite attrs->next loop
Test data for the bug.
|
|
f428bdd1
|
2025-06-08T16:43:38
|
|
xmllint: Make output options depend on LIBXML_OUTPUT_ENABLED
|
|
3e47ceeb
|
2025-06-08T14:57:56
|
|
xmllint: Warn about options with no effect
|
|
2ffb8c96
|
2025-06-08T14:58:29
|
|
doc: Improve xmllint documentation
Group more options. Clarify effect of some parser options. Mention
streaming validation with `--sax`. Remove references to libxml(3).
|
|
6b50d8c8
|
2025-06-08T13:05:22
|
|
html: Add missing call to grow parser in htmlParseComment
Otherwise, long chains of short comments could exhaust the input buffer
when pull parsing.
|
|
70335c41
|
2025-06-06T03:29:57
|
|
html: Don't stop on unsupported encoding
Continue to parse unlike in the XML case.
|
|
416da89d
|
2025-06-04T20:49:16
|
|
html: Make htmlCtxtReset call xmlCtxtReset
The two implementations shouldn't diverge.
|
|
fa81e849
|
2025-06-04T20:42:39
|
|
xmllint: Fix --memory --repeat
Always reset parser context.
Should fix #937.
|
|
220c813e
|
2025-06-03T23:33:02
|
|
globals: Fix documentation of xmlThrDef* functions
|
|
7e08d93c
|
2025-06-03T23:32:41
|
|
doc: Improve documentation of tree data types
|
|
86cf217d
|
2025-06-03T19:35:03
|
|
build: Disable Schematron support by default
|
|
8da19f23
|
2025-06-03T16:36:40
|
|
doc: Add more warnings to xmlCleanupParser
|
|
7e4247b2
|
2025-06-05T21:28:31
|
|
parser: use XML_INT_TO_PTR when storing integers as pointers
This fixes warnings when using a CHERI-aware toolchain.
|
|
c6206c93
|
2025-06-05T21:06:11
|
|
html: Ignore ASCII-incompatible encoding in meta tag
After successfully parsing an ASCII-encoded meta tag, switching to an
encoding that isn't ASCII-compatible cannot work.
|
|
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.
|
|
30375877
|
2025-06-03T15:50:54
|
|
parser: Fix custom SAX parsers without cdataBlock handler
Use characters handler if cdataBlock handler is NULL.
Regressed with 57e4bbd8. Should fix #934.
|
|
5e7c72cd
|
2025-06-03T00:59:10
|
|
doc: Misc fixes
|
|
5f8e537d
|
2025-06-03T00:46:40
|
|
doc: Misc fixes to xpointer
|
|
1fc66d26
|
2025-06-03T00:33:27
|
|
xmllint: Don't check for removed features
|
|
479f26f9
|
2025-06-03T00:28:16
|
|
regexp: Remove unfinished reimplementation
This was never enabled.
|
|
3d71ab4f
|
2025-06-03T00:17:03
|
|
doc: Small fixes
|
|
0ab5d7c5
|
2025-06-03T00:13:26
|
|
entities: Deprecate internal DTD-related functions
|
|
347c2b2e
|
2025-06-02T23:26:19
|
|
valid: Deprecate a few functions and `xmllint --insert`
|
|
f6eec6f4
|
2025-06-02T22:45:19
|
|
globals: Remove lineNumbersDefaultValue from globals struct
|
|
ac6ae391
|
2025-06-02T14:33:15
|
|
valid: Readd more argument checks in xmlAddElementDecl
Fix crashes with API fuzzer.
|
|
0f8543e1
|
2025-06-02T14:19:01
|
|
parser: Fix error reporting in xmlSkipBlankCharsPEBalanced
Short-lived regression.
|
|
6a6a46f0
|
2025-05-28T16:02:41
|
|
doc: Fix autolink errors
Fix links, remove links to internal functions.
|
|
7bd8d1d9
|
2025-05-28T15:53:38
|
|
doc: Prefix autolinks with '#'
Use `#func` instead of `func()` to ignore parameters and make all
autolinks work.
|
|
6e33d136
|
2025-05-28T14:57:37
|
|
error: Fix initGenericErrorDefaultFunc compatibility macro again
Now it really should work as before.
|
|
8baa5de1
|
2025-05-27T17:51:50
|
|
parser: Avoid integer overflow in xmlParseCharDataInternal
`nbchar` could overflow with larger than 2GB memory buffers which some
new APIs allow. This shouldn't affect memory safety.
Limit maximum amount of bytes passed to character callback to
XML_MAX_ITEMS (1e9).
|
|
35d04a08
|
2025-05-27T17:05:05
|
|
README: Set expectations straight
Fixes #913.
|
|
ad346c9a
|
2025-05-27T12:53:17
|
|
tree: Fix integer overflow in xmlBuildQName
This issue affects memory safety and might receive a CVE ID later.
Fixes #926.
|
|
77c583e0
|
2025-05-27T12:19:25
|
|
valid: Readd argument check in xmlAddElementDecl
Fix crashes with API fuzzer.
|
|
78454e30
|
2025-05-25T16:53:41
|
|
io: Remove xmlInputDefaultOpen
Not necessary after removal of HTTP client.
|
|
b79cf474
|
2025-05-26T15:34:48
|
|
globals: Fix memory leak on Windows DLL unload
Thread-local memory must be freed for the main thread as well after
4f08a1a2.
Fixes #925.
|
|
ab06bfa1
|
2025-05-26T15:03:07
|
|
parser: Fix error return in xmlParseElementContentDecl
Avoid internal error later in xmlValidBuildAContentModel after
2a60ca06c.
Also avoids some unnecessary error messages.
|
|
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.
|
|
34bafa14
|
2025-05-25T20:56:40
|
|
parser: Use parser context as default in resource loader
This allows to access the original context for example when using
modules like XInclude or schemas.
|
|
997830a3
|
2025-05-16T22:07:39
|
|
tests: Always use xmlMalloc/xmlFree
|
|
e4cbc295
|
2025-05-20T21:57:01
|
|
parser: Check attribute normalization standalone constraint
To fully implement "VC: Standalone Document Declaration", we have to
check for normalization changes caused by non-CDATA attribute types
declared externally.
Fixes #119.
|
|
682195c8
|
2025-05-20T22:00:57
|
|
parser: Fix "Proper Declaration/PE Nesting" validity constraint
Now that we handle "WFC: PE Between Declarations" correctly, we can turn
"Proper Declaration/PE Nesting" from a WFC into VC as specified.
Fixes #118.
|
|
74ff6c00
|
2025-05-20T22:00:29
|
|
error: Fix line number in entities
Allow line numbers from more domains, see code above.
|
|
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.
|
|
2a60ca06
|
2025-05-20T16:50:32
|
|
valid: Don't check enum values
Rely on the parser to pass valid arguments.
|
|
4aa7192f
|
2025-05-21T16:32:17
|
|
tests: Add dtor for xmlElementContent in testapi.c
|
|
fc1cabc8
|
2025-05-25T14:03:50
|
|
valid: Also raise duplicate ID error without validation support
Whether an error is raised should not depend on config options.
|
|
dd1961e0
|
2025-05-20T16:37:18
|
|
valid: Skip more validity checks if not validating
|
|
6c2bd975
|
2025-05-20T15:51:18
|
|
valid: Don't validate unused default attributes
See erratum E9 of XML 1.0 Second Edition.
See #120.
|
|
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.
|
|
c136118d
|
2025-05-25T13:59:50
|
|
README: Mention CMake single/multi-config
|
|
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.
|
|
74ea6b48
|
2025-05-21T17:44:27
|
|
parser: Start using input depth for entity boundary check
Now that we make sure that PEs starting markup won't be popped
implicitly, it's enough to check that no new entities are on the stack
when checking boundaries.
|
|
6f8ac953
|
2025-05-20T23:17:55
|
|
valid: Don't use element namespace for attributes
This makes no sense. Unprefixed attributes never have a namespace.
|
|
5ec83f77
|
2025-05-20T03:21:27
|
|
valid: Remove duplicate #FIXED check for namespaces
Unlike the comment indicates, this is already checked.
|
|
7c10fff2
|
2025-05-20T22:48:25
|
|
valid: Don't validate twice in xmlAddAttributeDecl
This should only be done in xmlValidateAttributeDecl.
|
|
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.
|
|
3ab040c2
|
2025-05-24T01:12:15
|
|
Fix unidiomatic use of vsnprintf().
* Don't terminate an already-terminated buffer.
* Consistently use 1024-byte buffers.
* While here, consistently use ap for a va_list.
|
|
8ea253b8
|
2025-05-24T01:00:25
|
|
Remove bogus casts.
* Casting a string literal to `char *` and then immediately passing or
assigning the result to a `const char *` makes no sense.
* There is no need to cast `int` to `Py_ssize_t` as they have the same
sign and the latter is at least as wide as the former.
|
|
7c9b5535
|
2025-05-19T19:10:55
|
|
doc: Document unused error domains
|
|
47aca2c6
|
2025-05-19T18:43:14
|
|
parser: Only check validity contraints when validating
|
|
3a68d0b7
|
2025-05-19T18:59:51
|
|
SAX2: Handle xml:id errors separately
|
|
172550d2
|
2025-05-18T17:45:11
|
|
parser: Only validate EnumerationTypes when requested
This has quadratic behavior and is only a validity constraint.
|
|
7008740a
|
2025-05-18T01:52:38
|
|
parser: Consolidate scanning of XML Names
Use new productions by default.
Fixes #194.
Fixes #364.
See #707.
|
|
657254a8
|
2025-05-18T01:21:43
|
|
parser: Factor out xmlIsNameCharNew/Old
|
|
315bd443
|
2025-05-17T18:59:52
|
|
meson: Switch to cfg_data.set10()
|
|
4e5945fc
|
2025-05-17T14:41:28
|
|
cmake: Avoid overlinking with non-CMake libxml2-config.cmake
Align libxml2-config.cmake generated by Autotools and Meson with the
CMake version and only add dependencies to libraries when linking
statically. Also set LIBXML_STATIC for static builds.
Fixes #918.
|
|
faaa01b8
|
2025-05-17T12:20:32
|
|
cmake: Make iconv a private dependency
This was only needed for the headers before 2.14.
|
|
70e5d664
|
2025-05-17T01:30:41
|
|
doc: Don't document deprecated headers
|
|
7c82391c
|
2025-05-17T01:01:03
|
|
codegen: Factor out code to generate range tables
|
|
502c5f65
|
2025-05-17T00:11:03
|
|
meson: Dependency on directory doesn't work
|
|
210f5a37
|
2025-05-16T21:18:16
|
|
chvalid: Mark functions as deprecated
|
|
954aae90
|
2025-05-16T21:13:17
|
|
doc: Improve regexp documentation
|
|
cbad60ff
|
2025-05-16T18:31:16
|
|
xmllint: Remove unused macros
|
|
2132150d
|
2025-05-16T18:27:00
|
|
xmllint: Switch to xmlCtxtGetDocument
|
|
c5b45fbc
|
2025-05-16T16:54:09
|
|
doc: Misc fixes
|
|
c4926b19
|
2025-05-16T02:12:23
|
|
codegen: Merge xmlunicode.c into xmlregexp.c
Include generated parts.
Generate xmlChRangeGroups instead of functions for Unicode blocks.
|
|
4cb767e9
|
2025-05-16T01:52:44
|
|
codegen: Only generate tables for character ranges
The rest can be easily maintained manually.
|
|
770c6dec
|
2025-05-16T01:19:19
|
|
buf: Remove ABI compatibility hack
I think this was required when some struct members like
xmlParserInputBuffer::buffer were changed from xmlBuffer to xmlBuf (20+
years ago).
Unfortunately, I missed the opportunity to align xmlBuffer with xmlBuf
before the ABI break.
|
|
344190db
|
2025-05-16T00:54:51
|
|
doc: Document deprecated xmlThrDef* functions
|
|
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).
|
|
5ce48ec1
|
2025-05-15T22:51:54
|
|
SAX2: Rework xmlSAX2Text
Simplify and make more readable.
|
|
d834437b
|
2025-05-15T19:12:25
|
|
python: Add deprecation warning
|
|
a05fa9a9
|
2025-05-15T18:41:35
|
|
codegen: Rerun codegen scripts
|