1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-21 14:53:44 +03:00
Commit Graph

81 Commits

Author SHA1 Message Date
Nick Wellnhofer
dba1ed85a3 ftp: Remove FTP support
Remove the built-in FTP client. If you configure --with-legacy, old
symbols are retained for ABI compatibility.
2024-06-12 18:19:55 +02:00
Nick Wellnhofer
592546267f threads: Deprecate remaining ThrDef functions 2024-05-14 15:44:50 +02:00
Nick Wellnhofer
229e5ff7f9 io: Remove support for HTTP POST
This feature is unlikely to be used these days.
2023-12-24 22:11:49 +01:00
Nick Wellnhofer
1ef3566362 io: Always use unbuffered input
Before, we often used unbuffered input via the lzma or gzip handlers,
more or less inadvertently.

Change the default file handlers from buffered (stdc FILE) to unbuffered
(POSIX fds).
2023-12-21 15:02:24 +01:00
Nick Wellnhofer
b2dbcc432b io: Rework default callbacks
Register a dummy callback struct for default callbacks. Handle them in a
separate function which will later allow to return meaningful error
codes.
2023-12-21 15:02:24 +01:00
Nick Wellnhofer
c2bbeed1fd io: Fix memory lifetime issue with input buffers
xmlParserInputBufferCreateMem must make a copy of the buffer.

This fixes a regression from 2.11 which could cause reads from freed
memory depending on the use case.

Undeprecate xmlParserInputBufferCreateStatic which can avoid copying
the whole buffer.
2023-12-12 23:51:32 +01:00
Nick Wellnhofer
8c084ebdc7 doc: Make apibuild.py happy 2023-09-21 22:57:33 +02:00
Nick Wellnhofer
d6ba403368 globals: Move remaining declarations to correct places
globals.h is now deprecated. Sanity is restored.
2023-09-20 22:22:51 +02:00
Nick Wellnhofer
11a1839ddd globals: Move remaining globals back to correct header files
This undoes a lot of damage.
2023-09-20 22:06:49 +02:00
Nick Wellnhofer
7909ff08e2 include: Remove unnecessary includes
- Don't include tree.h from encoding.h
- Don't include parser.h from xmlIO.h
2023-09-20 22:06:49 +02:00
Nick Wellnhofer
bbf08608fc globals: Move buffer callback declarations to xmlIO.h 2023-09-20 22:06:49 +02:00
Nick Wellnhofer
778cca386d legacy: Add stubs for disabled modules
When legacy support is requested, always enable stubs for FTP and
XPointer location modules which were removed from the standard
configuration. Going forward, the --with-legacy configuration option
should be used to provide maximum ABI compatibility.

Fixes #433.
2023-08-20 23:16:12 +02:00
Nick Wellnhofer
ce9baf94d5 Remove XMLCALL and XMLCDECL macros from public headers 2022-12-08 02:48:27 +01:00
Nick Wellnhofer
2059df5358 buf: Deprecate static/immutable buffers 2022-11-20 21:16:03 +01:00
Nick Wellnhofer
c2e09f445c Add xmlPopOutputCallbacks
Add function to pop a single set of output callbacks from the stack.
This was only implemented for input callbacks before.

Fixes #135.
2020-02-11 11:32:23 +01:00
Nick Wellnhofer
74a8a91fda Fix a few more typos ("fonction") 2019-09-30 18:05:42 +02:00
Jared Yanovich
2a350ee9b4 Large batch of typo fixes
Closes #109.
2019-09-30 18:04:38 +02:00
Nick Wellnhofer
030b1f7a27 Revert "Add an XML_PARSE_NOXXE flag to block all entities loading even local"
This reverts commit 2304078555.

The new flag doesn't work and the change even broke the XML_PARSE_NONET
option.
2017-06-06 15:53:42 +02:00
Doran Moppert
2304078555 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
2017-04-07 16:55:05 +02:00
Patrick Monnerat
44313c0a7e Shortening lines in headers
no change of semantic
2013-12-12 14:59:18 +08:00
Daniel Veillard
f8e3db0445 Big space and tab cleanup
Remove all space before tabs and space and tabs at end of lines.
2012-09-11 13:26:36 +08:00
Daniel Veillard
e258adecd0 Provide new accessors for xmlOutputBuffer
To avoid digging into buf->buffer insternal strcuture the two
new entry points xmlOutputBufferGetContent() and
xmlOutputBufferGetSize() should make the ode cleaner.

