diff --git a/NEWS b/NEWS index 7200cd33..609e9615 100644 --- a/NEWS +++ b/NEWS @@ -1,13 +1,176 @@ NEWS file for libxslt - Note that this is automatically generated from the news webpage at: - http://xmlsoft.org/XSLT/news.html - See the git page at https://gitlab.gnome.org/GNOME/libxslt -to get a description of the recent commits.Those are the public releases made: +to get a description of the recent commits. +v1.1.35: Feb 16 2022: + - Security: + [CVE-2021-30560] Fix use-after-free in xsltApplyTemplates + Fix memory leak in xsltDocumentElem (David King) + Fix memory leak in xsltCompileIdKeyPattern (David King) + Fix double-free with stylesheets containing entity nodes + + - Fixed regressions: + Fix performance regression with predicates in patterns + Fix regression in xsltComputeSortResult + + - Bug fixes: + Fix conflict resolution for templates with same priority + Fix xsl:number generating invalid UTF-8 + Support attribute value templates in xsl:sort lang attributes + Don't pass first in twice + Fix quadratic runtime with text and + Don't allow empty EXSLT durations + + - Improvements: + Add xsltproc --huge Argument via libxml XML_PARSE_HUGE (William N. Braswell, Jr.) + + - Tests, code quality, fuzzing: + Remove .travis.yml + Fix some misleading indentation (David King) + Use actual types for templates in struct _xsltStylesheet + Add CI for CMake on MSVC (Markus Rickert) + Check for null pointer before calling freelocale + Add CI test for Python 3 + Don't set maxDepth in XPath contexts + Transfer XPath limits to XPtr context + Stop using maxParserDepth XPath limit + Make long-to-double cast explicit in date.c + Disable LeakSanitizer + Run clang CI tests with -Wimplicit-int-conversion + Fix implicit-int-conversion warning in exslt/crypto.c + Fix clang -Wimplicit-int-conversion warning (David Kilzer) + Fix clang -Wconditional-uninitialized warning in libxslt/numbers.c (David Kilzer) + Fix -Wshadow warnings in libexslt/dynamic.c (David Kilzer) + Also search parent dir for source XML when fuzzing + + - Build system, portability: + Add CMake build files (Markus Rickert) + Initial support for Python 3 (Suleyman Poyraz) + Call ANSI versions of WinAPI functions explicitly + Remove redundant flags from pkg-config files + Suppress automake warning in tests/XSLTMark + Fix linking libexslt dynamic library when using MinGW (Vadim Zeitlin) + Added platform specific path separators (Dmitriy Korovkin) + win32: allow passing *FLAGS on command line + Fix export of xsltExtMarker on Windows (David Kilzer) + Fix redundant includes already in libexslt.h (David Kilzer) + Minor fixes to configure.js + Fix variable syntax in Python configuration + Add new EXSLT string tests to EXTRA_DIST + Fix xml2-config check in configure script + win32: Add configuration for profiler (Chun-wei Fan) + Check whether 'xml2-config --dynamic' is supported + + - Documentation: + Add Makefile rule to regenerate xsltproc.html + Update links + Remove MAINTAINERS + Upload documentation to GitLab Pages + Add documentation in devhelp format + Add --enable-rebuild-docs configure option + Fix libexslt header summaries + Fix validity of tutorial XML (David King) + Use DocBook URL for tutorial DTD (David King) + Update libxslt.doap + Add missing options to xsltproc man page + + + +v1.1.34: Oct 30 2019: + - Documentation: + Fix EXSLT web pages (Nick Wellnhofer), + Regenerate web pages (Nick Wellnhofer), + Fix Git link in news.html (Nick Wellnhofer), + Minor documentation fixes after recent changes (Nick Wellnhofer), + Fix typos (Jan Pokorný), + Regenerate symbols and API docs (Nick Wellnhofer), + Regenerate EXSLT website (Nick Wellnhofer) + + - Portability: + Remove stubs when compiling without debugger or profiler (Nick Wellnhofer), + configure.ac: Invoke PKG_CHECK_MODULES for building shared libraries (Hugh McMaster), + configure.ac: Conditionally determine whether xml2-config should pass shared libraries or static libraries (Hugh McMaster), + xslt-config.in: Fix broken --prefix=DIR support (Hugh McMaster), + libexslt.pc.in: Do not expose private library dependencies unless invoked (Hugh McMaster), + libxslt.pc.in: Do not expose private library dependencies unless invoked (Hugh McMaster), + Fix -Wformat-overflow warning (GCC 9) (Nick Wellnhofer), + Stop including ansidecl.h (Nick Wellnhofer), + Remove WIN32_EXTRA_* variables (Nick Wellnhofer), + Fix vsnprintf in Python bindings on Windows (Nick Wellnhofer), + Build without winsock (Nick Wellnhofer), + Stop redefining snprintf on MinGW (Nick Wellnhofer) + + - Bug Fixes: + xsl:template without name and match attributes should not be allowed (Nikolai Weibull), + Make sure that Python tests exit with error code (Nick Wellnhofer), + Improve handling of invalid UTF-8 in format-number (Nick Wellnhofer), + Fix dangling pointer in xsltCopyText (Nick Wellnhofer), + Fix memory leak in pattern compilation error path (Nick Wellnhofer), + Fix uninitialized read with UTF-8 grouping chars (Nick Wellnhofer), + Fix integer overflow in FORMAT_GYEAR (Nick Wellnhofer), + Fix performance regression with xsl:number (Nick Wellnhofer), + Backup XPath context node in xsltInitCtxtKey (Nick Wellnhofer), + Fix unsigned integer overflow in date.c (Nick Wellnhofer), + Fix insertion of xsl:fallback content (Nick Wellnhofer), + Avoid quadratic behavior in xsltSaveResultTo (Nick Wellnhofer), + Fix numbering in non-Latin scripts (Nick Wellnhofer), + Fix uninitialized read of xsl:number token (Nick Wellnhofer), + Fix integer overflow in _exsltDateDayInWeek (Nick Wellnhofer), + Rework xsltAttrVT allocation (Nick Wellnhofer), + Fix check of xsltTestCompMatch return value (Nick Wellnhofer), + Fix security framework bypass (Nick Wellnhofer), + Use xmlNewTextChild in EXSLT dyn:map (Nick Wellnhofer), + Fix float casts in exsltDateDuration (Nick Wellnhofer), + Always set context node before calling XPath iterators (Nick Wellnhofer), + Fix attribute precedence with xsl:use-attribute-sets (Nick Wellnhofer), + Backup context node in exsltFuncFunctionFunction (Nick Wellnhofer), + Initialize ctxt->output before evaluating global vars (Nick Wellnhofer), + Fix memory leak in EXSLT functions error path (Nick Wellnhofer) + + - Improvements: + Enable continuous integration via GitLab CI (Nick Wellnhofer), + Fix -Wimplicit-fallthrough warnings (Nick Wellnhofer), + Adjust number of API index pages (Nick Wellnhofer), + Make xsltCompileRelativePathPattern non-recursive (Nick Wellnhofer), + Check that crypto:rc4_decrypt produces valid UTF-8 (Nick Wellnhofer), + Avoid recursion in keys.c:skipPredicate (Nick Wellnhofer), + xslt-config.in: Simply handling of $all_flags (Hugh McMaster), + xslt-config.in: Add a --dynamic option to --libs (Hugh McMaster), + xslt-config.in: Simplify basic library handling (Hugh McMaster), + xslt-config.in: Remove unused variable (Hugh McMaster), + xslt-config: Simply handling of --cflags (Hugh McMaster), + Add Travis test with MemorySanitizer (Nick Wellnhofer), + Run Travis ASan tests under Xenial (Nick Wellnhofer), + Improve fuzzers (Nick Wellnhofer), + Always reuse XPath context (Nick Wellnhofer), + Compile with -Wextra (Nick Wellnhofer), + Make profiler support optional (Nick Wellnhofer), + Hide unused code when compiling without debugger (Nick Wellnhofer), + Reorganize fuzzing code (Nick Wellnhofer), + Simplify .gitignore (Nick Wellnhofer), + Optional operation limit (Nick Wellnhofer), + Improve seed corpus and dictionary (Nick Wellnhofer), + Reuse XPath context when compiling stylesheets (Nick Wellnhofer), + Reuse XPath context in dyn:map (Nick Wellnhofer), + Reuse XPath context in saxon:expression (Nick Wellnhofer), + Add libFuzzer targets (Nick Wellnhofer), + Adjust error message in expected test output (Nick Wellnhofer), + Change bug tracker URL (Nick Wellnhofer), + Change git repo URL (Nick Wellnhofer), + Regenerate NEWS (Nick Wellnhofer), + Fix misleading indentation in security.c (Nick Wellnhofer) + + - Cleanups: + Candidate release 1 of libxslt 1.1.34 * doc/xsltproc.xml: moved to new place for docbook stylesheet and work around a missing / inrewrite of docbook xsl catalog in Fedora 30 * tests/fuzz/Makefile.am: add fuzz.h to sources * python/Makefile.am: there is no more TODO * libxslt.spec.in: run make tests instead of check to avoid fuzz in that environment, and drop python TODO (Daniel Veillard), + Remove empty TODO file (Nick Wellnhofer), + Remove generated file libxsltclass.txt from version control (Nick Wellnhofer), + Rebuild docs (Nick Wellnhofer) + + + v1.1.33: Jan 03 2019: - Portability: Variables need 'extern' in static lib on Cygwin (Nick Wellnhofer), diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html index c0e1267b..923c5ef7 100644 --- a/doc/APIchunk0.html +++ b/doc/APIchunk0.html @@ -97,6 +97,7 @@ A:link, A:visited, A:active { text-decoration: underline }
Computes
xsltGetKey
xsltInitCtxtKey
xsltInitCtxtKeys
+
Conflict
_xsltTemplate
Context
_xsltTransformContext
Control
XSLT_TRACE
Convert
xsltNumberFormat
diff --git a/doc/APIchunk9.html b/doc/APIchunk9.html index bf8208e4..4608ece9 100644 --- a/doc/APIchunk9.html +++ b/doc/APIchunk9.html @@ -94,6 +94,7 @@ A:link, A:visited, A:active { text-decoration: underline } xsltSetSortFunc
xsltSetTransformErrorFunc
resets
xsltSetLoaderFunc
+
resolution
_xsltTemplate
resolve
xsltResolveStylesheetAttributeSet
resource
xsltCheckRead
xsltCheckWrite
diff --git a/doc/EXSLT/html/book1.html b/doc/EXSLT/html/book1.html index fbf65ea3..36b3d4f9 100644 --- a/doc/EXSLT/html/book1.html +++ b/doc/EXSLT/html/book1.html @@ -7,4 +7,4 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } - Reference Manual for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for GNOME

