• ANNOUNCE: DJGPP port of GNOME Libxml2 2.10.4 uploaded

    From [via djgpp-announce@delorie.com]" <@21:1/5 to All on Mon Oct 2 19:39:33 2023
    This is a port of GNOME Libxml2 2.10.4 to MSDOS/DJGPP.


    Libxml2 is the XML C parser and toolkit developed for the Gnome project
    (but usable outside of the Gnome platform), it is free software available
    under the MIT License.



    DJGPP specific changes.
    =======================

    - There are no user visible changes. Only small changes have been done
    to get the library compiled, when no socket library like Watt-32 is
    available. Also some minor IO stuff needed to be adjusted.

    - The port has been configured and compiled to provide build-in support
    for zlib and LZMA handling. The required libraries are available as:
    http://ftp.delorie.com/pub/djgpp/current/v2tk/zlb1213b.zip
    and:
    http://ftp.delorie.com/pub/djgpp/current/v2tk/xz-525a.zip
    This means that any application that uses this port requires that these
    ports must also be installed in the DJGPP installation used.

    - If you want to enable either the FTP and/or the HTTP build-in support,
    you will have to install the Watt-32 port and reconfigure and rebuild
    the library from scratch. The port of the Watt-32 library is available
    as:
    http://ftp.delorie.com/pub/djgpp/current/v2tk/wat3211b.zip

    - If you want to enable ICONV build-in support, you will have to install
    the iconv port and configure and rebuild the library.
    The port of the iconv library is available as:
    http://ftp.delorie.com/pub/djgpp/current/v2gnu/licv116b.zip

    - Python support is not supported at all and thus disabled by default.

    - 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.

    - To configure and compile this port at least the following version of
    Bash, Make and pkg-config are required:
    http://ftp.delorie.com/pub/djgpp/current/v2gnu/bsh4428b.zip
    http://ftp.delorie.com/pub/djgpp/current/v2gnu/mak44b.zip
    http://ftp.delorie.com/pub/djgpp/current/v2tk/pkc025b.zip
    No previous versions will work nor are supported. Any future version
    should work.

    - To get the test suite working, the FILES environment variable must
    be set to 35 in config.sys. This is especially required if compiling
    in a DOS-box on Win98SE and later.

    - The port has been configured and compiled on WinXP SP3, Win98SE and
    MS-DOS 6.22 with DOSLFN v0.41f. 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. Especially, the test suite has LFN issues. The port has
    been compiled using gcc346 and bnu2351b.

    - For the people interested in the output of the build process, the
    following output files have been stored in the "djgpp" directory of
    the binary archive:
    _co_log.txt: console output of the configuration step.
    _mo_log.txt: console output of the compilation step.
    _mc_log.txt: console output of the check step.
    _mi_log.txt: console output of the installation step.
    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 its 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 (GNOME Libxml2 2.9.14) to this one:

    -------------------------------------------------------------------------------

    v2.10.4: Apr 11 2023

    ### Security

    - [CVE-2023-29469] Hashing of empty dict strings isn't deterministic
    - [CVE-2023-28484] Fix null deref in xmlSchemaFixupComplexType
    - schemas: Fix null-pointer-deref in xmlSchemaCheckCOSSTDerivedOK

    ### Regressions

    - SAX2: Ignore namespaces in HTML documents
    - io: Fix "buffer full" error with certain buffer sizes


    v2.10.3: Oct 14 2022

    ### Security

    - [CVE-2022-40304] Fix dict corruption caused by entity reference cycles
    - [CVE-2022-40303] Fix integer overflows with XML_PARSE_HUGE
    - Fix overflow check in SAX2.c

    ### Portability

    - win32: Fix build with VS2013

    ### Build system

    - cmake: Set SOVERSION


    v2.10.2: Aug 29 2022

    ### Improvements

    - Remove set-but-unused variable in xmlXPathScanName
    - Silence -Warray-bounds warning

    ### Build system

    - build: require automake-1.16.3 or later (Xi Ruoyao)
    - Remove generated files from distribution

    ### Test suite

    - Don't create missing.xml when running testapi


    v2.10.1: Aug 25 2022

    ### Regressions

    - Fix xmlCtxtReadDoc with encoding

    ### Bug fixes

    - Fix HTML parser with threads and --without-legacy

    ### Build system

    - Fix build with Python 3.10
    - cmake: Disable version script on macOS
    - Remove Makefile rule to build testapi.c

    ### Documentation

    - Switch back to HTML output for API documentation
    - Port doc/examples/index.py to Python 3
    - Fix order of exports in libxml2-api.xml
    - Remove libxml2-refs.xml


    v2.10.0: Aug 17 2022

    ### Breaking changes

    The Docbook parser module and all related symbols habe been removed completely. This was experimental code which never worked and generated a deprecation warning for 15+ years. The library's soname wasn't changed in order to allow seamless upgrades to later versions. If this concerns you, consider bumping soname yourself.

    Some other modules are now disabled by default and will eventually be removed completely:

    - Support for XPointer locations (ranges and points): This was based on
    a W3C specification which never got beyond Working Draft status. To my
    knowledge, there's no software supporting this spec which is still
    maintained. You now have to enable this code by passing the
    `--with-xptr-locs` configuration option. Be warned that this part of
    the code base is buggy and had many security issues in the past.

    - Support for the built-in FTP client (`--with-ftp`).

    - Support for "legacy" functions (`--with-legacy`).

    If you're concerned about ABI stability and haven't disabled these modules already, add the following configuration options or bump soname yourself:

    --with-ftp
    --with-legacy
    --with-xptr-locs

    Several functions of the public API were deprecated. Most of them should be completely unused and will generate a deprecation warning now.

    The autoconf build now uses the sysconfdir variable for the location of
    the default catalog file. The path changed from hardcoded /etc/xml/catalog
    to ${sysconfdir}/xml/catalog. The sysconfdir variable defaults to ${prefix}/etc, prefix defaults to /usr/local, so without other options
    the path becomes /usr/local/etc/xml/catalog. If you want the old behavior, configure with

    --sysconfdir=/etc

    ### Security

    - [CVE-2022-2309] Reset nsNr in xmlCtxtReset
    - Reserve byte for NUL terminator and report errors consistently in xmlBuf and
    xmlBuffer (David Kilzer)
    - Fix missing NUL terminators in xmlBuf and xmlBuffer functions (David Kilzer) - Fix integer overflow in xmlBufferDump() (David Kilzer)
    - xmlBufAvail() should return length without including a byte for NUL
    terminator (David Kilzer)
    - Fix ownership of xmlNodePtr & xmlAttrPtr fields in xmlSetTreeDoc() (David
    Kilzer)
    - Use xmlNewDocText in xmlXIncludeCopyRange
    - Fix use-after-free bugs when calling xmlTextReaderClose() before
    xmlFreeTextReader() on post-validating parser (David Kilzer)
    - Use UPDATE_COMPAT() consistently in buf.c (David Kilzer)
    - fix: xmlXPathParserContext could be double-delete in OOM case. (jinsub ahn)

    ### Removals and deprecations

    - Disable XPointer location support by default
    - Remove outdated xml2Conf.sh
    - Deprecate module init and cleanup functions
    - Remove obsolete XML Software Autoupdate (XSA) file
    - Remove DOCBparser
    - Remove obsolete Python test framework
    - Remove broken VxWorks support
    - Remove broken Mac OS 9 support
    - Remove broken bakefile support
    - Remove broken Visual Studio 2010 support
    - Remove broken Windows CE support
    - Deprecate IDREF-related functions in valid.h
    - Deprecate legacy functions
    - Disable legacy support by default
    - Deprecate all functions in nanoftp.h
    - Disable FTP support by default
    - Add XML_DEPRECATED macro
    - Remove elfgcchack.h

    ### Regressions

    - Skip incorrectly opened HTML comments
    - Restore behavior of htmlDocContentDumpFormatOutput() (David Kilzer)

    ### Bug fixes

    - Fix memory leak with invalid XSD
    - Make XPath depth check work with recursive invocations
    - Fix memory leak in xmlLoadEntityContent error path
    - Avoid double-free if malloc fails in inputPush
    - Properly fold whitespace around the QName value when validating an XSD
    schema. (Damjan Jovanovic)
    - Add whitespace folding for some atomic data types that it's missing on.
    (Damjan Jovanovic)
    - Don't add IDs containing unexpanded entity references

    ### Improvements

    - Avoid calling xmlSetTreeDoc
    - Simplify xmlFreeNode
    - Don't reset nsDef when changing node content
    - Fix unintended fall-through in xmlNodeAddContentLen
    - Remove unused xmlBuf functions (David Kilzer)
    - Implement xpath1() XPointer scheme
    - Add configuration flag for XPointer locations support
    - Fix compiler warnings in Python code
    - Mark more static data as `const` (David Kilzer)
    - Make xmlStaticCopyNode non-recursive
    - Clean up encoding switching code
    - Simplify recursive pthread mutex
    - Use non-recursive mutex in dict.c
    - Fix parser progress checks
    - Avoid arithmetic on freed pointers
    - Improve buffer allocation scheme
    - Remove unneeded #includes
    - Add support for some non-standard escapes in regular expressions. (Damjan
    Jovanovic)
    - htmlParseComment: handle abruptly-closed comments (Mike Dalessio)
    - Add let variable tag support (Oliver Diehl)
    - Add value-of tag support (Oliver Diehl)
    - Remove useless call to xmlRelaxNGCleanupTypes
    - Don't include ICU headers in public headers
    - Update `xmlStrlen()` to use POSIX / ISO C `strlen()` (Mike Dalessio)
    - Fix unused variable warnings with disabled features
    - Only warn on invalid redeclarations of predefined entities
    - Remove unneeded code in xmlreader.c
    - Rework validation context flags

    ### Portability

    - Use NAN/INFINITY if available to init XPath NaN/Inf (Sergey Kosukhin)
    - Fix Python tests on macOS
    - Fix xmlCleanupThreads on Windows
    - Fix reinitialization of library on Windows
    - Don't mix declarations and code in runtest.c
    - Use portable python shebangs (David Seifert)
    - Use critical sections as mutex on Windows
    - Don't set HAVE_WIN32_THREADS in win32config.h
    - Use stdint.h with newer MSVC
    - Remove cruft from win32config.h
    - Remove isinf/isnan emulation in win32config.h
    - Always fopen files with "rb"
    - Remove __DJGPP__ checks
    - Remove useless __CYGWIN__ checks

    ### Build system

    - Don't autogenerate doc/examples/Makefile.am
    - cmake: Install libxml.m4 on UNIX-like platforms (Daniel E)
    - cmake: Use symbol versioning on UNIX-like platforms (Daniel E)
    - Port genUnicode.py to Python 3
    - Port gentest.py to Python 3
    - cmake: Fix build without thread support
    - cmake: Install documentation in CMAKE_INSTALL_DOCDIR
    - cmake: Remove non needed files in docs dir (Daniel E)
    - configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set
    (Christopher Degawa)
    - Move local Autoconf macros into m4 directory
    - Use XML_PRIVATE_LIBS in libxml2_la_LIBADD
    - Update libxml-2.0-uninstalled.pc.in
    - Remove LIBS from XML_PRIVATE_LIBS
    - Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
    - Don't overlink executables
    - cmake: Adjust paths for UNIX or UNIX-like target systems (Daniel Engberg)
    - build: Make use of variables in libxml's pkg-config file (Daniel Engberg)
    - Avoid obsolescent `test -a` constructs (David Seifert)
    - Move AM_MAINTAINER_MODE to AM section
    - configure.ac: make AM_SILENT_RULES([yes]) unconditional (David Seifert)
    - Streamline documentation installation
    - Don't try to recreate COPYING symlink
    - Detect libm using libtool's macros (David Seifert)
    - configure.ac: disable static libraries by default (David Seifert)
    - python/Makefile.am: nest python docs in $(docdir) (David Seifert)
    - python/Makefile.am: rely on global AM_INIT_AUTOMAKE (David Seifert)
    - Makefile.am: install examples more idiomatically (David Seifert)
    - configure.ac: remove useless AC_SUBST (David Seifert)
    - Respect `--sysconfdir` in source files (David Seifert)
    - Ignore configure backup file created by recent autoreconf too (Vadim Zeitlin) - Only install *.html and *.c example files
    - Remove --with-html-dir option
    - Rework documentation build system
    - Remove old website
    - Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings (David Seifert)
    - Update genChRanges.py
    - Update build_glob.py
    - Remove ICONV_CONST test
    - Remove obsolete AC_HEADER checks
    - Don't check for standard C89 library functions
    - Don't check for standard C89 headers
    - Remove special configuration for certain maintainers

    ### Test suite, CI

    - Disable network in API tests
    - testapi: remove leading slash from "/missing.xml" (Mike Gilbert)
    - Build Autotools CI tests out of source tree (VPATH)
    - Add --with-minimum build to CI tests
    - Fix warnings when testing --with-minimum build
    - cmake: Run all tests when threads are disabled
    - Also build CI tests with -Werror
    - Move doc/examples tests to new test suite
    - Simplify 'make check' targets
    - Fix schemas and relaxng tests
    - Remove unused result files
    - Allow missing result files in runtest
    - Move regexp tests to runtest
    - Move SVG tests to runtest.c
    - Move testModule to new test suite
    - Move testThreads to new test suite
    - Remove major parts of old test suite
    - Make testchar return an error on failure (Tony Tascioglu)
    - Add CI job for static build
    - python/tests: open() relative to test scripts (David Seifert)
    - Port some test scripts to Python 3

    ### Documentation

    - Improve documentation of tree manipulation API
    - Update xml2-config man page
    - Consolidate man pages
    - Rename xmlcatalog_man.xml
    - Make examples a standalone HTML page
    - Fix documentation in entities.c
    - Add note about optimization flags


    -------------------------------------------------------------------------------




    The port consists of the usual two packages that have been produced using
    djdev20X (CVS repository code) and can be downloaded from ftp.delorie.com
    and mirrors as (time stamp 2023-05-06):


    GNOME Libxml2 2.10.4 headers, library and html format documentation:
    http://ftp.delorie.com/pub/djgpp/current/v2tk/xml2104b.zip

    GNOME Libxml2 2.10.4 source:
    http://ftp.delorie.com/pub/djgpp/current/v2tk/xml2104s.zip



    Send GNOME Libxml2 specific bug reports to
    <http://bugzilla.gnome.org/buglist.cgi?product=libxml2>.
    Send suggestions and bug reports concerning the DJGPP port
    to comp.os.msdos.djgpp or <djgpp@delorie.com>.


    Enjoy.

    Guerrero, Juan Manuel <juan.guerrero@gmx.de>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)