* include/libxml/xmlIO.h: add two new functions
* xmlIO.c: impement the 2 functions based on the new buffer entry points
2012-08-06 11:16:30 +08:00
Daniel Veillard
65c7d3b2e6 Incompatible change to the Input and Output buffers
Since the whole set of structures was public, the only way
to switch to size_t clean buffer is to introduce an incompatible
API change. Modifying the xmlParserInputBuffer and xmlOutputBuffer
structures is the best place to make this change as those
structures are deep into the parser feeding data, and no public
API suggest to build those manually.
2012-07-23 14:24:26 +08:00
Daniel Veillard
9a00fd2991 applied patch from Geert Jansen to implement the save function to a
* xmlsave.c xmlIO.c include/libxml/xmlIO.h include/libxml/xmlsave.h:
  applied patch from Geert Jansen to implement the save function to
  a xmlBuffer, and a bit of cleanup.
Daniel
2005-11-09 08:56:26 +00:00
Daniel Veillard
ffa3c74933 applied a patch from Marcus Boerger to fix problems with calling
* error.c globals.c parser.c runtest.c testHTML.c testSAX.c
  threads.c valid.c xmllint.c xmlreader.c xmlschemas.c xmlstring.c
  xmlwriter.c include/libxml/parser.h include/libxml/relaxng.h
  include/libxml/valid.h include/libxml/xmlIO.h
  include/libxml/xmlerror.h include/libxml/xmlexports.h
  include/libxml/xmlschemas.h: applied a patch from Marcus Boerger
  to fix problems with calling conventions on Windows this should
  fix #309757
Daniel
2005-07-21 13:24:09 +00:00
William M. Brack
21e4ef20f6 Re-examined the problems of configuring a "minimal" library.
Synchronized the header files with the library code in order
to assure that all the various conditionals (LIBXML_xxxx_ENABLED)
were the same in both.  Modified the API database content to more
accurately reflect the conditionals.  Enhanced the generation
of that database.  Although there was no substantial change to
any of the library code's logic, a large number of files were
modified to achieve the above, and the configuration script
was enhanced to do some automatic enabling of features (e.g.
--with-xinclude forces --with-xpath).  Additionally, all the format
errors discovered by apibuild.py were corrected.
* configure.in: enhanced cross-checking of options
* doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml,
  doc/libxml2-api.xml, gentest.py: changed the usage of the
  <cond> element in module descriptions
* elfgcchack.h, testapi.c: regenerated with proper conditionals
* HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c,
  testSAX.c: cleaned up conditionals
* include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h,
  hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h,
  valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]:
  synchronized the conditionals with the corresponding module code
* doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c:
  added additional conditions required for compilation