Reference Manual for libexslt

API Menu
Related links
API Indexes

Table of Contents

Daniel Veillard

+ Reference Manual for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for GNOME

Reference Manual for libexslt

API Menu
Related links
API Indexes

Table of Contents

  • exslt: main header file
  • exsltexports: macros for marking symbols as exportable/importable.

Daniel Veillard

diff --git a/doc/EXSLT/html/index.html b/doc/EXSLT/html/index.html index fbf65ea3..36b3d4f9 100644 --- a/doc/EXSLT/html/index.html +++ b/doc/EXSLT/html/index.html @@ -7,4 +7,4 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } - Reference Manual for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for GNOME

Reference Manual for libexslt

API Menu
Related links
API Indexes

Table of Contents

Daniel Veillard

+ Reference Manual for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for GNOME

Reference Manual for libexslt

API Menu
Related links
API Indexes

Table of Contents

  • exslt: main header file
  • exsltexports: macros for marking symbols as exportable/importable.

Daniel Veillard

diff --git a/doc/EXSLT/html/libexslt-lib.html b/doc/EXSLT/html/libexslt-lib.html index fbf65ea3..36b3d4f9 100644 --- a/doc/EXSLT/html/libexslt-lib.html +++ b/doc/EXSLT/html/libexslt-lib.html @@ -7,4 +7,4 @@ H1 {font-family: Verdana,Arial,Helvetica} H2 {font-family: Verdana,Arial,Helvetica} H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } - Reference Manual for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for GNOME

