|
152fbb60
|
2025-08-02T21:27:32
|
|
parser: Make sure to stop parser before checking max errors
Short-lived regression from 7a41b18c.
|
|
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.
|
|
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.
|
|
cdf4c6f1
|
2025-07-21T22:43:57
|
|
doc: Mention XML_PARSE_NOERROR in more places
|
|
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.
|
|
a4d25b3d
|
2025-06-18T16:00:57
|
|
doc: Small fixes
|
|
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.
|
|
70335c41
|
2025-06-06T03:29:57
|
|
html: Don't stop on unsupported encoding
Continue to parse unlike in the XML case.
|
|
7bd8d1d9
|
2025-05-28T15:53:38
|
|
doc: Prefix autolinks with '#'
Use `#func` instead of `func()` to ignore parameters and make all
autolinks work.
|
|
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.
|
|
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).
|
|
adfbeb7e
|
2025-05-14T04:58:21
|
|
doc: Stop using *Ptr typedefs in documentation
|
|
a40f36e7
|
2025-05-14T04:04:28
|
|
include: Stop using *Ptr typedefs in public headers
|
|
2d83a84c
|
2025-05-14T00:29:19
|
|
doc: Misc improvements
|
|
cdce17c3
|
2025-05-12T21:21:25
|
|
html: Only map HTML encodings from meta tag
|
|
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.
|
|
442c1903
|
2025-05-09T18:52:36
|
|
doc: Fix some damage from automated conversions
Add some newlines, fix returns.
|
|
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
|
|
ab13fbfd
|
2025-05-06T14:06:43
|
|
doc: Misc fixes to error docs
|
|
1bf44f09
|
2025-05-04T02:15:25
|
|
doc: Misc fixes to parser docs
|
|
cb1635a6
|
2025-05-02T19:05:25
|
|
doc: Use @since command
|
|
e78e05c9
|
2025-05-02T17:32:51
|
|
doc: Fix autolinks to functions
Unfortunately, autolinks in .c files aren't converted by Doxygen for
some reason.
|
|
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.
|
|
e549622b
|
2025-04-28T15:11:24
|
|
doc: Convert documentation to Doxygen
Automated conversion based on a few regexes.
|
|
69879da8
|
2025-04-28T14:04:30
|
|
doc: Remove email addresses from documentation
Also remove authorship information from generated files, hash.c and
globals.c which were rewritten.
|
|
61890e39
|
2025-04-27T21:50:15
|
|
doc: Prepare for conversion to Doxygen
Fix many params in internal functions (not really necessary but Doxygen
warns about that in XML mode).
Fix formatting in a few corner cases that automatic conversion can't
handle.
Rearrange some DOC_DISABLE blocks.
|
|
fc8899d4
|
2025-04-27T12:59:41
|
|
parser: Make xmlCtxtGetValidCtxt depend on VALID_ENABLED
|
|
b85d77d1
|
2025-04-20T14:31:24
|
|
http: Remove built-in HTTP client
Stubs are retained for ABI compatibility.
Fixes #631.
Obsoletes #160.
|
|
9e3159d0
|
2025-04-19T14:26:15
|
|
parser: Never use XML catalogs when parsing HTML files
When loading HTML files we shouldn't try to resolve URIs using the XML
catalogs.
|
|
b3492259
|
2025-03-14T00:01:11
|
|
include: Change some return types from int to enum
This also affects some new functions from 2.13.
|
|
fd1b9391
|
2025-03-13T23:20:16
|
|
include: Convert some macros to enums
|
|
84c6524e
|
2025-03-13T19:45:35
|
|
encoding: Support input-only and output-only converters
Make it possible to open an encoding handler only for input or output.
This avoids the creation of unnecessary converters.
Should also fix #863.
|
|
69b83bb6
|
2025-03-10T02:18:51
|
|
encoding: Detect truncated multi-byte sequences with ICU
Unlike iconv or the internal converters, ICU consumes truncated multi-
byte sequences at the end of an input buffer. We currently check for a
non-empty raw input buffer to detect truncated sequences, so this fails
with ICU.
It might be possible to inspect the pivot buffer pointers, but it seems
cleaner to implement a `flush` flag for some encoding and I/O functions.
After flushing, we can check for U_TRUNCATED_CHAR_FOUND with ICU, or
detect remaining input with other converters.
Also fix detection of truncated sequences for HTML, XML content and
DTDs with iconv.
|
|
25490528
|
2025-03-11T10:54:34
|
|
parser: Fix spurious error in SAX mode
Short-lived regression from 5f0b1378.
|
|
5f0b1378
|
2025-03-08T22:07:15
|
|
parser: Add more parser context accessors
Fixes #763.
|
|
6bb2ea8e
|
2025-02-01T14:58:06
|
|
html: Adjust xmlDetectEncoding for HTML
Don't check for UTF-32 or EBCDIC.
We now perform BOM sniffing and the first step of the HTML5 prescan
algorithm (detect UTF-16 XML declarations). The rest of the algorithm
still has to be implemented.
|
|
0de90f51
|
2025-01-30T01:25:31
|
|
parser: Define SIZE_MAX
|
|
3eced32e
|
2025-01-29T23:49:56
|
|
parser: Fix push parser with encoding and single chunk
When push-parsing with an encoding handler, we must convert the whole
buffer in the initial conversion. Otherwise, parsing a single chunk
larger than ~4KB would fail.
Regressed with commit 34c9108f.
|
|
1082d813
|
2025-01-28T23:21:34
|
|
parser: Prepare to make decompression opt-in
Add a new parser option XML_PARSE_UNZIP that enables decompression.
xmlReadFile, xmlCtxtReadFile and xmlCreateURLParserCtxt always set
this option currently, but downstream users should start to set the
option if they really need it.
|
|
a78843be
|
2025-01-28T20:13:58
|
|
xmllint: Support compressed input from stdin
Another regression related to reading from stdin.
Making a "-" filename read from stdin was deeply baked into the core
IO code but is inherently insecure. I really want to reenable this
dangerous feature as sparingly as possible.
This now enables compressed input when using the "Fd" API functions
which wan't supported before. But XML_PARSE_NO_UNZIP will be
inverted later.
Allow compressed stdin in xmlReadFile to support xmlstarlet and older
versions of xsltproc. So far, these are the only known command-line
tools that rely on "-" meaning stdin.
|
|
2e3a91a7
|
2024-12-26T21:05:18
|
|
doc: Fix documentation
|
|
8231c036
|
2024-12-15T23:36:04
|
|
parser: Check reallocations for overflow
|
|
0dd910e8
|
2024-12-18T23:37:35
|
|
save: Fix handling of catastrophic errors
Don't overwrite catastrophic errors xmlSaveErr.
Overwrite non-catastrophic errors in xmlOutputBufferClose.
|
|
1e1b4891
|
2024-12-13T16:45:38
|
|
parser: Also raise error if ctxt is NULL
Update global error variable even if context is missing because of an
invalid (NULL) argument.
|
|
70cce2ec
|
2024-11-26T01:20:54
|
|
parser: Make XML_ERR_RESOURCE_LIMIT non-catastrophic
|
|
57087e5f
|
2024-11-25T20:59:06
|
|
parser: Don't overwrite catastrophic errors
Stop reporting errors after a catastrophic error.
Also make sure that ctxt->errNo matches ctxt->lastError.code.
|
|
0f4f8900
|
2024-11-17T20:13:14
|
|
parser: Rename inputPush to xmlCtxtPushInput
|
|
e2ad249c
|
2024-11-17T19:48:44
|
|
parser: Deprecate more internal symbols
- xmlParseExternalSubset
- xmlPushInput
- xmlPopInput
- xmlCopyCharMultiByte
- xmlCreateEntityParserCtxt
- xmlStringComment
|
|
bd9eed46
|
2024-09-02T18:37:41
|
|
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.
|
|
1d009fe3
|
2024-08-05T15:14:21
|
|
parser: Report at least one fatal error
|
|
bfed6e6a
|
2024-08-05T14:58:37
|
|
parser: Fix error handling after reaching limit
Mark document as non-wellformed and stop parser even if error limit was
reached.
Regressed in abd74186.
|
|
6a3c0b0d
|
2024-07-22T12:53:00
|
|
parser: Increase XML_MAX_DICTIONARY_LIMIT
This limit is somewhat arbitrary and can be reached when fuzzing
documents up to 1 MB.
Increase limit to 100 MB and disable limit if XML_PARSE_HUGE is set.
|
|
a6f54f05
|
2024-07-07T18:52:17
|
|
io: Fine-tune initial IO buffer size
|
|
34c9108f
|
2024-07-07T18:38:31
|
|
encoding: Add sizeOut argument to xmlCharEncInput
When push parsing, we want to convert as much of the input as possible.
When pull parsing memory buffers, we want to convert data chunk by chunk
to save memory.
|
|
92f30711
|
2024-07-07T03:02:11
|
|
parser: Optimize buffer shrinking
Remove checks now that we can shrink memory buffers efficiently.
Shrink more aggressively.
|
|
a221cd78
|
2024-07-07T03:01:51
|
|
buf: Rework xmlBuf code
Always use what the old implementation called the "IO" allocation
scheme, allowing to move the content pointer past the initial
allocation. This is inexpensive and allows efficient shrinking.
Optimize xmlBufGrow, reusing shrunken memory as much as possible.
Simplify xmlBufAdd.
Make xmlBufBackToBuffer return an error on overflow.
Make "size" exclude the terminating NULL byte.
Always provide an initial size.
Reintroduce static buffers.
Remove xmlBufResize and several other functions.
|
|
72886980
|
2024-07-15T14:35:47
|
|
error: Add helper functions to print errors and abort
|
|
aa6aec19
|
2024-07-11T12:37:25
|
|
parser: Fix xmlInputSetEncodingHandler again
Short-lived regression.
|
|
8af55c8d
|
2024-07-06T22:14:21
|
|
parser: Rename new input API functions
These weren't made public yet.
|
|
d74ca594
|
2024-07-06T22:04:06
|
|
parser: Rename internal xmlNewInput functions
|
|
4f329dc5
|
2024-07-10T03:27:47
|
|
parser: Implement xmlCtxtParseContent
This implements xmlCtxtParseContent, a better alternative to
xmlParseInNodeContext or xmlParseBalancedChunkMemory. It accepts a
parser context and a parser input, making it a lot more versatile.
xmlParseInNodeContext is now implemented in terms of
xmlCtxtParseContent. This makes sure that xmlParseInNodeContext never
modifies the target document, improving thread safety.
xmlParseInNodeContext is also more lenient now with regard to undeclared
entities.
Fixes #727.
|
|
4fec0889
|
2024-07-10T22:31:15
|
|
parser: Fix memory leak in xmlInputSetEncodingHandler
Short-lived regression.
|
|
59354717
|
2024-07-09T13:54:07
|
|
parser: Fix malloc failure handling in xmlInputSetEncodingHandler
Don't set encoder if allocating buffer failed. This could lead to
xmlByteConsumed processing invalid UTF-8.
|
|
ea31ac5b
|
2024-07-07T01:02:11
|
|
fuzz: Fix spaceMax
|
|
29e3ab92
|
2024-07-06T15:48:43
|
|
fuzz: Make reallocs more likely
|
|
38195cf5
|
2024-07-06T14:58:16
|
|
parser: Don't produce names with invalid UTF-8 in recovery mode
|
|
ec088109
|
2024-07-04T15:15:17
|
|
parser: Upgrade XML_IO_NETWORK_ATTEMPT to error
Fixes XML::LibXML test suite.
|
|
fdfeecfe
|
2024-07-02T21:54:26
|
|
parser: Reenable ctxt->directory
Unused internally, but used in downstream code.
Should fix #753.
|
|
606f4108
|
2024-07-02T20:57:15
|
|
parser: Allow to disable catalogs with parser options
Implement XML_PARSE_NO_SYS_CATALOG and XML_PARSE_NO_CATALOG_PI.
Fixes #735.
|
|
197e09d5
|
2024-07-02T19:46:51
|
|
parser: Fix xmlLoadResource
Short-lived regression.
|
|
ede5d99a
|
2024-07-02T01:42:33
|
|
parser: Fix typo
|
|
30ef7755
|
2024-07-02T04:02:16
|
|
parser: Don't use deprecated xmlCopyChar
|
|
751ba00e
|
2024-07-02T03:41:05
|
|
parser: Don't use deprecated xmlSwitchInputEncoding
|
|
9a4770ef
|
2024-07-02T02:18:03
|
|
doc: Improve documentation
|
|
0b0dd989
|
2024-06-28T23:13:38
|
|
parser: Fix EBCDIC detection
|
|
221df375
|
2024-06-28T00:34:52
|
|
parser: Support custom charset conversion implementations
Implement xmlCtxtSetCharEncConvImpl. I agree that the name is terrible.
|
|
e72eda10
|
2024-06-28T01:41:36
|
|
parser: Add NULL check in xmlNewIOInputStream
|
|
bc793390
|
2024-06-27T16:23:14
|
|
parser: Update documentation
|
|
193f4653
|
2024-06-26T19:28:28
|
|
parser: Implement xmlCtxtGetStatus
This allows access to ctxt->wellFormed, ctxt->nsWellFormed and
ctxt->valid. It also detects several fatal non-parser errors which
really should be another error level.
|
|
cc0cc2d3
|
2024-06-26T04:32:49
|
|
parser: Add more parser context accessors
|
|
eca972e6
|
2024-06-26T02:22:04
|
|
parser: Add getters for XML declaration to parser context
Access to struct members will be deprecated.
|
|
3ff8a2c4
|
2024-06-26T01:08:48
|
|
parser: Deprecate xmlIsLetter
|
|
fa50be92
|
2024-06-25T23:19:56
|
|
parser: Move implementation of xmlCtxtGetLastError
|
|
217e9b7a
|
2024-06-08T12:27:45
|
|
clang-tidy: don't return in void functions
Found with readability-redundant-control-flow
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|
c5e9a5b2
|
2024-06-17T15:29:56
|
|
parser: Use catalogs with resource loader
|
|
6deebe03
|
2024-06-17T13:09:37
|
|
parser: Make xmlInputCreateUrl handle HTTP input
|
|
d2fd9d37
|
2024-06-17T12:55:44
|
|
parser: Fix swapped arguments
|
|
2608baaf
|
2024-06-14T19:42:40
|
|
parser: Make failure to load main document a warning
Revert the change that made failures to load the main document an error.
This fixes the --path option of xmllint and xsltproc.
Should fix #733.
|
|
dba1ed85
|
2024-06-12T18:19:55
|
|
ftp: Remove FTP support
Remove the built-in FTP client. If you configure --with-legacy, old
symbols are retained for ABI compatibility.
|
|
52384043
|
2024-06-11T19:10:41
|
|
parser: Pass resource type to resource loader
|
|
ab5e6deb
|
2024-06-11T18:11:51
|
|
parser: Introduce XML_INPUT_NETWORK input flag
This allows to disable network access when creating parser inputs with
xmlInputCreateUrl.
|
|
89fcae4d
|
2024-06-11T16:19:58
|
|
parser: Don't report malloc failures when creating context
We don't want messages to stderr before an error handler could be set on
a parser context.
|
|
64ad2725
|
2024-06-11T03:51:43
|
|
parser: Introduce per-context resource loader
|