* doc/*.html, doc/html/*.html: rebuilt the docs
2005-01-02 09:53:13 +00:00
Daniel Veillard
647e39acf6 moved some definitions to globals.h to avoid some troubles pointed out by
* include/libxml/globals.h include/libxml/xmlIO.h
  doc/libxml2-api.xml doc/libxml2-refs.xml: moved some definitions
  to globals.h to avoid some troubles pointed out by Rob Richards
Daniel
2004-06-29 12:54:08 +00:00
Daniel Veillard
1b243b4fc9 applied patch from Rob Richards for the per thread I/O mappings Daniel
* globals.c xmlIO.c include/libxml/globals.h include/libxml/xmlIO.h:
  applied patch from Rob Richards for the per thread I/O mappings
Daniel
2004-06-08 10:16:42 +00:00
Daniel Veillard
ee8960bcab second pass on escaping handling, start to looks better, need to be
* xmlIO.c xmlsave.c include/libxml/xmlIO.h: second pass on escaping
  handling, start to looks better, need to be completed and added
  directly at the saving context level.
Daniel
2004-05-14 03:25:14 +00:00
Daniel Veillard
5d1a4d81bf first pass at refactoring the escape on save routines for better
* xmlIO.c xmlsave.c include/libxml/xmlIO.h: first pass at refactoring
  the escape on save routines for better performances (less malloc)
  and more flexibility using the new saving context. Preliminary
  work, interface will change.
Daniel
2004-05-13 14:31:25 +00:00
Daniel Veillard
aecc0dc1f5 fixes the use of 'list' as a parameter added xmlPopInputCallback for Matt
* valid.c include/libxml/valid.h: fixes the use of 'list' as a parameter
* xmlIO.c include/libxml/xmlIO.h: added xmlPopInputCallback for
  Matt Sergeant
Daniel
2004-05-08 02:32:07 +00:00
Daniel Veillard
3671190b54 added xmlByteConsumed() interface updated the benchmark rebuilt the docs
* parserInternals.c xmlIO.c encoding.c include/libxml/parser.h
  include/libxml/xmlIO.h: added xmlByteConsumed() interface
* doc/*: updated the benchmark rebuilt the docs
* python/tests/Makefile.am python/tests/indexes.py: added a
  specific regression test for xmlByteConsumed()
* include/libxml/encoding.h rngparser.c tree.c: small cleanups
Daniel
2004-02-11 13:25:26 +00:00
Daniel Veillard
be5869729a modified the file header to add more informations, painful... updated to
* include/libxml/*.h include/libxml/*.h.in: modified the file
  header to add more informations, painful...
* genChRanges.py genUnicode.py: updated to generate said changes
  in headers
* doc/apibuild.py: extract headers, add them to libxml2-api.xml
* *.html *.xsl *.xml: updated the stylesheets to flag geprecated
  APIs modules. Updated the stylesheets, some cleanups, regenerated
* doc/html/*.html: regenerated added back book1 and libxml-lib.html
Daniel
2003-11-18 20:56:51 +00:00
Daniel Veillard
a840b69261 Fixed the HTTP<->parser interraction, which should fix 2 long standing
* include/libxml/nanohttp.h include/libxml/parserInternals.h
  include/libxml/xmlIO.h nanohttp.c parserInternals.c xmlIO.c:
  Fixed the HTTP<->parser interraction, which should fix 2 long
  standing bugs #104790 and #124054 , this also fix the fact that
  HTTP error code (> 400) should not generate data, we usually
  don't want to parse the HTML error information instead of the
  resource looked at.
Daniel
2003-10-19 13:35:37 +00:00
Daniel Veillard
97bf4d02e5 better handling of error cases Daniel
* xmlIO.c: better handling of error cases
Daniel
2003-10-08 18:58:28 +00:00
Daniel Veillard
a9cce9cd0d Okay this is scary but it is just adding a configure option to disable
* HTMLtree.c SAX2.c c14n.c catalog.c configure.in debugXML.c
  encoding.c entities.c nanoftp.c nanohttp.c parser.c relaxng.c
  testAutomata.c testC14N.c testHTML.c testRegexp.c testRelax.c
  testSchemas.c testXPath.c threads.c tree.c valid.c xmlIO.c
  xmlcatalog.c xmllint.c xmlmemory.c xmlreader.c xmlschemas.c
  example/gjobread.c include/libxml/HTMLtree.h include/libxml/c14n.h
  include/libxml/catalog.h include/libxml/debugXML.h
  include/libxml/entities.h include/libxml/nanohttp.h
  include/libxml/relaxng.h include/libxml/tree.h
  include/libxml/valid.h include/libxml/xmlIO.h
  include/libxml/xmlschemas.h include/libxml/xmlversion.h.in
  include/libxml/xpathInternals.h python/libxml.c:
  Okay this is scary but it is just adding a configure option
  to disable output, this touches most of the files.
Daniel
2003-09-29 13:20:24 +00:00
Daniel Veillard
5335055ef6 add streaming on memory regression tests, found bad bugs in the reader
* Makefile.am: add streaming on memory regression tests, found
  bad bugs in the reader interface
* xmlreader.c: fixing bugs w.r.t. very large names, and special
  condition in end of file.
* xmlIO.c tree.c include/libxml/tree.h include/libxml/xmlIO.h:
  adding immutable buffers, and parser input based on those,
  but this should not be used (yet) for general parsing
* parser.c: added a comment about using immutable buffers for
  general parsing.
* result/bigname.xml.rdr result/bigname2.xml.rdr: fixing the
  output of the regression tests
* xmllint.c: using the immutable buffers when streaming on
  mmaped file (--stream --memory)
Daniel
2003-09-18 13:35:51 +00:00
William M. Brack
c07329e2ab Implemented detection of compressed files, setting doc->compressed
* xmlIO.c include/libxml/xmlIO.h parser.c: Implemented detection
  of compressed files, setting doc->compressed appropriately
  (bug #120503).
2003-09-08 01:57:30 +00:00
Igor Zlatkovic
aa3cfbd080 realigned parameters after taint 2003-08-27 08:59:58 +00:00
Igor Zlatkovic
76874e4516 Exportability taint of the headers 2003-08-25 09:05:12 +00:00
Igor Zlatkovic
5f9fada355 obsoleted xmlNormalizeWindowsPath 2003-02-19 14:51:00 +00:00
Igor Zlatkovic
7ae91bcd9e retired xmlwin32version.h 2002-11-08 17:18:52 +00:00
Daniel Veillard
e645e8c141 Applied the VMS update patch from Craig A. Berry update Daniel
* vms/build_libxml.com vms/config.vms vms/readme.vms
  include/libxml/parser.h include/libxml/parserInternals.h
  include/libxml/tree.h include/libxml/xmlIO.h
  HTMLparser.c catalog.c debugXML.c parser.c parserInternals.c
  tree.c triodef.h trionan.c uri.c xmlIO.c xpath.c:
  Applied the VMS update patch from Craig A. Berry
* doc/*.html: update
Daniel
2002-10-22 17:35:37 +00:00
Daniel Veillard
819d5cb84d Christian Glahn found a small bug in the push parser. cleaned up and made
* parser.c: Christian Glahn found a small bug in the push parser.
* xmlIO.c include/libxml/xmlIO.h: cleaned up and made xmlCheckFilename
  public
Daniel
2002-10-14 11:15:18 +00:00
Daniel Veillard
f4862f0f36 messing around with support for Windows path, cleanups, trying to identify
* include/libxml/xmlIO.h xmlIO.c parser.c HTMLparser.c DOCBparser.c:
  messing around with support for Windows path, cleanups,
  trying to identify and fix the various code path to the
  filename access. Added xmlNormalizeWindowsPath()
Daniel
2002-09-10 11:13:43 +00:00
Aleksey Sanin
5aac8b85dd exported default 'file:', 'http:' and 'ftp:' protocols input handlers and
* include/libxml/xmlIO.h win32/dsp/libxml2.def.src
win32/libxml2.def.src xmlIO.c: exported default
'file:', 'http:' and 'ftp:' protocols input handlers
and maked protocols comparisson case insensitive
2002-05-01 18:32:28 +00:00
Daniel Veillard
a8a89fe587 Hallski complained it could not be included by itself. Daniel
* include/libxml/xmlIO.h: Hallski complained it could not be
  included by itself.
Daniel
2002-04-12 21:03:34 +00:00
Daniel Veillard
9d06d300a5 Build a new version hopefully near complete and fully documented of the
* doc/libxml2-api.xml doc/parsedecl.py: Build a new version
  hopefully near complete and fully documented of the API in XML
* HTMLtree.c SAX.c debugXML.c error.c globals.c parser.c tree.c
 xmlIO.c xmlmemory.c include/libxml/catalog.h include/libxml/hash.h
 include/libxml/list.h include/libxml/parser.h include/libxml/tree.h
 include/libxml/parserInternals.h include/libxml/valid.hi
 include/libxml/xmlIO.h include/libxml/xmlerror.hi
 include/libxml/xmlmemory.h include/libxml/xmlversion.h.ini
 include/libxml/xpath.h include/libxml/xpathInternals.h:
  Cleaned up the doc comments a lot in the process, the interface
  coverage is now 100%
Daniel
2002-01-22 18:15:52 +00:00
CET 2001 Daniel Veillard
5a37bde34b more include cleanups, export cleanly one html output + format function.
Thu Nov  1 15:29:31 CET 2001 Daniel Veillard <daniel@veillard.com>

	* HTMLtree.c tree.c include/libxml/HTMLtree.h
	  include/libxml/tree.h include/libxml/xmlIO.h: more include
	  cleanups, export cleanly one html output + format function.

Thu Nov  1 14:12:12 CET 2001 Daniel Veillard <daniel@veillard.com>

	* parser.c: removed initGenericErrorDefaultFunc call from
	  xmlInitParser() since it could destroy previous calls to
	  xsltSetGenericErrorFunc() effects
Daniel
2001-11-01 14:31:22 +00:00
Daniel Veillard
8bdb91dd5c cleanup cleanup too added xmlNoNetExternalEntityLoader() from xsltproc
* Makefile.am: cleanup
* threads.c: cleanup too
* xmlIO.c include/libxml/xmlIO.h: added xmlNoNetExternalEntityLoader()
  from xsltproc
* include/libxml/tree.h include/libxml/parser.h: trying to break a
  dependancy loop.
Daniel
2001-10-31 17:52:43 +00:00