Reference Manual for libexslt

API Menu
Related links
API Indexes

Table of Contents

Daniel Veillard

+ Reference Manual for libexslt
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The EXSLT C library for GNOME

Reference Manual for libexslt

API Menu
Related links
API Indexes

Table of Contents

  • exslt: main header file
  • exsltexports: macros for marking symbols as exportable/importable.

Daniel Veillard

diff --git a/doc/devhelp/libxslt-xsltInternals.html b/doc/devhelp/libxslt-xsltInternals.html index 504198c5..31b61e3b 100644 --- a/doc/devhelp/libxslt-xsltInternals.html +++ b/doc/devhelp/libxslt-xsltInternals.html @@ -1039,15 +1039,15 @@ The content of this structure is not made public by the API. xmlHashTablePtr cdataSection : * Global variable or parameters. * xsltStackElemPtr variables : * Template descriptions. * xsltTemplatePtr templates : the ordered list of templates - void * templatesHash : hash table or wherever compiled templates information is stored - void * rootMatch : template based on / - void * keyMatch : template based on key() - void * elemMatch : template based on * - void * attrMatch : template based on @* - void * parentMatch : template based on .. - void * textMatch : template based on text() - void * piMatch : template based on processing-instruction() - void * commentMatch : * Namespace aliases. * NOTE: Not used in the refactored code. * + xmlHashTablePtr templatesHash : hash table or wherever compiled templates information is stored + struct _xsltCompMatch * rootMatch : template based on / + struct _xsltCompMatch * keyMatch : template based on key() + struct _xsltCompMatch * elemMatch : template based on * + struct _xsltCompMatch * attrMatch : template based on @* + struct _xsltCompMatch * parentMatch : template based on .. + struct _xsltCompMatch * textMatch : template based on text() + struct _xsltCompMatch * piMatch : template based on processing-instruction() + struct _xsltCompMatch * commentMatch : * Namespace aliases. * NOTE: Not used in the refactored code. * xmlHashTablePtr nsAliases : * Attribute sets. * xmlHashTablePtr attributeSets : * Namespaces. * TODO: Eliminate this. * xmlHashTablePtr nsHash : the set of namespaces in use: ATTENTION: This is used for execution o @@ -1114,7 +1114,8 @@ The content of this structure is not made public by the API. int templNr : Nb of templates in the stack int templMax : Size of the templtes stack xsltTemplatePtr * templCalledTab : templates called - int * templCountTab : .. and how often + int * templCountTab : .. and how often Conflict resolution + int position } xsltTemplate;

diff --git a/doc/html/libxslt-xsltInternals.html b/doc/html/libxslt-xsltInternals.html index 6322feac..712073e7 100644 --- a/doc/html/libxslt-xsltInternals.html +++ b/doc/html/libxslt-xsltInternals.html @@ -516,15 +516,15 @@ The content of this structure is not made public by the API. xmlHashTablePtr cdataSection : * Global variable or parameters. * xsltStackElemPtr variables : * Template descriptions. * xsltTemplatePtr templates : the ordered list of templates - void * templatesHash : hash table or wherever compiled templat - void * rootMatch : template based on / - void * keyMatch : template based on key() - void * elemMatch : template based on * - void * attrMatch : template based on @* - void * parentMatch : template based on .. - void * textMatch : template based on text() - void * piMatch : template based on processing-instructio - void * commentMatch : * Namespace aliases. * NOTE: Not used in + xmlHashTablePtr templatesHash : hash table or wherever compiled templat + struct _xsltCompMatch * rootMatch : template based on / + struct _xsltCompMatch * keyMatch : template based on key() + struct _xsltCompMatch * elemMatch : template based on * + struct _xsltCompMatch * attrMatch : template based on @* + struct _xsltCompMatch * parentMatch : template based on .. + struct _xsltCompMatch * textMatch : template based on text() + struct _xsltCompMatch * piMatch : template based on processing-instructio + struct _xsltCompMatch * commentMatch : * Namespace aliases. * NOTE: Not used in xmlHashTablePtr nsAliases : * Attribute sets. * xmlHashTablePtr attributeSets : * Namespaces. * TODO: Eliminate this. * xmlHashTablePtr nsHash : the set of namespaces in use: ATTENTION @@ -583,7 +583,8 @@ The content of this structure is not made public by the API. int templNr : Nb of templates in the stack int templMax : Size of the templtes stack xsltTemplatePtr * templCalledTab : templates called - int * templCountTab : .. and how often + int * templCountTab : .. and how often Conflict resolution + int position }

