ANNOUNCE: DJGPP port of Libxslt 1.1.35 uploaded

1 view
Skip to first unread message

Juan Manuel Guerrero ( [via]

May 16, 2022, 2:30:19 PM5/16/22
This is a port of Libxslt 1.1.35 to MSDOS/DJGPP.

Libxslt is the XSLT C library developed for the GNOME project. XSLT
itself is a an XML language to define transformation for XML.
Libxslt is based on libxml2. It also implements most of the EXSLT set
of processor-portable extensions functions and some of Saxon's
evaluate and expressions extensions.

DJGPP specific changes.

- There are no user visible changes. Only small changes have been
done to get the test suite running due to DOS style EOL issues.

- To configure, compile and use this library, a working port of
libxml2 must be installed. The latest port is available from and mirrors as:
This means that all ports on which depends must also be
installed in the DJGPP installation used.

- The documentation is only available as a large set of html documents
and their file names are not 8.3 clean. You will need LFN support
to install them, although I do not know if html formated
documentation makes any sense on plain DOS.

- The port has been configured and compiled on WinXP SP3, Win98SE and
MS-DOS 7.10 with DOSLFN 0.41c. There is no guarantee that this may
be possible with any other DOS-like OS. Due to the use of long file
names it will not be possible to configure and compile without LFN
support. The port has been compiled using gcc346 and bnu2351b.

As usual, all djgpp specific files (diffs, README files, etc.) are
stored in the "djgpp" directory. The sources have been configured to
be build in the "0build" directory. If for some reason it does not
work for you, delete it contents and configure from scratch again.

Please read the docs to become familiar with this product.

Here is an extract of the NEWS file showing the user visible changes
from the last port (Libxslt 1.1.33) to this one:


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
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), Invoke PKG_CHECK_MODULES for building shared
libraries (Hugh McMaster), Conditionally determine
whether xml2-config should pass shared libraries or static libraries
(Hugh McMaster), Fix broken --prefix=DIR support (Hugh
McMaster), Do not expose private library dependencies
unless invoked (Hugh McMaster), 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
- 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), Simply handling of $all_flags (Hugh McMaster), Add a --dynamic option to --libs (Hugh McMaster), Simplify basic library handling (Hugh McMaster), 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/ add fuzz.h to sources * python/
there is no more TODO * 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)


The port consists of the usual two packages that have been produced
using djdev205 (CVS repository code) and can be downloaded from and mirrors as (time stamp 2022-05-15):

Libxslt 1.1.35 headers, library and html format documentation:

Libxslt 1.1.35 source:

Send Libxslt specific bug reports to
Send suggestions and bug reports concerning the DJGPP port
to comp.os.msdos.djgpp or <>.


Guerrero, Juan Manuel <>

Reply all
Reply to author
0 new messages