|
02fcb1ef
|
2024-07-25T17:07:18
|
|
parser: Make xmlParseChunk return an error if parser was stopped
This regressed after enhancing the disableSAX member in 2.13.
Should fix #777.
|
|
bc14d70f
|
2024-07-25T00:26:48
|
|
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.
|
|
1a893230
|
2024-07-06T01:03:46
|
|
[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.
|
|
6cc2387e
|
2024-07-24T11:42:39
|
|
shell: Only use readline on terminals
Should fix xmllint shell tests.
|
|
d04e152d
|
2024-07-24T11:40:01
|
|
shell: Remove access(2) checks
The checks didn't handle stdout.
Since unistd.h wasn't included, W_OK wasn't defined and the checks
wouldn't run anyway.
|
|
aa6ca0b1
|
2024-07-23T03:29:41
|
|
module: Deprecate module API
This was only used by libxslt which switched to a private
implementation.
|
|
ec4340b8
|
2024-07-23T01:32:43
|
|
Update NEWS
|
|
e1291059
|
2024-07-22T22:22:48
|
|
build: Don't check for pthread.h
The Autotools build still checks for pthread.h (and zlib.h and lzma.h)
but the result isn't needed in config.h.
|
|
cc03c069
|
2024-07-22T22:15:09
|
|
build: Don't check for standard POSIX headers
These headers should be available since early POSIX days and are
required no matter what.
|
|
d7dc2eaf
|
2024-07-22T21:39:54
|
|
build: Don't check for dlfcn.h and dl.h
It's enough to check for symbols.
|
|
7c10393f
|
2024-07-22T17:25:15
|
|
build: Fix config.h macros
We have to emulate AC_CHECK_DECLS. Instead of leaving the macro
undefined if a symbol wasn't found, it has to be set to 0.
|
|
095b3c7f
|
2024-07-22T15:37:13
|
|
cmake: Implement READLINE and HISTORY options
|
|
0172ffa9
|
2024-07-22T15:21:36
|
|
build: Only check for required headers
|
|
3ef66611
|
2024-07-22T14:58:16
|
|
build: Rework mmap checks
Switch to AC_CHECK_DECLS/check_symbol_exists. Don't check for
sys/mman.h separately. Don't check for munmap.
|
|
e1657f3f
|
2024-07-22T14:33:14
|
|
build: Use AC_CHECK_DECLS/check_symbol_exists for getentropy
This assumes that getentropy is declared in sys/random.h.
Should fix issues on iOS. See #774.
|
|
278fcf13
|
2024-07-22T13:02:07
|
|
buf: Limit xmlBuffer size to INT_MAX
Some API functions like xmlBufUse only support ints.
|
|
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.
|
|
d2755cdb
|
2024-07-22T12:35:29
|
|
buf: Fix memory leak if malloc fails before xmlBufBackToBuffer
Short-lived regression.
|
|
322e733b
|
2024-07-18T19:27:43
|
|
xinclude: Fix fallback for text includes
Fixes #772.
|
|
0dada804
|
2024-07-18T03:48:11
|
|
threads: Fix 32-bit Windows build
Should fix #771.
|
|
7b98e8d6
|
2024-07-18T01:54:22
|
|
io: Don't call getcwd in xmlParserGetDirectory
The "directory" value isn't used internally. Calling getcwd is
unnecessary and can cause problems in sandboxed environments.
Fixes #770.
|
|
15202100
|
2024-07-18T02:36:30
|
|
buf: Fix maxSize behavior
Short-lived regression.
|
|
2440cb5d
|
2024-07-18T02:10:32
|
|
buf: Fix xmlBufBackToBuffer
Short-lived regression.
|
|
5862e9dd
|
2024-07-18T01:59:25
|
|
Add NULL checks
Short-lived regression.
|
|
4e93425a
|
2024-07-16T20:02:13
|
|
threads: Prefer Win32 over pthreads
|
|
1f7d4af3
|
2024-07-16T18:59:19
|
|
globals: Clean up macros and add comments
|
|
4f08a1a2
|
2024-07-15T23:23:06
|
|
globals: Also use thread-specific storage on "main" thread
Don't treat "main" thread specially. This simplifies access to
thread-specific data.
xmlGetGlobalState can now also fail on the former main thread, leading
to an unrecoverable condition if malloc fails.
The globals were never defined in public header files when compiling
with thread support. Now they're only defined in a legacy build.
Move TlsFree to DllMain to make cleanup more robust on Windows.
Obsoletes #1.
|
|
5f3f66c6
|
2024-07-15T23:50:08
|
|
threads: Use pthread_once and InitOnceExecuteOnce
Static initialization flags aren't thread-safe. Also avoids an
allocation on Windows.
TODO: Breaks xmllint on Windows.
|
|
be250b79
|
2024-07-15T20:04:08
|
|
xpath: Remove union swap optimization
This would require locking to make it thread-safe.
|
|
79e11995
|
2024-07-15T19:43:28
|
|
error: Make xmlLastError const
|
|
eb66d03e
|
2024-07-07T23:15:54
|
|
io: Deprecate a few functions
|
|
97680d6c
|
2024-07-07T21:29:18
|
|
io: Rework xmlParserInputBufferGrow
Remove dubious (len != 4) check.
Remove compression-related code. This should already be set when
opening the input.
|
|
a6f54f05
|
2024-07-07T18:52:17
|
|
io: Fine-tune initial IO buffer size
|
|
7148b778
|
2024-07-07T16:11:08
|
|
parser: Optimize memory buffer I/O
Reenable zero-copy IO for zero-terminated static memory buffers.
Don't stream zero-terminated dynamic memory buffers on top of creating
a copy.
|
|
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.
|
|
8e871a31
|
2024-07-07T12:58:43
|
|
buf: Rework xmlBuffer code
Port most changes made to the xmlBuf code in f3807d76, except that
"size" still includes the terminating NULL byte.
Make xmlSetBufferAllocationScheme, xmlBufferAllocScheme and
xmlDefaultBufferSize no-ops.
Deprecate a few functions.
|
|
888f70c7
|
2024-07-07T11:35:54
|
|
buf: Move xmlBuffer code to buf.c
|
|
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.
|
|
2adcde39
|
2024-07-12T16:25:05
|
|
save: Optimize xmlSerializeText
Use lookup tables.
|
|
1b067082
|
2024-07-12T15:19:26
|
|
save: Always serialize CR as decimal " "
We used to serialize CR as "
" when there was no encoding and we
weren't in an attribute. This was somewhat inconsistent.
|
|
1cfc5b80
|
2024-07-12T03:07:57
|
|
entities: Rework serialization of numeric character references
|
|
8d160626
|
2024-07-12T02:01:06
|
|
entities: Rework text escaping
|
|
cc45f618
|
2024-07-11T22:06:31
|
|
save: Rework text escaping
Stop using xmlOutputBufferWriteEscape except when using deprecated
xmlSaveSetEscape. Rewrite xmlOutputBufferWriteEscape to use an extra
buffer and call xmlOutputBufferWrite.
Introduce xmlSerializeText to serialize both text and attribute content.
Don't read encoding from document when serializing and remove all hacks
that temporarily changed the document's encoding.
|
|
e488695b
|
2024-07-11T20:23:49
|
|
save: Deprecate xmlSaveSet*Escape
xmlSaveSetAttrEscape never had an effect.
|
|
0ab07b21
|
2024-07-11T20:04:39
|
|
io: Rework xmlOutputBufferWrite
Simplify code, handle short writes from callback.
|
|
769e5a4a
|
2024-07-16T01:12:21
|
|
threads: Allocate global RMutexes statically
Avoid memory allocations during initialization.
|
|
5d36664f
|
2024-07-16T00:35:53
|
|
memory: Deprecate xmlGcMemSetup
|
|
ff39f28b
|
2024-07-16T00:21:22
|
|
schematron: Use xmlMalloc
|
|
a87944e9
|
2024-07-16T00:13:49
|
|
windows: Use DllMain for cleanup
|
|
bb1884cb
|
2024-07-16T10:19:23
|
|
Enable CMake checks for MSVC
|
|
e0494c0d
|
2024-07-15T15:10:18
|
|
io: Add some deprecation warnings
|
|
2dcd561d
|
2024-07-15T14:54:37
|
|
regexp: Don't print to stderr
|
|
4b1832c1
|
2024-07-15T14:46:00
|
|
relaxng: Use error handler for internal errors
Don't print to stderr.
|
|
72886980
|
2024-07-15T14:35:47
|
|
error: Add helper functions to print errors and abort
|
|
f6170b48
|
2024-07-15T14:19:34
|
|
memory: Don't report OOM to stderr
|
|
6be79014
|
2024-07-15T14:18:26
|
|
Remove unused code
|
|
fee0006a
|
2024-07-15T13:03:55
|
|
parser: Fix memory leak after malloc failure in xml*ParseDTD
|
|
69f12d6d
|
2024-07-13T00:17:18
|
|
encoding: Deprecate xmlByteConsumed
This was only used by Chromium/WebKit to detect whether xmlParseContent
really succeeded. It's a horrible, overcomplicated hack.
See 8c5848bd and #767.
|
|
440d11af
|
2024-07-13T00:11:35
|
|
reader: Deprecate xmlTextReaderByteConsumed
Document that this function is useless.
Stop trying to handle encoding via xmlByteConsumed which can be
expensive.
|
|
3528b81f
|
2024-07-12T16:28:18
|
|
tools: Move codegen tools to 'tools' directory
|
|
c3b2f471
|
2024-07-12T03:07:22
|
|
cmake: Update option description
|
|
30487932
|
2024-07-12T02:03:04
|
|
meson: Also disable icu and thread_alloc by default
|
|
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.
|
|
673ca0ed
|
2024-07-11T01:23:57
|
|
tests: Regenerate testapi.c
|
|
4fec0889
|
2024-07-10T22:31:15
|
|
parser: Fix memory leak in xmlInputSetEncodingHandler
Short-lived regression.
|
|
d0997956
|
2024-07-10T22:26:19
|
|
encoding: Readd some UTF-8 validation to encoders
This isn't strictly needed but avoids generating invalid UTF-16 and
unsigned integer overflows.
|
|
ae6e2ee7
|
2024-07-10T22:11:08
|
|
fuzz: Adjust reader fuzzer
|
|
f48eefe3
|
2024-07-09T14:09:15
|
|
encoding: Rework xmlByteConsumed
Don't loop infinitely if input buffer is too large. Allocate conversion
buffer on the heap.
|
|
8c4cc0be
|
2024-07-09T13:56:49
|
|
fuzz: Improve debug output of reader fuzzer
|
|
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.
|
|
da686399
|
2024-07-09T12:29:53
|
|
io: Fix return value of xmlFileRead
This broke in commit 6d27c54.
Fixes #766.
|
|
f51ad063
|
2024-07-08T11:23:39
|
|
parser: Fix error return of xmlParseBalancedChunkMemory
Only return an error code if the chunk is not well-formed to match the
2.12 behavior. Return 0 on non-fatal errors like invalid namespaces.
Fixes #765.
|
|
2e63656e
|
2024-07-07T19:21:46
|
|
parser: Check return value of inputPush
inputPush typically doesn't fail because we pre-allocate the input
table. The return value should be checked nevertheless.
|
|
ea31ac5b
|
2024-07-07T01:02:11
|
|
fuzz: Fix spaceMax
|
|
82e0455c
|
2024-07-06T19:48:07
|
|
Undeprecate some symbols for now
- xmlKeepBlanksDefault is needed as a work-around for
xmlParseBalancedChunk, see issue #727.
- ctxt->options already has an accessor and will be deprecated
later.
- input->cur, input->base, input->end: See #762.
|
|
29e3ab92
|
2024-07-06T15:48:43
|
|
fuzz: Make reallocs more likely
|
|
de3221b1
|
2024-07-06T15:23:30
|
|
fuzz: Adjust for xmlNodeParseContent changes
xmlStringGetNodeList returns NULL again for empty strings.
|
|
1e5375c1
|
2024-07-06T15:15:57
|
|
SAX2: Check return value of xmlPushInput
Fix null deref in case of malloc failure.
|
|
38195cf5
|
2024-07-06T14:58:16
|
|
parser: Don't produce names with invalid UTF-8 in recovery mode
|
|
c45c15f5
|
2024-07-04T15:15:58
|
|
ci: Add job for perl-XML-LibXML
|
|
ec088109
|
2024-07-04T15:15:17
|
|
parser: Upgrade XML_IO_NETWORK_ATTEMPT to error
Fixes XML::LibXML test suite.
|
|
f86d17c1
|
2024-07-04T15:14:54
|
|
encoding: Fix xmlParseCharEncoding
Make "UTF-16" return the UTF16LE handler as before.
Fix error return.
|
|
10082a3d
|
2024-07-04T03:35:17
|
|
testchar: Don't invoke encoding handler directly
|
|
446a3610
|
2024-07-03T13:56:41
|
|
test: add a downstream integration test job for nokogiri
Related to #758
|
|
67fa4a43
|
2024-07-03T13:40:04
|
|
meson: Disable python when python is disabled
|
|
e2a49afe
|
2024-07-03T20:18:24
|
|
build: Read version number from VERSION file
|
|
c3731347
|
2024-07-03T18:20:17
|
|
build: Introduce LIBXML_MINOR_COMPAT
This is set to 0 for now but could be used to avoid ABI stability
issues.
|
|
606310a3
|
2024-07-03T18:05:05
|
|
meson: Set soversion
|
|
944cc23c
|
2024-07-03T15:54:32
|
|
tree: Fix handling of empty strings in xmlNodeParseContent
We shouldn't create an empty text node to match the old behavior.
Fixes #759.
|
|
46ec621e
|
2024-07-03T15:48:01
|
|
encoding: Clarify xmlUconvConvert
|
|
48fec242
|
2024-07-03T15:11:20
|
|
encoding: Remove duplicate code
Fix recent commit.
|
|
71fb2579
|
2024-07-03T14:35:49
|
|
encoding: Fix ICU build
|
|
80aabea1
|
2024-07-03T11:55:38
|
|
SAX2: Reenable 'directory' as base URI fallback
Apparently, some users overwrite this member manually to set a base URI
for memory streams.
Fixes #753.
|
|
842a0448
|
2024-07-03T11:46:06
|
|
valid: Restore ID lookup
Revert a change from d025cfbb and don't overwrite ID table entries, so
that the first attribute will be returned if there are duplicate IDs.
This requires two other changes:
- Attributes in entity content are never added to the ID table. This
seems reasonable.
- Remove the optimization to skip ID lookup when copying and the target
document has an empty ID table. This also seems more correct since the
document could have ID declarations nevertheless or we could be
copying xml:ids into the document for the first time.
Fixes #757.
|
|
f9065261
|
2024-07-02T23:43:28
|
|
SAX2: Fix HTML IDs
Short-lived regression. Fixes #755.
|
|
785ed5c4
|
2024-07-02T23:03:46
|
|
meson: Don't auto-enable legacy and tls
These features should be requested explicitly.
|