Structure xsltTransformCache

Structure xsltTransformCache
struct _xsltTransformCache { xmlDocPtr RVT int nbRVT diff --git a/doc/libxslt-api.xml b/doc/libxslt-api.xml index ffa1381b..87335ae4 100644 --- a/doc/libxslt-api.xml +++ b/doc/libxslt-api.xml @@ -1377,16 +1377,17 @@ preserve space elements'/> - - - - - - - - - + + + + + + + + - + + diff --git a/doc/libxslt-refs.xml b/doc/libxslt-refs.xml index 25432066..68a5aba5 100644 --- a/doc/libxslt-refs.xml +++ b/doc/libxslt-refs.xml @@ -2702,6 +2702,9 @@ + + + @@ -7091,6 +7094,9 @@ + + + diff --git a/doc/libxslt.xsa b/doc/libxslt.xsa index a4b6d392..7ceeb8e6 100644 --- a/doc/libxslt.xsa +++ b/doc/libxslt.xsa @@ -8,32 +8,97 @@ libxslt - v1.1.33 - Jan 03 2019 - http://xmlsoft.org/XSLT/ - - Portability: - Variables need 'extern' in static lib on Cygwin (Nick Wellnhofer), - Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner), - Fix callback signatures in Python bindings (Nick Wellnhofer), - Fix transform callback signatures (Nick Wellnhofer), - Fix extension callback signatures (Nick Wellnhofer), - Fix deallocator signatures (Nick Wellnhofer), - Fix XPath callback signatures (Nick Wellnhofer), - Fix hash callback signatures (Nick Wellnhofer) + v1.1.34 + Oct 30 2019 + https://gitlab.gnome.org/GNOME/libxslt + - Documentation: + Fix EXSLT web pages (Nick Wellnhofer), + Regenerate web pages (Nick Wellnhofer), + Fix Git link in news.html (Nick Wellnhofer), + Minor documentation fixes after recent changes (Nick Wellnhofer), + Fix typos (Jan Pokorný), + Regenerate symbols and API docs (Nick Wellnhofer), + Regenerate EXSLT website (Nick Wellnhofer) + + - Portability: + Remove stubs when compiling without debugger or profiler (Nick Wellnhofer), + configure.ac: Invoke PKG_CHECK_MODULES for building shared libraries (Hugh McMaster), + configure.ac: Conditionally determine whether xml2-config should pass shared libraries or static libraries (Hugh McMaster), + xslt-config.in: Fix broken --prefix=DIR support (Hugh McMaster), + libexslt.pc.in: Do not expose private library dependencies unless invoked (Hugh McMaster), + libxslt.pc.in: Do not expose private library dependencies unless invoked (Hugh McMaster), + Fix -Wformat-overflow warning (GCC 9) (Nick Wellnhofer), + Stop including ansidecl.h (Nick Wellnhofer), + Remove WIN32_EXTRA_* variables (Nick Wellnhofer), + Fix vsnprintf in Python bindings on Windows (Nick Wellnhofer), + Build without winsock (Nick Wellnhofer), + Stop redefining snprintf on MinGW (Nick Wellnhofer) - Bug Fixes: - Don't cache direct evaluation of patterns with variables (Nick Wellnhofer), - Move function result RVTs to context variable (Nick Wellnhofer), - Fix EXSLT functions returning RVTs from outer scopes (Nick Wellnhofer), - Fix handling of RVTs returned from nested EXSLT functions (Nick Wellnhofer), - Fix typos (Nick Wellnhofer) + xsl:template without name and match attributes should not be allowed (Nikolai Weibull), + Make sure that Python tests exit with error code (Nick Wellnhofer), + Improve handling of invalid UTF-8 in format-number (Nick Wellnhofer), + Fix dangling pointer in xsltCopyText (Nick Wellnhofer), + Fix memory leak in pattern compilation error path (Nick Wellnhofer), + Fix uninitialized read with UTF-8 grouping chars (Nick Wellnhofer), + Fix integer overflow in FORMAT_GYEAR (Nick Wellnhofer), + Fix performance regression with xsl:number (Nick Wellnhofer), + Backup XPath context node in xsltInitCtxtKey (Nick Wellnhofer), + Fix unsigned integer overflow in date.c (Nick Wellnhofer), + Fix insertion of xsl:fallback content (Nick Wellnhofer), + Avoid quadratic behavior in xsltSaveResultTo (Nick Wellnhofer), + Fix numbering in non-Latin scripts (Nick Wellnhofer), + Fix uninitialized read of xsl:number token (Nick Wellnhofer), + Fix integer overflow in _exsltDateDayInWeek (Nick Wellnhofer), + Rework xsltAttrVT allocation (Nick Wellnhofer), + Fix check of xsltTestCompMatch return value (Nick Wellnhofer), + Fix security framework bypass (Nick Wellnhofer), + Use xmlNewTextChild in EXSLT dyn:map (Nick Wellnhofer), + Fix float casts in exsltDateDuration (Nick Wellnhofer), + Always set context node before calling XPath iterators (Nick Wellnhofer), + Fix attribute precedence with xsl:use-attribute-sets (Nick Wellnhofer), + Backup context node in exsltFuncFunctionFunction (Nick Wellnhofer), + Initialize ctxt->output before evaluating global vars (Nick Wellnhofer), + Fix memory leak in EXSLT functions error path (Nick Wellnhofer) - Improvements: - Run Travis ASan tests with "sudo: required" (Nick Wellnhofer) + Enable continuous integration via GitLab CI (Nick Wellnhofer), + Fix -Wimplicit-fallthrough warnings (Nick Wellnhofer), + Adjust number of API index pages (Nick Wellnhofer), + Make xsltCompileRelativePathPattern non-recursive (Nick Wellnhofer), + Check that crypto:rc4_decrypt produces valid UTF-8 (Nick Wellnhofer), + Avoid recursion in keys.c:skipPredicate (Nick Wellnhofer), + xslt-config.in: Simply handling of $all_flags (Hugh McMaster), + xslt-config.in: Add a --dynamic option to --libs (Hugh McMaster), + xslt-config.in: Simplify basic library handling (Hugh McMaster), + xslt-config.in: Remove unused variable (Hugh McMaster), + xslt-config: Simply handling of --cflags (Hugh McMaster), + Add Travis test with MemorySanitizer (Nick Wellnhofer), + Run Travis ASan tests under Xenial (Nick Wellnhofer), + Improve fuzzers (Nick Wellnhofer), + Always reuse XPath context (Nick Wellnhofer), + Compile with -Wextra (Nick Wellnhofer), + Make profiler support optional (Nick Wellnhofer), + Hide unused code when compiling without debugger (Nick Wellnhofer), + Reorganize fuzzing code (Nick Wellnhofer), + Simplify .gitignore (Nick Wellnhofer), + Optional operation limit (Nick Wellnhofer), + Improve seed corpus and dictionary (Nick Wellnhofer), + Reuse XPath context when compiling stylesheets (Nick Wellnhofer), + Reuse XPath context in dyn:map (Nick Wellnhofer), + Reuse XPath context in saxon:expression (Nick Wellnhofer), + Add libFuzzer targets (Nick Wellnhofer), + Adjust error message in expected test output (Nick Wellnhofer), + Change bug tracker URL (Nick Wellnhofer), + Change git repo URL (Nick Wellnhofer), + Regenerate NEWS (Nick Wellnhofer), + Fix misleading indentation in security.c (Nick Wellnhofer) - Cleanups: - Remove doc/libxslt-decl.txt (Nick Wellnhofer), - Docs for 1.1.32 release (Daniel Veillard) + Candidate release 1 of libxslt 1.1.34 * doc/xsltproc.xml: moved to new place for docbook stylesheet and work around a missing / inrewrite of docbook xsl catalog in Fedora 30 * tests/fuzz/Makefile.am: add fuzz.h to sources * python/Makefile.am: there is no more TODO * libxslt.spec.in: run make tests instead of check to avoid fuzz in that environment, and drop python TODO (Daniel Veillard), + Remove empty TODO file (Nick Wellnhofer), + Remove generated file libxsltclass.txt from version control (Nick Wellnhofer), + Rebuild docs (Nick Wellnhofer) diff --git a/doc/news.html b/doc/news.html index a1b7de62..9d2bd1cf 100644 --- a/doc/news.html +++ b/doc/news.html @@ -9,7 +9,85 @@ H3 {font-family: Verdana,Arial,Helvetica} A:link, A:visited, A:active { text-decoration: underline } News
Action against software patentsGNOME2 LogoW3C logoRed Hat Logo
Made with Libxslt Logo

The XSLT C library for GNOME

News

Main Menu
Related links
API Indexes

See the git page -to get a description of the recent commits.

Those are the public releases made:

v1.1.34: Oct 30 2019

