|
367a283b
|
2025-10-07T01:05:03
|
|
tree: Undeprecate several struct members
|
|
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.
|
|
a30a2764
|
2025-09-26T16:29:10
|
|
valid: Undeprecate xmlValidGetPotentialChildren
Fixes #988.
|
|
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>
|
|
1763281c
|
2025-09-08T15:29:23
|
|
Remove LZMA support
|
|
8c107b69
|
2025-09-08T14:59:24
|
|
Revert "dict: Rework reference counting"
This reverts commit 18bbdb51175f309aef40fa5254af34e322be7783 due to lack
of feedback.
|
|
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.
|
|
56199b5c
|
2025-08-17T15:58:09
|
|
catalog: Prepare to make SGML catalog support optional
|
|
591f19eb
|
2025-08-17T14:35:08
|
|
catalog: Deprecate low-level internal functions
|
|
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.
|
|
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.
|
|
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.
|
|
c4b278ec
|
2025-08-11T13:44:56
|
|
valid: Undeprecate xmlAdd*Decl
Fixes #969.
|
|
3b96ec75
|
2025-08-02T14:12:17
|
|
doc: Document deprecated default SAX handler globals
|
|
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.
|
|
ab4a7f30
|
2025-07-23T02:22:43
|
|
doc: Document deprecated xmlBuffer members
|
|
af464de1
|
2025-07-23T02:20:13
|
|
io: Deprecate xmlOutputBuffer members
|
|
6c018854
|
2025-07-23T02:15:40
|
|
io: Deprecate xmlParserInputBuffer members
|
|
8689523a
|
2025-07-22T23:57:03
|
|
parser: Implement xmlCtxtGetInputWindow
See #762.
|
|
469c847f
|
2025-07-22T23:44:10
|
|
parser: Split out xmlParserInputGetWindow
|
|
8aaa53d7
|
2025-07-22T22:38:50
|
|
parser: Implement xmlCtxtGetInputPosition
See #762.
|
|
144ed959
|
2025-07-22T22:38:05
|
|
parser: Move xmlSaturatedAdd to private header
|
|
a7fc9e1a
|
2025-07-22T20:50:13
|
|
parser: Add more parser context accessors
The only thing remaining is access to parser input, see #762.
|
|
a2562b9d
|
2025-07-22T12:15:37
|
|
doc: Improve documentation of error levels
|
|
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.
|
|
c5e7ff09
|
2025-07-21T12:26:36
|
|
tree: More xmlNodeParseContent cleanup
- Rename to xmlNodeParseAttValue
- Rework argument types
- Remove wrapper function
|
|
6340f392
|
2025-07-05T17:08:00
|
|
doc: Document HTML type aliases
|
|
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.
|
|
9553695d
|
2025-06-30T16:15:15
|
|
relaxng: Make xmlRelaxNGDump depend on debug option
|
|
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>
|
|
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>
|
|
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.
|
|
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.
|
|
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.
|
|
7e381842
|
2025-06-18T16:24:44
|
|
include: s/char const/const char/
|
|
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
|
|
cf4f9672
|
2025-06-21T11:16:39
|
|
Add XML_PARSE_SKIP_IDS to replace XML_SKIP_IDS
Mark loadset member as deprecated
Fixes #873
|
|
2963a0f1
|
2025-06-20T21:41:24
|
|
tree: Undeprecate some members used by libxslt
|
|
7e08d93c
|
2025-06-03T23:32:41
|
|
doc: Improve documentation of tree data types
|
|
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.
|
|
5e7c72cd
|
2025-06-03T00:59:10
|
|
doc: Misc fixes
|
|
5f8e537d
|
2025-06-03T00:46:40
|
|
doc: Misc fixes to xpointer
|
|
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`
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
dd1961e0
|
2025-05-20T16:37:18
|
|
valid: Skip more validity checks if not validating
|
|
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.
|
|
7c9b5535
|
2025-05-19T19:10:55
|
|
doc: Document unused error domains
|
|
7008740a
|
2025-05-18T01:52:38
|
|
parser: Consolidate scanning of XML Names
Use new productions by default.
Fixes #194.
Fixes #364.
See #707.
|
|
210f5a37
|
2025-05-16T21:18:16
|
|
chvalid: Mark functions as deprecated
|
|
954aae90
|
2025-05-16T21:13:17
|
|
doc: Improve regexp documentation
|
|
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.
|
|
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).
|
|
a05fa9a9
|
2025-05-15T18:41:35
|
|
codegen: Rerun codegen scripts
|
|
a40f36e7
|
2025-05-14T04:04:28
|
|
include: Stop using *Ptr typedefs in public headers
|
|
2d83a84c
|
2025-05-14T00:29:19
|
|
doc: Misc improvements
|
|
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.
|
|
628006f4
|
2025-05-12T11:47:40
|
|
encoding: Add windows-1252
Fixes #915.
|
|
f602c0c1
|
2025-05-12T00:04:22
|
|
html: Rework serialization of meta encoding attributes
Don't allocate memory.
|
|
0674ccb7
|
2025-05-11T20:55:57
|
|
html: Stop omitting end tags when serializing
Align with HTML5.
|
|
05b8fe0a
|
2025-04-12T23:10:40
|
|
html: Don't escape RAWTEXT and PLAINTEXT
Align with HTML5.
|
|
777e2adf
|
2025-05-09T23:53:03
|
|
io: Consolidate escaping code
Use generated table approach of xmlSerializeText for xmlEscapeText.
Move most code to xmlIO.c.
|
|
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.
|
|
971038e5
|
2025-05-09T20:26:33
|
|
html: Call lower-level escaping functions
Removes the need to pass a document around.
|
|
63535d39
|
2025-05-09T20:13:43
|
|
tree: Make xmlNodeListGetStringInternal work with escape flags
|
|
442c1903
|
2025-05-09T18:52:36
|
|
doc: Fix some damage from automated conversions
Add some newlines, fix returns.
|
|
98a61c9d
|
2025-05-09T16:48:09
|
|
doc: Fix briefs in tree docs
|
|
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.
|
|
ab13fbfd
|
2025-05-06T14:06:43
|
|
doc: Misc fixes to error docs
|
|
b1685459
|
2025-05-06T12:50:52
|
|
doc: Misc fixes to xmlsave docs
|
|
298f70b3
|
2025-05-05T21:36:36
|
|
doc: Misc fixes to HTML tree docs
|
|
80b6429f
|
2025-05-04T19:13:24
|
|
doc: Misc fixes to encoding docs
|
|
81ac2e27
|
2025-05-04T18:41:44
|
|
doc: Misc fixes to valid docs
|
|
714decd6
|
2025-05-04T17:50:26
|
|
doc: Misc fixes to entities docs
|
|
f38f3e7b
|
2025-05-04T16:49:49
|
|
doc: Misc fixes to IO documentation
|
|
e6cfd049
|
2025-05-04T14:52:42
|
|
doc: Misc fixes to tree docs
|
|
1bf44f09
|
2025-05-04T02:15:25
|
|
doc: Misc fixes to parser docs
|
|
b7274fb0
|
2025-05-03T16:34:02
|
|
doc: Misc fixes to HTML parser docs
|
|
411f30ef
|
2025-05-03T16:21:15
|
|
doc: Don't document legacy HTML parser macros
|
|
4a010875
|
2025-05-03T15:38:15
|
|
doc: Move parser option docs to enum
|
|
a449c5fd
|
2025-05-03T01:31:09
|
|
catalog: Deprecate some functions
|
|
075283d4
|
2025-05-03T00:17:39
|
|
xlink: Deprecate remaining public function
This was never finished.
|
|
38ea8fa9
|
2025-05-06T18:31:45
|
|
doc: Fix varargs
|
|
9bbffec5
|
2025-05-06T17:42:46
|
|
doc: Move brief to top, params to bottom of doc comments
|
|
2c150e62
|
2025-05-02T20:18:34
|
|
doc: Formatting fixes
|
|
08a282f9
|
2025-05-02T20:12:52
|
|
doc: Doxygen fixes for xmlversion.h
|
|
e78e05c9
|
2025-05-02T17:32:51
|
|
doc: Fix autolinks to functions
Unfortunately, autolinks in .c files aren't converted by Doxygen for
some reason.
|
|
f7c41287
|
2025-05-02T15:57:17
|
|
doc: Remove more comment block headers
|
|
0ffa7dd8
|
2025-05-02T14:52:03
|
|
include: Add hyperlink to deprecation warnings
Doxygen creates a nice "deprecated list" for us.
|
|
1eca6e34
|
2025-04-30T00:54:00
|
|
parser: Deprecate xmlClearParserCtxt
|
|
e525564f
|
2025-05-01T19:20:06
|
|
doc: Remove empty lines at start of block
These lines were left over after automatic conversion.
|
|
fd6ab89b
|
2025-04-28T15:58:19
|
|
doc: Adjust documentation of public structs
|