|
b0fc67aa
|
2024-06-15T22:53:55
|
|
build: Remove --with-tree configuration option
This option would allow for a smaller, but mostly useless minimal build.
But it complicates the symbol availability logic in an insane way and
requires specialized tools like our custom C parser in doc/apibuild.py.
See #717.
|
|
1341deac
|
2024-06-16T17:57:12
|
|
xmllint: Move shell to xmllint
Move source code for xmllint shell to shell.c and move it from the
libxml2 library to the xmllint executable.
Also allow shell to run without XPath and debug modules.
Add stubs for old shell API functions in legacy build mode.
|
|
c9b06591
|
2024-06-16T17:36:05
|
|
xmllint: Fix resetting error in xmlHTMLPrintError
Make sure that we don't change the error handler when fuzzing.
|
|
0c97eaa7
|
2024-06-10T23:05:40
|
|
xmllint: Rewrite HTML error output
|
|
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
|
|
f96dca9c
|
2024-06-11T18:14:43
|
|
xmllint: Switch to resource loader
|
|
e2919516
|
2024-06-06T19:28:23
|
|
xmllint: Fix build --with-valid --without-html
|
|
caa8bb38
|
2024-05-19T19:31:54
|
|
fuzz: Move back to xmlSetExternalEntityLoader
xmlParserInputBufferCreateFilenameDefault can't report malloc failures.
|
|
3dea98ef
|
2024-05-09T21:10:28
|
|
xmllint: Don't free DTD with --dropdtd
Entity references point to entities in the DTD, so only unlink the DTD
and don't destroy it.
|
|
3ad7f816
|
2024-05-08T11:49:31
|
|
[CVE-2024-34459] Fix buffer overread with `xmllint --htmlout`
Add a missing bounds check.
Fixes #720.
|
|
c83147bf
|
2024-05-08T03:04:15
|
|
xmllint: Fix --pedantic option
Regressed in 74c84a8c.
|
|
3665d667
|
2024-05-07T16:53:43
|
|
xmllint: Clean up option handling
Remove unnecessary globals and make some local.
Remove unnecessary calls to xmlTextReaderSetParserProp.
Remove unused "oldout" code.
Fix skipArgs.
|
|
b3cb41be
|
2024-05-13T12:18:08
|
|
fuzz: Add xmllint fuzzer
|
|
f8ff4d86
|
2024-05-07T15:23:03
|
|
xmllint: Rework parsing
Merge a few code paths, making options like --valid or --htmlout work
with some other options.
Improve error handling.
|
|
3afaff7e
|
2024-05-06T11:16:01
|
|
xmllint: Check for NULL input in xmlHTMLValidityError
`ctxt->input` can be NULL after commit 61b4c42f.
|
|
ef6e6012
|
2024-05-06T01:13:49
|
|
xmllint: Fix parsing of maxmem option
Fix corner cases like 'xmllint --encode --maxmem 123'.
Also fixes --path without LIBXML_VALID_ENABLED.
|
|
907a5a48
|
2024-05-06T02:34:01
|
|
xmllint: Fix memory leak in walkDoc
|
|
f4826c84
|
2024-05-06T00:33:19
|
|
xmllint: Add macro for error stream
Prepare for fuzzing.
|
|
826baf00
|
2024-05-06T00:29:07
|
|
xmllint: Fix --insert option
Make sure that parent is an element when calling
xmlValidGetValidElements.
|
|
20a0de95
|
2024-05-06T00:08:54
|
|
xmllint: Fix --pushsmall option
This is only a debugging aid but also useful when fuzzing.
|
|
a39e862b
|
2024-05-05T18:16:11
|
|
xmllint: Add explicit cast for -fsanitize=integer
|
|
422ae462
|
2024-05-05T15:20:15
|
|
xmllint: Make some strings const
|
|
1cdfece1
|
2024-04-28T18:33:40
|
|
memory: Remove memory debugging
This is useless compared to sanitizers or valgrind and has a
considerable performance impact if enabled accidentally.
|
|
5e80f438
|
2024-04-28T17:33:19
|
|
tree: Deprecate xmlRegisterNodeDefault
This rarely used feature should be phased out.
|
|
88169bfd
|
2024-04-28T17:54:36
|
|
tree: Deprecate xmlSetCompressMode
|
|
87bebd25
|
2024-02-12T16:45:16
|
|
xmllint: Return error code if XPath returns empty nodeset
Return an error code as before but make it possible to distinguish from
real errors.
Fixes #690.
|
|
d7d300ba
|
2024-01-04T17:50:11
|
|
parser: Remove remnants of runtime debugging feature
Apparently, this feature was remove long ago.
Fixes #651.
|
|
7e0bbbc1
|
2023-12-27T18:33:30
|
|
parser: New input API
Provide a new set of functions to create xmlParserInputs. These can be
used for the document entity or from external entity loaders.
- Don't require xmlParserInputBuffer.
- All functions take a base URI.
- All functions take an encoding as string.
- xmlNewInputURL also takes a public ID.
- xmlNewInputMemory takes a size_t.
- Optimization hints for memory buffers.
Improve documentation.
Only call xmlInitParser before allocating a new parser context.
Call xmlCtxtUseOptions as early as possible.
|
|
0a658c0f
|
2023-12-20T23:53:19
|
|
io: Don't use "-" to read from stdin
To implement this feature on such a low level is a disaster waiting to
happen. Remove these checks from the IO code and move them to xmllint.
Note that the serialization API will still treat "-" as stdout.
|
|
f9f5c2d8
|
2023-12-18T21:44:06
|
|
xmllint: Don't use xmlGenericError
|
|
d6812f3a
|
2023-12-14T13:35:13
|
|
Fix compiler warnings with disabled modules
|
|
699299ca
|
2023-09-20T18:54:39
|
|
globals: Stop including globals.h
|
|
11a1839d
|
2023-09-20T17:54:48
|
|
globals: Move remaining globals back to correct header files
This undoes a lot of damage.
|
|
692a5c40
|
2023-09-20T13:51:26
|
|
xmllint: Don't set deprecated globals
|
|
bfd7d286
|
2023-08-29T21:16:34
|
|
xmllint: Fix more error messages
|
|
373244bc
|
2023-08-29T21:05:32
|
|
xmllint: Fix error message when push parsing empty documents
|
|
ed3bd052
|
2023-08-20T20:48:10
|
|
parser: Allow to set maximum amplification factor
|
|
305a75cc
|
2023-06-06T13:15:46
|
|
malloc-fail: Fix null-deref with xmllint --copy
See #344. Fixes #552.
|
|
886bf4e6
|
2023-04-30T15:35:47
|
|
Stop calling xmlMemoryDump
This was used to check for memory leaks but could potentially create a
.memdump file. These days, there are better ways to check for memory
leaks.
|
|
db32b09d
|
2023-04-20T16:22:11
|
|
xmllint: Validate --maxmem integer option
Fixes #520.
|
|
64b76f81
|
2023-03-14T13:17:20
|
|
xmllint: Fix memory leak with --pattern --stream
Fixes #499.
|
|
d7daf9fd
|
2023-03-14T13:02:36
|
|
xmllint: Fix use-after-free with --maxmem
Fixes #498.
|
|
60d457be
|
2022-12-08T03:45:37
|
|
libxml.h: Don't include stdio.h
|
|
dd3569ea
|
2022-12-08T02:43:17
|
|
Remove XMLDECL macro from .c files
|
|
4b959ee1
|
2022-12-01T13:23:09
|
|
Remove hacky heuristic from b2dc5675e94aa6b5557ba63f7d66b0f08dd17e4d
Checking whether the context is close to the parent context by hardcoding
250 is not portable (I noticed tests were failing on Morello since the value
is 288 there due to pointers being 128 bits). Instead we should ensure
that the XML_VCTXT_USE_PCTXT flag is not set in cases where the user data
is not actually a parser context (or ideally add a separate field but that
would be an ABI break.
From what I can see in the source, the XML_VCTXT_USE_PCTXT is only set if
the userData field points to a valid context, and if this is not the case
the flag should be cleared when changing userData rather than relying on
the offset between the two. Looking at the history, I think
d7cb33cf44aa688f24215c9cd398c1a26f0d25ff fixed most of the need for this
workaround, but it looks like there are a few more locations that need
updating; This commit changes two more places to set/clear/copy the
XML_VCTXT_USE_PCTXT flag, so this heuristic should not be needed anymore.
I've also drop two = NULL assignment in xmllint since this is not needed
after a call to memset().
There was also an uninitialized vctxt.flags (and other fields) in
`xmlShellValidate()`, which I've fixed by adding a memset() call.
|
|
701beb4e
|
2022-11-22T15:37:49
|
|
xmllint: Include <io.h> on Windows
|
|
e85f9b98
|
2022-10-19T02:47:30
|
|
xmllint: Improve handling of empty XPath node sets
Don't return an error if the result is an empty node set. Suppress the
"XPath set is empty" message in quiet mode.
Fixes #180.
|
|
5bffa33a
|
2022-09-02T05:03:03
|
|
Stop including sys/types.h
|
|
74c84a8c
|
2022-08-24T15:51:28
|
|
xmllint: Don't set deprecated globals
Setting parser options should be enough.
|
|
ce93ee90
|
2022-08-24T05:24:13
|
|
xmllint: Stop calling xmlSAXDefaultVersion
This should already be handled by setting XML_PARSE_SAX1.
|
|
9a82b94a
|
2022-08-24T04:21:58
|
|
Introduce xmlNewSAXParserCtxt and htmlNewSAXParserCtxt
Add API functions to create a parser context with a custom SAX handler
without having to mess with ctxt->sax manually.
|
|
865520f0
|
2022-03-30T00:32:35
|
|
Respect `--sysconfdir` in source files
* Prefix installations need to point to a non-root `etc`
- Gentoo Prefix has been patching this for over 10 years:
https://bugs.gentoo.org/317891
- MacPorts has to manually replace paths after patching:
https://github.com/macports/macports-ports/blob/cc3bb736e906abe73b014da02a89ae2b70ef6295/textproc/libxml2/Portfile#L46
|
|
776d15d3
|
2022-03-02T00:29:17
|
|
Don't check for standard C89 headers
Don't check for
- ctype.h
- errno.h
- float.h
- limits.h
- math.h
- signal.h
- stdarg.h
- stdlib.h
- string.h
- time.h
Stop including non-standard headers
- malloc.h
- strings.h
|
|
551b558d
|
2022-03-01T17:15:12
|
|
Remove useless call to xmlRelaxNGCleanupTypes
xmlRelaxNGCleanupTypes is called from xmlCleanupParser later.
|
|
655cf3f4
|
2022-02-28T23:39:00
|
|
Always fopen files with "rb"
We never want translation of newlines when reading files, so it should
be safe to always specify "rb". On sane platforms, the "b" flag is
simply ignored.
|
|
3f8655db
|
2022-02-28T23:22:50
|
|
Remove __DJGPP__ checks
Drop broken support for DJGPP.
|
|
2489c1d0
|
2022-02-28T22:42:10
|
|
Remove useless __CYGWIN__ checks
From what I can tell, some really early Cygwin versions from around
1998-2000 used to erroneously define _WIN32. This was eventually fixed,
but these days, the `defined(_WIN32) && !defined(__CYGWIN__)` idiom is
unnecessary.
Now, we only check for __CYGWIN__ in xmlexports.h when deciding whether
to use __declspec.
|
|
c41bc10d
|
2022-02-22T19:57:12
|
|
Fix unused variable warnings with disabled features
|
|
10891111
|
2022-02-13T22:52:53
|
|
Redirect links to xmlsoft.org
Documentation and releases are now available on gitlab.gnome.org.
|
|
8be44aeb
|
2022-02-07T20:54:33
|
|
Fix "xmllint -"
Short-lived regression from commit d12be00d.
|
|
d12be00d
|
2022-02-04T14:13:59
|
|
Don't ignore xmllint options after "-"
There's no reason to ignore options after "-". This was probably
confused with the "--" mechanism which xmllint doesn't implement.
Fixes #290.
|
|
247cfa27
|
2022-02-01T16:21:10
|
|
Fix parsing of xmllint --maxmem option
Fixes #195.
|
|
18d1f9d4
|
2022-02-01T15:56:21
|
|
Add more checks for malloc failures in xmllint.c
Also fix a few of the existing checks.
Fixes #197.
Fixes #198.
|
|
eab86522
|
2022-01-31T14:45:09
|
|
Make xmllint return an error if arguments are missing
Before, xmllint would only return an error code if the argument
list was completely empty.
Fixes #285.
|
|
9f4cb84c
|
2022-01-16T18:39:51
|
|
Fix xmllint --maxmem
xmlMemSetup must be called before initializing the parser, otherwise
some data structures will be allocated with system malloc instead of
our custom allocator. This throws off built-in memory debugging and
sanitizers.
|
|
72b3c067
|
2021-04-22T19:24:50
|
|
Fix dangling pointer with `xmllint --dropdtd`
Reset doc->intSubset when dropping the DTD.
|
|
1358d157
|
2021-04-21T13:23:27
|
|
Fix use-after-free with `xmllint --html --push`
Call htmlCtxtUseOptions to make sure that names aren't stored in
dictionaries.
Note that this issue only affects xmllint using the HTML push parser.
Fixes #230.
|
|
02bee4c4
|
2021-02-02T22:27:52
|
|
Add a flag to not output anything when xmllint succeeded
|
|
2b4769a6
|
2020-08-16T22:02:04
|
|
Make "xmllint --push --recovery" work
|
|
50f06b3e
|
2020-08-07T21:54:27
|
|
Fix out-of-bounds read with 'xmllint --htmlout'
Make sure that truncated UTF-8 sequences don't cause an out-of-bounds
array access.
Thanks to @SuhwanSong and the Agency for Defense Development (ADD) for
the report.
Fixes #178.
|
|
922bebcc
|
2020-07-15T14:20:42
|
|
Make 'xmllint --html --push -' read from stdin
|
|
20c60886
|
2020-03-08T17:19:42
|
|
Fix typos
Resolves #133.
|
|
2a350ee9
|
2019-09-30T17:04:54
|
|
Large batch of typo fixes
Closes #109.
|
|
f209e551
|
2019-06-25T11:45:16
|
|
Fix build without reader but with pattern
Broken by commit dbc6b55b.
|
|
dbc6b55b
|
2019-05-16T21:06:56
|
|
Fix warnings when compiling without reader or push parser
|
|
c494a0ba
|
2019-03-12T14:45:04
|
|
Fix xmllint dump of XPath namespace nodes
Starting with commit da35eeae, xmllint uses the xmlNodeDump API to dump
XPath nodes. Make sure not to access node->doc which doesn't work with
namespace nodes.
|
|
19f0950d
|
2019-01-01T16:38:42
|
|
Fix -Wcast-function-type warnings (GCC 8)
Use xmlGenericError instead of fprintf as error handler. It also prints
to stderr by default.
|
|
da35eeae
|
2018-09-23T01:09:56
|
|
Add newlines to 'xmllint --xpath' output
Separate nodes in a node-set with newlines and always add a terminating
newline. This is a breaking change but the old behavior of dumping text
nodes without separator was mostly useless.
Also use buffered I/O when dumping node-sets.
|
|
cb5541c9
|
2017-11-13T17:08:38
|
|
Fix libz and liblzma detection
If libz or liblzma are detected with pkg-config, AC_CHECK_HEADERS must
not be run because the correct CPPFLAGS aren't set. It is actually not
required have separate checks for LIBXML_ZLIB_ENABLED and HAVE_ZLIB_H.
Only check for LIBXML_ZLIB_ENABLED and remove HAVE_ZLIB_H macro.
Fixes bug 764657, bug 787041.
|
|
86615e43
|
2017-11-09T17:47:47
|
|
Fix IO callback signatures
|
|
bee8f1e4
|
2017-10-09T00:19:06
|
|
Don't include winsock2.h in xmllint.c
I'm not sure why xmllint.c did include winsock2.h at all. Stop
including the header as both MinGW and MSVC builds don't seem to
require it.
|
|
45b0ebdc
|
2017-10-09T00:08:10
|
|
socklen_t is always int on Windows
Define XML_SOCKLEN_T as `int` unconditionally in wsockcompat.h. Fixes
compiler warnings and removes some duplicated code.
|
|
f435365b
|
2017-06-20T16:19:33
|
|
Send xmllint usage error to stderr
Fixes bug 781459.
|
|
030b1f7a
|
2017-06-06T15:53:42
|
|
Revert "Add an XML_PARSE_NOXXE flag to block all entities loading even local"
This reverts commit 2304078555896cf1638c628f50326aeef6f0e0d0.
The new flag doesn't work and the change even broke the XML_PARSE_NONET
option.
|
|
23040785
|
2017-04-07T16:45:56
|
|
Add an XML_PARSE_NOXXE flag to block all entities loading even local
For https://bugzilla.gnome.org/show_bug.cgi?id=772726
* include/libxml/parser.h: Add a new parser flag XML_PARSE_NOXXE
* elfgcchack.h, xmlIO.h, xmlIO.c: associated loading routine
* include/libxml/xmlerror.h: new error raised
* xmllint.c: adds --noxxe flag to activate the option
|
|
4472c3a5
|
2016-05-13T15:13:17
|
|
Fix some format string warnings with possible format string vulnerability
For https://bugzilla.gnome.org/show_bug.cgi?id=761029
Decorate every method in libxml2 with the appropriate
LIBXML_ATTR_FORMAT(fmt,args) macro and add some cleanups
following the reports.
|
|
b8e0fa34
|
2016-05-04T10:55:49
|
|
Fix null pointer deref in docs with no root element
From https://bugzilla.gnome.org/show_bug.cgi?id=758514
|
|
11e805d3
|
2015-04-17T17:02:59
|
|
xmllint: flush stdout before interactive shell input.
|
|
783931fc
|
2016-03-02T12:48:51
|
|
Bug 721158: Missing ICU string when doing --version on xmllint <https://bugzilla.gnome.org/show_bug.cgi?id=721158>
* xmllint.c:
(showVersion): Add "ICU" to xmllint version string if libxml2 is
built with ICU enabled.
|
|
b40c1940
|
2015-10-23T19:35:02
|
|
Fix a small error in xmllint --format description
Obviously it operates on the output not the input
|
|
d9ea9132
|
2014-06-09T22:10:15
|
|
xmllint was not parsing the --c14n11 flag
Cut and paste error, using the wrong variable
|
|
1c43f43c
|
2013-12-12T15:12:53
|
|
Portability patch for fopen on OS/400
|
|
9a85d40c
|
2013-11-29T23:26:25
|
|
Fix incorrect spelling entites->entities
Partially, a follow-up of 81d7a8245cf9a31a49499a5a195c2b89e6f91180.
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
|
826bc320
|
2013-11-29T14:12:12
|
|
Fix HTML push parser to accept HTML_PARSE_NODEFDTD
For https://bugzilla.gnome.org/show_bug.cgi?id=719515
fixes htmlParseTryOrFinish to interpret HTML_PARSE_NODEFDTD,
and updates xmllint to actually pass --nodefdtd to the push
version of the HTML parser
|
|
2205ff4b
|
2013-08-29T16:44:33
|
|
xmllint --pretty crashed without following numeric argument
https://bugzilla.gnome.org/show_bug.cgi?id=674789
We need to check for NULL argument before calling atoi()
|
|
b98c6a0a
|
2013-07-12T12:08:40
|
|
Fix handling of mmap errors
https://bugzilla.gnome.org/show_bug.cgi?id=702320
as raised by Gaurav <ya1gaurav@gmail.com>
|
|
e71dce18
|
2013-07-11T15:41:22
|
|
Catch malloc error and exit accordingly
As pointed privately by Bill Parker <wp02855@gmail.com>
|
|
a75a009d
|
2013-05-08T13:45:48
|
|
xmllint --memory should fail on empty files
Exposed by https://bugzilla.gnome.org/show_bug.cgi?id=699896
when doing analysis but a priori unrelated.
|
|
113384f1
|
2013-03-27T11:43:41
|
|
Add documentation for xmllint --xpath
https://bugzilla.gnome.org/show_bug.cgi?id=694822
this wasn't documented in the man page, and there was a typo in
xmllint help output.
|