    +to get a description of the recent commits.

    v1.1.35: Feb 16 2022

      +
    • Security:
      + [CVE-2021-30560] Fix use-after-free in xsltApplyTemplates
      + Fix memory leak in xsltDocumentElem (David King)
      + Fix memory leak in xsltCompileIdKeyPattern (David King)
      + Fix double-free with stylesheets containing entity nodes
      +
    • + +
    • Fixed regressions:
      + Fix performance regression with predicates in patterns
      + Fix regression in xsltComputeSortResult
      +
    • + +
    • Bug fixes:
      + Fix conflict resolution for templates with same priority
      + Fix xsl:number generating invalid UTF-8
      + Support attribute value templates in xsl:sort lang attributes
      + Don't pass first <xsl:sort> in <xsl:apply-templates> twice
      + Fix quadratic runtime with text and <xsl:message>
      + Don't allow empty EXSLT durations
      +
    • + +
    • Improvements:
      + Add xsltproc --huge Argument via libxml XML_PARSE_HUGE (William N. Braswell, Jr.)
      +
    • + +
    • Tests, code quality, fuzzing:
      + Remove .travis.yml
      + Fix some misleading indentation (David King)
      + Use actual types for templates in struct _xsltStylesheet
      + Add CI for CMake on MSVC (Markus Rickert)
      + Check for null pointer before calling freelocale
      + Add CI test for Python 3
      + Don't set maxDepth in XPath contexts
      + Transfer XPath limits to XPtr context
      + Stop using maxParserDepth XPath limit
      + Make long-to-double cast explicit in date.c
      + Disable LeakSanitizer
      + Run clang CI tests with -Wimplicit-int-conversion
      + Fix implicit-int-conversion warning in exslt/crypto.c
      + Fix clang -Wimplicit-int-conversion warning (David Kilzer)
      + Fix clang -Wconditional-uninitialized warning in libxslt/numbers.c (David Kilzer)
      + Fix -Wshadow warnings in libexslt/dynamic.c (David Kilzer)
      + Also search parent dir for source XML when fuzzing
      +
    • + +
    • Build system, portability:
      + Add CMake build files (Markus Rickert)
      + Initial support for Python 3 (Suleyman Poyraz)
      + Call ANSI versions of WinAPI functions explicitly
      + Remove redundant flags from pkg-config files
      + Suppress automake warning in tests/XSLTMark
      + Fix linking libexslt dynamic library when using MinGW (Vadim Zeitlin)
      + Added platform specific path separators (Dmitriy Korovkin)
      + win32: allow passing *FLAGS on command line
      + Fix export of xsltExtMarker on Windows (David Kilzer)
      + Fix redundant includes already in libexslt.h (David Kilzer)
      + Minor fixes to configure.js
      + Fix variable syntax in Python configuration
      + Add new EXSLT string tests to EXTRA_DIST
      + Fix xml2-config check in configure script
      + win32: Add configuration for profiler (Chun-wei Fan)
      + Check whether 'xml2-config --dynamic' is supported
      +
    • + +
    • Documentation:
      + Add Makefile rule to regenerate xsltproc.html
      + Update links
      + Remove MAINTAINERS
      + Upload documentation to GitLab Pages
      + Add documentation in devhelp format
      + Add --enable-rebuild-docs configure option
      + Fix libexslt header summaries
      + Fix validity of tutorial XML (David King)
      + Use DocBook URL for tutorial DTD (David King)
      + Update libxslt.doap
      + Add missing options to xsltproc man page
      +
    • +

