Skip to content

Commit

Permalink
Merge pull request #776 from libexpat/issue-775-prepare-release
Browse files Browse the repository at this point in the history
Prepare release 2.6.0 (part of #775, ETA is 2024-02-07)
  • Loading branch information
hartwork committed Feb 6, 2024
2 parents 8198e4b + 2a10e17 commit 849da3e
Show file tree
Hide file tree
Showing 75 changed files with 237 additions and 101 deletions.
3 changes: 2 additions & 1 deletion .ci.sh
Expand Up @@ -6,9 +6,10 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2017-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2017-2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2017 Rolf Eike Beer <eike@sf-mail.de>
# Copyright (c) 2019 Mohammed Khajapasha <mohammed.khajapasha@intel.com>
# Copyright (c) 2019 Manish, Kumar <manish3.kumar@intel.com>
# Copyright (c) 2019 Philippe Antoine <contact@catenacyber.fr>
# Licensed under the MIT license:
#
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/autotools-cmake.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2021-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/clang-format.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/clang-tidy.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/cmake-required-version.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2021-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/codespell.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/coverage.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2021-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/cppcheck.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2021-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/expat_config_h.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2020-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2020-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fuzzing.yml
Expand Up @@ -5,7 +5,7 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2024 Sebastian Pipping <sebastian@pipping.org>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/linux.yml
Expand Up @@ -5,7 +5,9 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2021-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Copyright (c) 2023 Hanno Böck <hanno@gentoo.org>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/macos.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2020-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2020-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scripts/list_exported_macros.sh
Expand Up @@ -6,7 +6,7 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2020-2021 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2020-2023 Sebastian Pipping <sebastian@pipping.org>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scripts/mass-cppcheck.sh
Expand Up @@ -6,7 +6,7 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2021 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2024 Sebastian Pipping <sebastian@pipping.org>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/valid-xml.yml
Expand Up @@ -5,7 +5,8 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2021-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2021-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2023 Joyce Brum <joycebrum@google.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
2 changes: 2 additions & 0 deletions .mailmap
Expand Up @@ -5,10 +5,12 @@ Franek Korta <fkorta@gmail.com>
Hanno Böck <hanno@gentoo.org>
James Clark <jjc@jclark.com> <jclark@users.sourceforge.net>
José Gutiérrez de la Concha <jose@zeroc.com>
Joyce Brum <joycebrum@google.com>
Karl Waclawek <karl@waclawek.net> <karl.waclawek@qlinesolutions.com>
Karl Waclawek <karl@waclawek.net> <kwaclaw@users.sourceforge.net>
Kishore Kunche <kishore.kunche@intel.com>
Martin Ettl <ettl.martin78@googlemail.com> <orbitcowboy@web.de>
Owain Davies <owaind@bath.edu>
Rhodri James <rhodri@wildebeest.org.uk> <rhodri@kynesim.co.uk>
Rolf Eike Beer <eike@sf-mail.de> <eb@emlix.com>
Sebastian Pipping <sebastian@pipping.org> <hartwork@users.sourceforge.net>
Expand Down
12 changes: 6 additions & 6 deletions expat/CMake.README
Expand Up @@ -3,25 +3,25 @@
The cmake based buildsystem for expat works on Windows (cygwin, mingw, Visual
Studio) and should work on all other platform cmake supports.

Assuming ~/expat-2.5.0 is the source directory of expat, add a subdirectory
Assuming ~/expat-2.6.0 is the source directory of expat, add a subdirectory
build and change into that directory:
~/expat-2.5.0$ mkdir build && cd build
~/expat-2.5.0/build$
~/expat-2.6.0$ mkdir build && cd build
~/expat-2.6.0/build$

From that directory, call cmake first, then call make, make test and
make install in the usual way:
~/expat-2.5.0/build$ cmake ..
~/expat-2.6.0/build$ cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
....
-- Configuring done
-- Generating done
-- Build files have been written to: /home/patrick/expat-2.5.0/build
-- Build files have been written to: /home/patrick/expat-2.6.0/build

If you want to specify the install location for your files, append
-DCMAKE_INSTALL_PREFIX=/your/install/path to the cmake call.

~/expat-2.5.0/build$ make && make test && make install
~/expat-2.6.0/build$ make && make test && make install
Scanning dependencies of target expat
[ 5%] Building C object CMakeFiles/expat.dir/lib/xmlparse.c.o
[ 11%] Building C object CMakeFiles/expat.dir/lib/xmlrole.c.o
Expand Down
12 changes: 6 additions & 6 deletions expat/CMakeLists.txt
Expand Up @@ -7,12 +7,12 @@
#
# Copyright (c) 2010 Patrick Spendrin <ps_ml@gmx.de>
# Copyright (c) 2012 Karl Waclawek <karl@waclawek.net>
# Copyright (c) 2016-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2016-2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2016 Sergei Nikulov <sergey.nikulov@gmail.com>
# Copyright (c) 2016 Björn Lindahl <bjorn.lindahl@foi.se>
# Copyright (c) 2016 Tobias Taschner <github@tc84.de>
# Copyright (c) 2016 Ben Boeckel <ben.boeckel@kitware.com>
# Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
# Copyright (c) 2017-2022 Rhodri James <rhodri@wildebeest.org.uk>
# Copyright (c) 2017 Rolf Eike Beer <eike@sf-mail.de>
# Copyright (c) 2017 Stephen Groat <stephen@groat.us>
# Copyright (c) 2017 Franek Korta <fkorta@gmail.com>
Expand All @@ -38,7 +38,7 @@ cmake_minimum_required(VERSION 3.5.0)

project(expat
VERSION
2.5.0
2.6.0
LANGUAGES
C
)
Expand Down Expand Up @@ -465,9 +465,9 @@ foreach(build_type_upper
set_property(TARGET expat PROPERTY ${build_type_upper}_POSTFIX ${EXPAT_${build_type_upper}_POSTFIX})
endforeach()

set(LIBCURRENT 9) # sync
set(LIBREVISION 10) # with
set(LIBAGE 8) # configure.ac!
set(LIBCURRENT 10) # sync
set(LIBREVISION 0) # with
set(LIBAGE 9) # configure.ac!
math(EXPR LIBCURRENT_MINUS_AGE "${LIBCURRENT} - ${LIBAGE}")

if(NOT WIN32)
Expand Down
110 changes: 108 additions & 2 deletions expat/Changes
Expand Up @@ -2,13 +2,119 @@ NOTE: We are looking for help with a few things:
https://github.com/libexpat/libexpat/labels/help%20wanted
If you can help, please get in touch. Thanks!

Release 2.5.1 xxx xxxxxxx xx xxxx
Release 2.6.0 Tue February 6 2024
Security fixes:
#789 #814 CVE-2023-52425 -- Fix quadratic runtime issues with big tokens
that can cause denial of service, in partial where
dealing with compressed XML input. Applications
that parsed a document in one go -- a single call to
functions XML_Parse or XML_ParseBuffer -- were not affected.
The smaller the chunks/buffers you use for parsing
previously, the bigger the problem prior to the fix.
Backporters should be careful to no omit parts of
pull request #789 and to include earlier pull request #771,
in order to not break the fix.
#777 CVE-2023-52426 -- Fix billion laughs attacks for users
compiling *without* XML_DTD defined (which is not common).
Users with XML_DTD defined have been protected since
Expat >=2.4.0 (and that was CVE-2013-0340 back then).

Bug fixes:
#753 Fix parse-size-dependent "invalid token" error for
external entities that start with a byte order mark
#780 Fix NULL pointer dereference in setContext via
XML_ExternalEntityParserCreate for compilation with
XML_DTD undefined
#812 #813 Protect against closing entities out of order

Other changes:
#723 Improve support for arc4random/arc4random_buf
#771 #788 Improve buffer growth in XML_GetBuffer and XML_Parse
#761 #770 xmlwf: Support --help and --version
#759 #770 xmlwf: Support custom buffer size for XML_GetBuffer and read
#744 xmlwf: Improve language and URL clickability in help output
#673 examples: Add new example "element_declarations.c"
#678 #706 #733 Autotools: Sync CMake templates with CMake 3.25
#764 Be stricter about macro XML_CONTEXT_BYTES at build time
#765 Make inclusion to expat_config.h consistent
#726 #727 Autotools: configure.ac: Support --disable-maintainer-mode
#678 #705 ..
#706 #733 #792 Autotools: Sync CMake templates with CMake 3.26
#795 Autotools: Make installation of shipped man page doc/xmlwf.1
independent of docbook2man availability
#815 Autotools|CMake: Add missing -DXML_STATIC to pkg-config file
section "Cflags.private" in order to fix compilation
against static libexpat using pkg-config on Windows
#724 #751 Autotools|CMake: Require a C99 compiler
(a de-facto requirement already since Expat 2.2.2 of 2017)
#793 Autotools|CMake: Fix PACKAGE_BUGREPORT variable
#750 #786 Autotools|CMake: Make test suite require a C++11 compiler
#749 CMake: Require CMake >=3.5.0
#672 CMake: Lowercase off_t and size_t to help a bug in Meson
#746 CMake: Sort xmlwf sources alphabetically
#785 CMake|Windows: Fix generation of DLL file version info
#790 CMake: Build tests/benchmark/benchmark.c as well for
a build with -DEXPAT_BUILD_TESTS=ON
#745 #757 docs: Document the importance of isFinal + adjust tests
accordingly
#736 docs: Improve use of "NULL" and "null"
#713 docs: Be specific about version of XML (XML 1.0r4)
and version of C (C99); (XML 1.0r5 will need a sponsor.)
#762 docs: reference.html: Promote function XML_ParseBuffer more
#779 docs: reference.html: Add HTML anchors to XML_* macros
#760 docs: reference.html: Upgrade to OK.css 1.2.0
#763 #739 docs: Fix typos
#696 docs|CI: Use HTTPS URLs instead of HTTP at various places
#669 #670 ..
#692 #703 ..
#733 #772 Address compiler warnings
#798 #800 Address clang-tidy warnings
#775 #776 Version info bumped from 9:10:8 (libexpat*.so.1.8.10)
to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/
for what these numbers do

Infrastructure:
#700 #701 docs: Document security policy in file SECURITY.md
#766 docs: Improve parse buffer variables in-code documentation
#674 #738 ..
#740 #747 ..
#748 #781 #782 Refactor coverage and conformance tests
#714 #716 Refactor debug level variables to unsigned long
#671 Improve handling of empty environment variable value
in function getDebugLevel (without visible user effect)
#755 #774 ..
#758 #783 ..
#784 #787 tests: Improve test coverage with regard to parse chunk size
#660 #797 #801 Fuzzing: Improve fuzzing coverage
#367 #799 Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests
#698 #721 CI: Resolve some Travis CI leftovers
#669 CI: Be robust towards absence of Git tags
#693 #694 CI: Set permissions to "contents: read" for security
#709 CI: Pin all GitHub Actions to specific commits for security
#739 CI: Reject spelling errors using codespell
#798 CI: Enforce clang-tidy clean code
#773 #808 ..
#809 #810 CI: Upgrade Clang from 15 to 18
#796 CI: Start using Clang's Control Flow Integrity sanitizer
#675 #720 #722 CI: Adapt to breaking changes in GitHub Actions Ubuntu images
#689 CI: Adapt to breaking changes in Clang/LLVM Debian packaging
#763 CI: Adapt to breaking changes in codespell
#803 CI: Adapt to breaking changes in Cppcheck

Special thanks to:
Ivan Galkin
Joyce Brum
Philippe Antoine
Rhodri James
Snild Dolkow
spookyahell
Steven Garske
and
Clang AddressSanitizer
Clang UndefinedBehaviorSanitizer
codespell
GCC Farm Project
OSS-Fuzz
Sony Mobile

Release 2.5.0 Tue October 25 2022
Security fixes:
Expand Down
3 changes: 2 additions & 1 deletion expat/Makefile.am
Expand Up @@ -6,9 +6,10 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2017-2021 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2017-2023 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2018 KangLin <kl222@126.com>
# Copyright (c) 2022 Johnny Jazeix <jazeix@gmail.com>
# Copyright (c) 2023 Sony Corporation / Snild Dolkow <snild@sony.com>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down
2 changes: 1 addition & 1 deletion expat/README.md
Expand Up @@ -5,7 +5,7 @@
[![Downloads GitHub](https://img.shields.io/github/downloads/libexpat/libexpat/total?label=Downloads%20GitHub)](https://github.com/libexpat/libexpat/releases)


# Expat, Release 2.5.0
# Expat, Release 2.6.0

This is Expat, a C99 library for parsing
[XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by
Expand Down
2 changes: 1 addition & 1 deletion expat/apply-clang-format.sh
Expand Up @@ -6,7 +6,7 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2019-2022 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2019-2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2022 Rosen Penev <rosenp@gmail.com>
# Licensed under the MIT license:
#
Expand Down
2 changes: 1 addition & 1 deletion expat/apply-clang-tidy.sh
Expand Up @@ -6,7 +6,7 @@
# \___/_/\_\ .__/ \__,_|\__|
# |_| XML parser
#
# Copyright (c) 2024 Sebastian Pipping <sebastian@pipping.org>
# Copyright (c) 2024 Sebastian Pipping <sebastian@pipping.org>
# Licensed under the MIT license:
#
# Permission is hereby granted, free of charge, to any person obtaining
Expand Down

0 comments on commit 849da3e

Please sign in to comment.