    v1.1.34: Oct 30 2019

    • Documentation:
      Fix EXSLT web pages (Nick Wellnhofer),
      Regenerate web pages (Nick Wellnhofer),
      diff --git a/doc/news.xsl b/doc/news.xsl index 4ec2bc52..5a5b4f2e 100644 --- a/doc/news.xsl +++ b/doc/news.xsl @@ -8,9 +8,6 @@ NEWS file for libxslt - Note that this is automatically generated from the news webpage at: - http://xmlsoft.org/XSLT/news.html - diff --git a/doc/xslt.html b/doc/xslt.html index 7eb919c8..e12e0430 100644 --- a/doc/xslt.html +++ b/doc/xslt.html @@ -302,7 +302,86 @@ platform, get in touch with me to upload the package. I will keep them in the

      See the git page to get a description of the recent commits.

      -

      Those are the public releases made:

      +

      v1.1.35: Feb 16 2022

      +
        +
      • Security:
        + [CVE-2021-30560] Fix use-after-free in xsltApplyTemplates
        + Fix memory leak in xsltDocumentElem (David King)
        + Fix memory leak in xsltCompileIdKeyPattern (David King)
        + Fix double-free with stylesheets containing entity nodes
        +
      • + +
      • Fixed regressions:
        + Fix performance regression with predicates in patterns
        + Fix regression in xsltComputeSortResult
        +
      • + +
      • Bug fixes:
        + Fix conflict resolution for templates with same priority
        + Fix xsl:number generating invalid UTF-8
        + Support attribute value templates in xsl:sort lang attributes
        + Don't pass first <xsl:sort> in <xsl:apply-templates> twice
        + Fix quadratic runtime with text and <xsl:message>
        + Don't allow empty EXSLT durations
        +
      • + +
      • Improvements:
        + Add xsltproc --huge Argument via libxml XML_PARSE_HUGE (William N. Braswell, Jr.)
        +
      • + +
      • Tests, code quality, fuzzing:
        + Remove .travis.yml
        + Fix some misleading indentation (David King)
        + Use actual types for templates in struct _xsltStylesheet
        + Add CI for CMake on MSVC (Markus Rickert)
        + Check for null pointer before calling freelocale
        + Add CI test for Python 3
        + Don't set maxDepth in XPath contexts
        + Transfer XPath limits to XPtr context
        + Stop using maxParserDepth XPath limit
        + Make long-to-double cast explicit in date.c
        + Disable LeakSanitizer
        + Run clang CI tests with -Wimplicit-int-conversion
        + Fix implicit-int-conversion warning in exslt/crypto.c
        + Fix clang -Wimplicit-int-conversion warning (David Kilzer)
        + Fix clang -Wconditional-uninitialized warning in libxslt/numbers.c (David Kilzer)
        + Fix -Wshadow warnings in libexslt/dynamic.c (David Kilzer)
        + Also search parent dir for source XML when fuzzing
        +
      • + +
      • Build system, portability:
        + Add CMake build files (Markus Rickert)
        + Initial support for Python 3 (Suleyman Poyraz)
        + Call ANSI versions of WinAPI functions explicitly
        + Remove redundant flags from pkg-config files
        + Suppress automake warning in tests/XSLTMark
        + Fix linking libexslt dynamic library when using MinGW (Vadim Zeitlin)
        + Added platform specific path separators (Dmitriy Korovkin)
        + win32: allow passing *FLAGS on command line
        + Fix export of xsltExtMarker on Windows (David Kilzer)
        + Fix redundant includes already in libexslt.h (David Kilzer)
        + Minor fixes to configure.js
        + Fix variable syntax in Python configuration
        + Add new EXSLT string tests to EXTRA_DIST
        + Fix xml2-config check in configure script
        + win32: Add configuration for profiler (Chun-wei Fan)
        + Check whether 'xml2-config --dynamic' is supported
        +
      • + +
      • Documentation:
        + Add Makefile rule to regenerate xsltproc.html
        + Update links
        + Remove MAINTAINERS
        + Upload documentation to GitLab Pages
        + Add documentation in devhelp format
        + Add --enable-rebuild-docs configure option
        + Fix libexslt header summaries
        + Fix validity of tutorial XML (David King)
        + Use DocBook URL for tutorial DTD (David King)
        + Update libxslt.doap
        + Add missing options to xsltproc man page
        +
      • +

      v1.1.34: Oct 30 2019

        diff --git a/doc/xsltproc.1 b/doc/xsltproc.1 index bbf4098f..85b7054d 100644 --- a/doc/xsltproc.1 +++ b/doc/xsltproc.1 @@ -400,7 +400,7 @@ More information can be found at .\} \fBlibxml\fR(3) web page -\m[blue]\fB\%http://www.xmlsoft.org/\fR\m[] +\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxslt\fR\m[] .RE .sp .RS 4 diff --git a/doc/xsltproc.html b/doc/xsltproc.html index 8d192236..8206b86c 100644 --- a/doc/xsltproc.html +++ b/doc/xsltproc.html @@ -1,101 +1,138 @@ -xsltproc

        Name

        xsltproc — command line xslt processor

        Synopsis

        xsltproc [[-V] | [-v] | [-o file] | [--timing] | [--repeat] | [--debug] | [--novalid] | [--noout] | [--maxdepth val] | [--html] | [--param name value] | [--stringparam name value] | [--nonet] | [--path paths] | [--load-trace] | [--catalogs] | [--xinclude] | [--profile] | [--dumpextensions] | [--nowrite] | [--nomkdir] | [--writesubtree] | [--nodtdattr]] [stylesheet] [file1] [file2] [....]

        Introduction

        - xsltproc is a command line tool for applying - XSLT stylesheets to XML - documents. It is part of libxslt, the XSLT C - library for GNOME. While it was developed as part of the GNOME project, it - can operate independently of the GNOME desktop. -

        - xsltproc is invoked from the command line with - the name of the stylesheet to be used followed by the name of the file or - files to which the stylesheet is to be applied. It will use the standard - input if a filename provided is - . -

        - If a stylesheet is included in an XML document with a - Stylesheet Processing Instruction, no stylesheet need be named at the - command line. xsltproc will automatically - detect the included stylesheet and use it. -

        - By default, output is to stdout. You can specify a file for output using - the -o option. -

        Command Line Options

        -V or --version
        Show the version of - libxml and libxslt used. -
        - -v or --verbose
        Output each step taken - by xsltproc in processing the stylesheet and the document. -
        - -o or --output file
        Direct output to the file named - file. For multiple outputs, also known as - "chunking", -o directory/ directs the - output files to a specified directory. The directory must already exist. -
        - --timing
        Display the time used for parsing the - stylesheet, parsing the document and applying the stylesheet and saving - the result. Displayed in milliseconds. -
        - --repeat
        Run the transformation 20 times. Used for - timing tests. -
        - --debug
        Output an XML tree of the - transformed document for debugging purposes. -
        - --novalid
        Skip loading the document's DTD. -
        - --noout
        Do not output the result. -
        - --maxdepth value
        Adjust the - maximum depth of the template stack before - libxslt concludes it is in an infinite - loop. The default is 500. -
        - --html
        The input document is an HTML - file. -
        - --param name value
        Pass a parameter of name - name and value - value to the stylesheet. You may pass multiple - name/value pairs up to a maximum of 32. If the value being passed is a - string rather than a node identifier, use - --stringparam instead. -
        - --stringparam name value
        Pass a paramenter of name name and - value value where - value is a string rather than a node - identifier. (Note: The string must be utf-8.)
        - --nonet
        Do not use the Internet to fetch DTD's, - entities or documents. -
        --path paths
        - Use the list (separated by space or column) of filesystem paths - specified by paths to load - DTDs, entities or documents. -
        --load-trace
        - Display to stderr all the documents loaded during the processing. -
        - --catalogs
        Use the SGML catalog specified in - SGML_CATALOG_FILES to resolve the location of - external entities. By default, xsltproc - looks for the catalog specified in - XML_CATALOG_FILES. If that is not specified, it uses - /etc/xml/catalog. -
        - --xinclude
        Process the input document using the - Xinclude specification. More details on this can be found in the Xinclude - specification: http://www.w3.org/TR/xinclude/ -
        - --profile or --norman
        Output profiling - information detailing the amount of time spent in each part of the - stylesheet. This is useful in optimizing stylesheet performance. -
        - --dumpextensions
        Dumps the list of all registered extensions on stdout. -
        - --nowrite
        Refuses to write to any file or resource. -
        - --nomkdir
        Refuses to create directories. -
        - --writesubtree path
        Allow file write only within the - path subtree. -
        - --nodtdattr -
        Do not apply default attributes from the document's - DTD. -

        Return values

        xsltproc's return codes provide information - that can be used when calling it from scripts.

        0: normal

        1: no argument

        2: too many parameters

        3: unknown option

        4: failed to parse the stylesheet

        5: error in the stylesheet

        6: error in one of the documents

        7: unsupported xsl:output method

        8: string parameter contains both quote and double-quotes

        9: internal processing error

        10: processing was stopped by a terminating message

        11: could not write the result to the output file

        More Information

        libxml web page: http://www.xmlsoft.org/

        W3C XSLT page: http://www.w3.org/TR/xslt

        +xsltproc

        Name

        xsltproc — command line XSLT processor

        Synopsis

        xsltproc [[ -V | --version ] [ -v | --verbose ] [{ -o | --output } { FILE | DIRECTORY }] | --timing | --repeat | --debug | --novalid | --noout | --maxdepth VALUE | --maxvars VALUE | --maxparserdepth VALUE | --huge | --seed-rand VALUE | --html | --encoding + ENCODING + | --param + PARAMNAME + PARAMVALUE + | --stringparam + PARAMNAME + PARAMVALUE + | --nonet | --path "PATH(S)" | --load-trace | --catalogs | --xinclude | --xincludestyle | + [ --profile | --norman ] + | --dumpextensions | --nowrite | --nomkdir | --writesubtree PATH | --nodtdattr ] [STYLESHEET] { XML-FILE... | - }

        DESCRIPTION

        + xsltproc is a command line tool for applying XSLT + stylesheets to XML documents. It is part + of libxslt(3), the XSLT C library for GNOME. + While it was developed as part of the GNOME project, it can operate + independently of the GNOME desktop. +

        + xsltproc is invoked from the command line with the name of the + stylesheet to be used followed by the name of the file or files to which + the stylesheet is to be applied. It will use the standard input if a + filename provided is - . +

        + If a stylesheet is included in an XML document with a + Stylesheet Processing Instruction, no stylesheet need to be named at the + command line. xsltproc will automatically detect the included stylesheet + and use it. +

        + By default, output is to stdout. + You can specify a file for output using + the -o or --output option. +

        OPTIONS

        + xsltproc accepts the following options (in alphabetical order): +

        --catalogs

        + Use the SGML catalog specified + in SGML_CATALOG_FILES to resolve the location of + external entities. By default, xsltproc looks for the catalog + specified in XML_CATALOG_FILES. If that is not + specified, it uses /etc/xml/catalog. +

        --debug

        + Output an XML tree of the transformed document + for debugging purposes. +

        --dumpextensions

        + Dumps the list of all registered extensions + on stdout. +

        --html

        The input document is an HTML file.

        --load-trace

        + Display all the documents loaded during the processing + to stderr. +

        --maxdepth VALUE

        + Adjust the maximum depth of the template stack + before libxslt(3) concludes it is in an infinite loop. The default is 3000. +

        --maxvars VALUE

        Maximum number of variables. The default is 15000.

        --maxparserdepth VALUE

        Maximum element nesting level of parsed XML documents. The default is 256.

        --huge

        Relax hardcoded limits of the XML parser by setting the XML_PARSE_HUGE parser option.

        --seed-rand VALUE

        Initialize pseudo random number generator with specific seed.

        --nodtdattr

        + Do not apply default attributes from the + document's DTD. +

        --nomkdir

        Refuses to create directories.

        --nonet

        + Do not use the Internet to fetch DTDs, entities + or documents. +

        --noout

        Do not output the result.

        --novalid

        Skip loading the document's DTD.

        --nowrite

        Refuses to write to any file or resource.

        + -o or --output + FILE | DIRECTORY +

        + Direct output to the given FILE. Using + the option with a DIRECTORY directs the + output files to the specified directory. This can be + useful for multiple outputs (also known as "chunking") or manpage + processing. +

        Important

        + The given directory must already exist. +

        Note

        + Make sure that FILE + and DIRECTORY follow the URI reference + computation as described in RFC 2396 and laters. This means, that + e.g. -o directory will maybe not work, + but -o directory/ will. +

        + --encoding ENCODING +

        + Allow to specify the encoding for the input. +

        + --param PARAMNAME PARAMVALUE +

        +Pass a parameter of name PARAMNAME and value +PARAMVALUE to the stylesheet. You may pass +multiple name/value pairs up to a maximum of 32. If the value being passed +is a string, you can use --stringparam instead, to avoid +additional quote characters that appear in string expressions. Note: +the XPath expression must be UTF-8 encoded. +

        --path "PATH(S)"

        + Use the (space- or colon-separated) list of filesystem paths specified + by PATHS to load DTDs, + entities or documents. Enclose space-separated lists by quotation marks. +

        --profile or --norman

        + Output profiling information detailing the amount of time spent in + each part of the stylesheet. This is useful in optimizing stylesheet + performance. +

        --repeat

        Run the transformation 20 times. Used for timing tests.

        + --stringparam PARAMNAME PARAMVALUE +

        + Pass a parameter of name PARAMNAME and + value PARAMVALUE + where PARAMVALUE is a string rather than a + node identifier. Note: The string + must be UTF-8 encoded. +

        --timing

        + Display the time used for parsing the stylesheet, parsing the document + and applying the stylesheet and saving the result. Displayed in + milliseconds. +

        -v or --verbose

        + Output each step taken by xsltproc in processing the stylesheet + and the document. +

        -V or --version

        + Show the version of libxml(3) and libxslt(3) used. +

        --writesubtree PATH

        + Allow file write only within the PATH + subtree. +

        --xinclude

        + Process the input document using the XInclude specification. More + details on this can be found in the XInclude + specification: http://www.w3.org/TR/xinclude/ +

        --xincludestyle

        Process the stylesheet with XInclude.

        ENVIRONMENT

        SGML_CATALOG_FILES

        SGML catalog behavior can be changed by redirecting + queries to the user's own set of catalogs. This can be done by setting + the SGML_CATALOG_FILES environment variable to a list + of catalogs. An empty one should deactivate loading the + default /etc/sgml/catalog catalog. +

        XML_CATALOG_FILES

        XML catalog behavior can be changed by redirecting + queries to the user's own set of catalogs. This can be done by setting + the XML_CATALOG_FILES environment variable to a list + of catalogs. An empty one should deactivate loading the + default /etc/xml/catalog catalog. +

        DIAGNOSTICS

        + xsltproc return codes provide information that can be used when + calling it from scripts. +

        0

        No error (normal operation)

        1

        No argument

        2

        Too many parameters

        3

        Unknown option

        4

        Failed to parse the stylesheet

        5

        Error in the stylesheet

        6

        Error in one of the documents

        7

        Unsupported xsl:output method

        8

        String parameter contains both quote and double-quotes

        9

        Internal processing error

        10

        Processing was stopped by a terminating message

        11

        Could not write the result to the output file

        SEE ALSO

        libxml(3), libxslt(3) +

        + More information can be found at +

        +