Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package expat for openSUSE:Factory checked in at 2024-09-06 17:18:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/expat (Old) and /work/SRC/openSUSE:Factory/.expat.new.10096 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "expat" Fri Sep 6 17:18:13 2024 rev:76 rq:1198950 version:2.6.3 Changes: -------- --- /work/SRC/openSUSE:Factory/expat/expat.changes 2024-03-17 22:13:35.583092924 +0100 +++ /work/SRC/openSUSE:Factory/.expat.new.10096/expat.changes 2024-09-06 17:18:29.207746280 +0200 @@ -1,0 +2,43 @@ +Thu Sep 5 09:21:17 UTC 2024 - David Anes <[email protected]> + +- Update to 2.6.3: + * Security fixes: + - CVE-2024-45490, bsc#1229930 -- Calling function XML_ParseBuffer with + len < 0 without noticing and then calling XML_GetBuffer + will have XML_ParseBuffer fail to recognize the problem + and XML_GetBuffer corrupt memory. + With the fix, XML_ParseBuffer now complains with error + XML_ERROR_INVALID_ARGUMENT just like sibling XML_Parse + has been doing since Expat 2.2.1, and now documented. + Impact is denial of service to potentially artitrary code + execution. + - CVE-2024-45491, bsc#1229931 -- Internal function dtdCopy can have an + integer overflow for nDefaultAtts on 32-bit platforms + (where UINT_MAX equals SIZE_MAX). + Impact is denial of service to potentially artitrary code + execution. + - CVE-2024-45492, bsc#1229932 -- Internal function nextScaffoldPart can + have an integer overflow for m_groupSize on 32-bit + platforms (where UINT_MAX equals SIZE_MAX). + Impact is denial of service to potentially artitrary code + execution. + + * Other changes: + - Autotools: Sync CMake templates with CMake 3.28 + - Autotools: Always provide path to find(1) for portability + - Autotools: Ensure that the m4 directory always exists. + - Autotools: Simplify handling of SIZEOF_VOID_P + - Autotools: Support non-GNU sed + - Autotools|CMake: Fix main() to main(void) + - Autotools|CMake: Fix compile tests for HAVE_SYSCALL_GETRANDOM + - Autotools|CMake: Stop requiring dos2unix + - CMake: Fix check for symbols size_t and off_t + - docs|tests: Convert README to Markdown and update + - Windows: Drop support for Visual Studio <=15.0/2017 + - Drop needless XML_DTD guards around is_param access + - Fix typo in a code comment + - Version info bumped from 10:2:9 (libexpat*.so.1.9.2) + to 10:3:9 (libexpat*.so.1.9.3); see https://verbump.de/ + for what these numbers do + +------------------------------------------------------------------- Old: ---- expat-2.6.2.tar.xz expat-2.6.2.tar.xz.asc New: ---- expat-2.6.3.tar.xz expat-2.6.3.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ expat.spec ++++++ --- /var/tmp/diff_new_pack.7HpFiP/_old 2024-09-06 17:18:29.727767888 +0200 +++ /var/tmp/diff_new_pack.7HpFiP/_new 2024-09-06 17:18:29.727767888 +0200 @@ -17,10 +17,10 @@ # -%global unversion 2_6_2 +%global unversion 2_6_3 %define sover 1 Name: expat -Version: 2.6.2 +Version: 2.6.3 Release: 0 Summary: XML Parser Toolkit License: MIT ++++++ expat-2.6.2.tar.xz -> expat-2.6.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/CMake.README new/expat-2.6.3/CMake.README --- old/expat-2.6.2/CMake.README 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/CMake.README 2024-09-04 12:37:12.000000000 +0200 @@ -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.6.2 is the source directory of expat, add a subdirectory +Assuming ~/expat-2.6.3 is the source directory of expat, add a subdirectory build and change into that directory: -~/expat-2.6.2$ mkdir build && cd build -~/expat-2.6.2/build$ +~/expat-2.6.3$ mkdir build && cd build +~/expat-2.6.3/build$ From that directory, call cmake first, then call make, make test and make install in the usual way: -~/expat-2.6.2/build$ cmake .. +~/expat-2.6.3/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.6.2/build +-- Build files have been written to: /home/patrick/expat-2.6.3/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.6.2/build$ make && make test && make install +~/expat-2.6.3/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 @@ -36,7 +36,7 @@ make sure that gcc can be called. On Windows, you also might want to specify a special Generator for CMake: for Visual Studio builds do: -cmake .. -G "Visual Studio 15 2017" && msbuild /m expat.sln +cmake .. -G "Visual Studio 16 2019" && msbuild /m expat.sln for mingw builds do: cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=D:\expat-install && gmake && gmake install diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/CMakeLists.txt new/expat-2.6.3/CMakeLists.txt --- old/expat-2.6.2/CMakeLists.txt 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/CMakeLists.txt 2024-09-04 12:37:12.000000000 +0200 @@ -38,7 +38,7 @@ project(expat VERSION - 2.6.2 + 2.6.3 LANGUAGES C ) @@ -201,8 +201,8 @@ # - https://sourceforge.net/p/predef/wiki/Compilers/ # - https://en.wikipedia.org/wiki/Microsoft_Visual_Studio#History set(_EXPAT_MSVC_REQUIRED_INT 1800) # i.e. 12.0/2013/1800; see PR #426 - set(_EXPAT_MSVC_SUPPORTED_INT 1910) - set(_EXPAT_MSVC_SUPPORTED_DISPLAY "Visual Studio 15.0/2017/${_EXPAT_MSVC_SUPPORTED_INT}") + set(_EXPAT_MSVC_SUPPORTED_INT 1920) + set(_EXPAT_MSVC_SUPPORTED_DISPLAY "Visual Studio 16.0/2019/${_EXPAT_MSVC_SUPPORTED_INT}") if(MSVC_VERSION VERSION_LESS ${_EXPAT_MSVC_SUPPORTED_INT}) if(MSVC_VERSION VERSION_LESS ${_EXPAT_MSVC_REQUIRED_INT}) @@ -466,7 +466,7 @@ endforeach() set(LIBCURRENT 10) # sync -set(LIBREVISION 2) # with +set(LIBREVISION 3) # with set(LIBAGE 9) # configure.ac! math(EXPR LIBCURRENT_MINUS_AGE "${LIBCURRENT} - ${LIBAGE}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/Changes new/expat-2.6.3/Changes --- old/expat-2.6.2/Changes 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/Changes 2024-09-04 12:37:12.000000000 +0200 @@ -30,6 +30,60 @@ !! THANK YOU! Sebastian Pipping -- Berlin, 2024-03-09 !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +Release 2.6.3 Wed September 4 2024 + Security fixes: + #887 #890 CVE-2024-45490 -- Calling function XML_ParseBuffer with + len < 0 without noticing and then calling XML_GetBuffer + will have XML_ParseBuffer fail to recognize the problem + and XML_GetBuffer corrupt memory. + With the fix, XML_ParseBuffer now complains with error + XML_ERROR_INVALID_ARGUMENT just like sibling XML_Parse + has been doing since Expat 2.2.1, and now documented. + Impact is denial of service to potentially artitrary code + execution. + #888 #891 CVE-2024-45491 -- Internal function dtdCopy can have an + integer overflow for nDefaultAtts on 32-bit platforms + (where UINT_MAX equals SIZE_MAX). + Impact is denial of service to potentially artitrary code + execution. + #889 #892 CVE-2024-45492 -- Internal function nextScaffoldPart can + have an integer overflow for m_groupSize on 32-bit + platforms (where UINT_MAX equals SIZE_MAX). + Impact is denial of service to potentially artitrary code + execution. + + Other changes: + #851 #879 Autotools: Sync CMake templates with CMake 3.28 + #853 Autotools: Always provide path to find(1) for portability + #861 Autotools: Ensure that the m4 directory always exists. + #870 Autotools: Simplify handling of SIZEOF_VOID_P + #869 Autotools: Support non-GNU sed + #856 Autotools|CMake: Fix main() to main(void) + #865 Autotools|CMake: Fix compile tests for HAVE_SYSCALL_GETRANDOM + #863 Autotools|CMake: Stop requiring dos2unix + #854 #855 CMake: Fix check for symbols size_t and off_t + #864 docs|tests: Convert README to Markdown and update + #741 Windows: Drop support for Visual Studio <=15.0/2017 + #886 Drop needless XML_DTD guards around is_param access + #885 Fix typo in a code comment + #894 #896 Version info bumped from 10:2:9 (libexpat*.so.1.9.2) + to 10:3:9 (libexpat*.so.1.9.3); see https://verbump.de/ + for what these numbers do + + Infrastructure: + #880 Readme: Promote the call for help + #868 CI: Fix various issues + #849 CI: Allow triggering GitHub Actions workflows manually + #851 #872 .. + #873 #879 CI: Adapt to breaking changes in GitHub Actions + + Special thanks to: + Alexander Bluhm + Berkay Eren Ãrün + Dag-Erling Smørgrav + Ferenc Géczi + TaiYou + Release 2.6.2 Wed March 13 2024 Security fixes: #839 #842 CVE-2024-28757 -- Prevent billion laughs attacks with diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/ConfigureChecks.cmake new/expat-2.6.3/ConfigureChecks.cmake --- old/expat-2.6.2/ConfigureChecks.cmake 2023-11-21 16:50:10.000000000 +0100 +++ new/expat-2.6.3/ConfigureChecks.cmake 2024-09-03 18:22:43.000000000 +0200 @@ -46,18 +46,25 @@ endif(WORDS_BIGENDIAN) if(HAVE_SYS_TYPES_H) - check_symbol_exists("off_t" "sys/types.h" off_t) - check_symbol_exists("size_t" "sys/types.h" size_t) -else(HAVE_SYS_TYPES_H) + check_c_source_compiles(" + #include <sys/types.h> + int main(void) { + const off_t offset = -123; + return 0; + }" + HAVE_OFF_T) +endif() + +if(NOT HAVE_OFF_T) set(off_t "long") - set(size_t "unsigned") -endif(HAVE_SYS_TYPES_H) +endif() check_c_source_compiles(" + #define _GNU_SOURCE #include <stdlib.h> /* for NULL */ #include <unistd.h> /* for syscall */ #include <sys/syscall.h> /* for SYS_getrandom */ - int main() { + int main(void) { syscall(SYS_getrandom, NULL, 0, 0); return 0; }" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/Makefile.am new/expat-2.6.3/Makefile.am --- old/expat-2.6.2/Makefile.am 2024-03-13 17:38:03.000000000 +0100 +++ new/expat-2.6.3/Makefile.am 2024-09-04 12:37:12.000000000 +0200 @@ -10,6 +10,8 @@ # Copyright (c) 2018 KangLin <[email protected]> # Copyright (c) 2022 Johnny Jazeix <[email protected]> # Copyright (c) 2023 Sony Corporation / Snild Dolkow <[email protected]> +# Copyright (c) 2024 Alexander Bluhm <[email protected]> +# Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -114,10 +116,10 @@ @echo 'ERROR: is no longer supported. INSTEAD please:' >&2 @echo 'ERROR:' >&2 @echo 'ERROR: * Mass-patch Makefile.am, e.g.' >&2 - @echo 'ERROR: # find -name Makefile.am -exec sed \' >&2 + @echo 'ERROR: # find . -name Makefile.am -exec sed \' >&2 @echo 'ERROR: -e "s,libexpat\.la,libexpatw.la," \' >&2 @echo 'ERROR: -e "s,libexpat_la,libexpatw_la," \' >&2 - @echo 'ERROR: -i {} +' >&2 + @echo 'ERROR: -i.bak {} +' >&2 @echo 'ERROR:' >&2 @echo 'ERROR: * Run automake to re-generate Makefile.in files' >&2 @echo 'ERROR:' >&2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/Makefile.in new/expat-2.6.3/Makefile.in --- old/expat-2.6.2/Makefile.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/Makefile.in 2024-09-04 12:40:44.000000000 +0200 @@ -26,6 +26,8 @@ # Copyright (c) 2018 KangLin <[email protected]> # Copyright (c) 2022 Johnny Jazeix <[email protected]> # Copyright (c) 2023 Sony Corporation / Snild Dolkow <[email protected]> +# Copyright (c) 2024 Alexander Bluhm <[email protected]> +# Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -384,6 +386,7 @@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIZEOF_VOID_P = @SIZEOF_VOID_P@ SO_MAJOR = @SO_MAJOR@ SO_MINOR = @SO_MINOR@ SO_PATCH = @SO_PATCH@ @@ -397,7 +400,6 @@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_cv_sizeof_void_p = @ac_cv_sizeof_void_p@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -1080,10 +1082,10 @@ @echo 'ERROR: is no longer supported. INSTEAD please:' >&2 @echo 'ERROR:' >&2 @echo 'ERROR: * Mass-patch Makefile.am, e.g.' >&2 - @echo 'ERROR: # find -name Makefile.am -exec sed \' >&2 + @echo 'ERROR: # find . -name Makefile.am -exec sed \' >&2 @echo 'ERROR: -e "s,libexpat\.la,libexpatw.la," \' >&2 @echo 'ERROR: -e "s,libexpat_la,libexpatw_la," \' >&2 - @echo 'ERROR: -i {} +' >&2 + @echo 'ERROR: -i.bak {} +' >&2 @echo 'ERROR:' >&2 @echo 'ERROR: * Run automake to re-generate Makefile.in files' >&2 @echo 'ERROR:' >&2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/README.md new/expat-2.6.3/README.md --- old/expat-2.6.2/README.md 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/README.md 2024-09-04 12:37:12.000000000 +0200 @@ -4,8 +4,14 @@ [](https://sourceforge.net/projects/expat/files/) [](https://github.com/libexpat/libexpat/releases) +> [!CAUTION] +> +> Expat is **understaffed** and without funding. +> There is a [call for help with details](https://github.com/libexpat/libexpat/blob/master/expat/Changes) +> at the top of the `Changes` file. -# Expat, Release 2.6.2 + +# Expat, Release 2.6.3 This is Expat, a C99 library for parsing [XML 1.0 Fourth Edition](https://www.w3.org/TR/2006/REC-xml-20060816/), started by @@ -20,7 +26,7 @@ - GNU GCC >=4.5 - LLVM Clang >=3.5 -- Microsoft Visual Studio >=15.0/2017 (rolling `${today} minus 5 years`) +- Microsoft Visual Studio >=16.0/2019 (rolling `${today} minus 5 years`) Windows users can use the [`expat-win32bin-*.*.*.{exe,zip}` download](https://github.com/libexpat/libexpat/releases), @@ -158,10 +164,10 @@ 1. Mass-patch `Makefile.am` files to use `libexpatw.la` for a library name: <br/> - `find -name Makefile.am -exec sed + `find . -name Makefile.am -exec sed -e 's,libexpat\.la,libexpatw.la,' -e 's,libexpat_la,libexpatw_la,' - -i {} +` + -i.bak {} +` 1. Run `automake` to re-write `Makefile.in` files:<br/> `automake` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/buildconf.sh new/expat-2.6.3/buildconf.sh --- old/expat-2.6.2/buildconf.sh 2024-03-08 13:18:14.000000000 +0100 +++ new/expat-2.6.3/buildconf.sh 2024-09-04 12:37:12.000000000 +0200 @@ -8,6 +8,7 @@ # # Copyright (c) 2017-2022 Sebastian Pipping <[email protected]> # Copyright (c) 2018 Marco Maggi <[email protected]> +# Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -31,25 +32,4 @@ set -e -# File expat_config.h.in (as generated by autoheader by autoreconf) contains -# macro SIZEOF_VOID_P which is (1) not really needed by Expat as of today and -# (2) a problem to "multilib" systems with one shared installed -# /usr/include/expat_config.h for two Expats with different "void *" sizes -# installed in e.g. /usr/lib32 and /usr/lib64. Hence we patch macro -# SIZEOF_VOID_P out of template expat_config.h.in so that configure will -# not put SIZEOF_VOID_P in the eventual expat_config.h. -patch_expat_config_h_in() { - local filename="$1" - local sizeof_void_p_line_number="$(grep -F -n SIZEOF_VOID_P "${filename}" | awk -F: '{print $1}')" - [[ ${sizeof_void_p_line_number} =~ ^[0-9]+$ ]] # cheap assert - local first_line_to_delete=$(( sizeof_void_p_line_number - 1 )) - local last_line_to_delete=$(( sizeof_void_p_line_number + 1 )) - # Note: Avoiding "sed -i" only for macOS portability. - local tempfile="$(mktemp)" - sed "${first_line_to_delete},${last_line_to_delete}d" "${filename}" > "${tempfile}" - mv "${tempfile}" "${filename}" -} - -autoreconf --warnings=all --install --verbose "$@" - -patch_expat_config_h_in expat_config.h.in +exec autoreconf --warnings=all --install --verbose "$@" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/cmake/autotools/expat-config-version.cmake.in new/expat-2.6.3/cmake/autotools/expat-config-version.cmake.in --- old/expat-2.6.2/cmake/autotools/expat-config-version.cmake.in 2023-11-21 16:50:10.000000000 +0100 +++ new/expat-2.6.3/cmake/autotools/expat-config-version.cmake.in 2024-09-03 18:22:43.000000000 +0200 @@ -53,13 +53,13 @@ # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@ac_cv_sizeof_void_p@" STREQUAL "") +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@SIZEOF_VOID_P@" STREQUAL "") return() endif() # check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "@ac_cv_sizeof_void_p@") - math(EXPR installedBits "@ac_cv_sizeof_void_p@ * 8") +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "@SIZEOF_VOID_P@") + math(EXPR installedBits "@SIZEOF_VOID_P@ * 8") set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") set(PACKAGE_VERSION_UNSUITABLE TRUE) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/cmake/autotools/expat.cmake new/expat-2.6.3/cmake/autotools/expat.cmake --- old/expat-2.6.2/cmake/autotools/expat.cmake 2024-03-13 17:38:03.000000000 +0100 +++ new/expat-2.6.3/cmake/autotools/expat.cmake 2024-09-03 18:22:43.000000000 +0200 @@ -3,11 +3,11 @@ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) message(FATAL_ERROR "CMake >= 2.8.0 required") endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") +if(CMAKE_VERSION VERSION_LESS "2.8.12") + message(FATAL_ERROR "CMake >= 2.8.12 required") endif() cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.26) +cmake_policy(VERSION 2.8.12...3.28) #---------------------------------------------------------------- # Generated CMake target import file. #---------------------------------------------------------------- @@ -63,10 +63,6 @@ INTERFACE_LINK_LIBRARIES "m" ) -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - # Load information for each installed configuration. file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/expat-*.cmake") foreach(_cmake_config_file IN LISTS _cmake_config_files) @@ -80,9 +76,12 @@ # Loop over all imported files and verify that they actually exist foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file + if(CMAKE_VERSION VERSION_LESS "3.28" + OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target} + OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}") + foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") + if(NOT EXISTS "${_cmake_file}") + message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file \"${_cmake_file}\" but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. @@ -91,8 +90,9 @@ \"${CMAKE_CURRENT_LIST_FILE}\" but not all the files it references. ") - endif() - endforeach() + endif() + endforeach() + endif() unset(_cmake_file) unset("_cmake_import_check_files_for_${_cmake_target}") endforeach() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/configure new/expat-2.6.3/configure --- old/expat-2.6.2/configure 2024-03-13 17:49:06.000000000 +0100 +++ new/expat-2.6.3/configure 2024-09-04 12:40:43.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for expat 2.6.2. +# Generated by GNU Autoconf 2.71 for expat 2.6.3. # # Report bugs to <https://github.com/libexpat/libexpat/issues>. # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='expat' PACKAGE_TARNAME='expat' -PACKAGE_VERSION='2.6.2' -PACKAGE_STRING='expat 2.6.2' +PACKAGE_VERSION='2.6.3' +PACKAGE_STRING='expat 2.6.3' PACKAGE_BUGREPORT='https://github.com/libexpat/libexpat/issues' PACKAGE_URL='' @@ -669,7 +669,7 @@ AM_CXXFLAGS AM_CFLAGS AM_CPPFLAGS -ac_cv_sizeof_void_p +SIZEOF_VOID_P SO_PATCH SO_MINOR SO_MAJOR @@ -1424,7 +1424,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures expat 2.6.2 to adapt to many kinds of systems. +\`configure' configures expat 2.6.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1495,7 +1495,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of expat 2.6.2:";; + short | recursive ) echo "Configuration of expat 2.6.3:";; esac cat <<\_ACEOF @@ -1632,7 +1632,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -expat configure 2.6.2 +expat configure 2.6.3 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2263,7 +2263,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by expat $as_me 2.6.2, which was +It was created by expat $as_me 2.6.3, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3829,7 +3829,7 @@ # Define the identity of the package. PACKAGE='expat' - VERSION='2.6.2' + VERSION='2.6.3' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3960,7 +3960,7 @@ LIBCURRENT=10 # sync -LIBREVISION=2 # with +LIBREVISION=3 # with LIBAGE=9 # CMakeLists.txt! ac_config_headers="$ac_config_headers expat_config.h" @@ -6241,11 +6241,6 @@ lt_cv_sys_max_cmd_len=8192; ;; - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. @@ -18946,16 +18941,6 @@ fi -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes -then : - -else $as_nop - -printf "%s\n" "#define size_t unsigned int" >>confdefs.h - -fi - # Check whether --with-xmlwf was given. @@ -19666,7 +19651,7 @@ #else # include <stdlib.h> /* for arc4random_buf on BSD */ #endif - int main() { + int main(void) { char dummy[123]; // double brackets for m4 arc4random_buf(dummy, 0U); return 0; @@ -19694,7 +19679,7 @@ #else # include <stdlib.h> #endif - int main() { + int main(void) { arc4random(); return 0; } @@ -19736,7 +19721,7 @@ #include <stdlib.h> /* for NULL */ #include <sys/random.h> - int main() { + int main(void) { return getrandom(NULL, 0U, 0U); } @@ -19777,10 +19762,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #define _GNU_SOURCE #include <stdlib.h> /* for NULL */ #include <unistd.h> /* for syscall */ #include <sys/syscall.h> /* for SYS_getrandom */ - int main() { + int main(void) { syscall(SYS_getrandom, NULL, 0, 0); return 0; } @@ -20288,41 +20274,10 @@ SO_MAJOR="$(expr "${LIBCURRENT}" - "${LIBAGE}")" SO_MINOR="${LIBAGE}" SO_PATCH="${LIBREVISION}" -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 -printf %s "checking size of void *... " >&6; } -if test ${ac_cv_sizeof_void_p+y} -then : - printf %s "(cached) " >&6 -else $as_nop - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default" -then : -else $as_nop - if test "$ac_cv_type_void_p" = yes; then - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (void *) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_void_p=0 - fi -fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 -printf "%s\n" "$ac_cv_sizeof_void_p" >&6; } -printf "%s\n" "#define SIZEOF_VOID_P $ac_cv_sizeof_void_p" >>confdefs.h - - # sets ac_cv_sizeof_void_p - - @@ -20332,17 +20287,12 @@ +if ac_fn_c_compute_int "$LINENO" "sizeof(void *)" "SIZEOF_VOID_P" "" +then : +fi -if grep -F -q SIZEOF_VOID_P "${srcdir}"/expat_config.h.in -then : - as_fn_error $? "Plain autoreconf/autoheader does not cut it, - please use ./buildconf.sh or imitate its effect - through other means, so that file expat_config.h.in - no longer defines macro SIZEOF_VOID_P, as that would - break multilib support. Thank you." "$LINENO" 5 -fi @@ -20977,7 +20927,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by expat $as_me 2.6.2, which was +This file was extended by expat $as_me 2.6.3, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21045,7 +20995,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -expat config.status 2.6.2 +expat config.status 2.6.3 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/configure.ac new/expat-2.6.3/configure.ac --- old/expat-2.6.2/configure.ac 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/configure.ac 2024-09-04 12:37:12.000000000 +0200 @@ -22,6 +22,8 @@ dnl Copyright (c) 2019 Mohammed Khajapasha <[email protected]> dnl Copyright (c) 2019 Kishore Kunche <[email protected]> dnl Copyright (c) 2020 Jeffrey Walton <[email protected]> +dnl Copyright (c) 2024 Ferenc Géczi <[email protected]> +dnl Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> dnl Licensed under the MIT license: dnl dnl Permission is hereby granted, free of charge, to any person obtaining @@ -83,7 +85,7 @@ dnl LIBCURRENT=10 # sync -LIBREVISION=2 # with +LIBREVISION=3 # with LIBAGE=9 # CMakeLists.txt! AC_CONFIG_HEADERS([expat_config.h]) @@ -160,7 +162,6 @@ AC_DEFINE_UNQUOTED([BYTEORDER], $BYTEORDER, [1234 = LILENDIAN, 4321 = BIGENDIAN]) AC_C_CONST -AC_TYPE_SIZE_T AC_ARG_WITH([xmlwf], [AS_HELP_STRING([--without-xmlwf], [do not build xmlwf])], @@ -215,7 +216,7 @@ #else # include <stdlib.h> /* for arc4random_buf on BSD */ #endif - int main() { + int main(void) { char dummy[[123]]; // double brackets for m4 arc4random_buf(dummy, 0U); return 0; @@ -232,7 +233,7 @@ #else # include <stdlib.h> #endif - int main() { + int main(void) { arc4random(); return 0; } @@ -254,7 +255,7 @@ AC_LINK_IFELSE([AC_LANG_SOURCE([ #include <stdlib.h> /* for NULL */ #include <sys/random.h> - int main() { + int main(void) { return getrandom(NULL, 0U, 0U); } ])], @@ -275,10 +276,11 @@ AS_IF([test "x$with_sys_getrandom" != xno], [AC_MSG_CHECKING([for syscall SYS_getrandom (Linux 3.17+)]) AC_LINK_IFELSE([AC_LANG_SOURCE([ + #define _GNU_SOURCE #include <stdlib.h> /* for NULL */ #include <unistd.h> /* for syscall */ #include <sys/syscall.h> /* for SYS_getrandom */ - int main() { + int main(void) { syscall(SYS_getrandom, NULL, 0, 0); return 0; } @@ -403,7 +405,6 @@ SO_MAJOR="$(expr "${LIBCURRENT}" - "${LIBAGE}")" SO_MINOR="${LIBAGE}" SO_PATCH="${LIBREVISION}" -AC_CHECK_SIZEOF([void *]) # sets ac_cv_sizeof_void_p AC_SUBST([EXPAT_ATTR_INFO]) AC_SUBST([EXPAT_DTD]) AC_SUBST([EXPAT_LARGE_SIZE]) @@ -416,16 +417,13 @@ AC_SUBST([SO_MAJOR]) AC_SUBST([SO_MINOR]) AC_SUBST([SO_PATCH]) -AC_SUBST([ac_cv_sizeof_void_p]) -dnl Protect against generating an expat_config.h that would break multilib -AS_IF([grep -F -q SIZEOF_VOID_P "${srcdir}"/expat_config.h.in], - [AC_MSG_ERROR( - [Plain autoreconf/autoheader does not cut it, - please use ./buildconf.sh or imitate its effect - through other means, so that file expat_config.h.in - no longer defines macro SIZEOF_VOID_P, as that would - break multilib support. Thank you.])]) +dnl The canonical way of doing this is AC_CHECK_SIZEOF(void *), but +dnl that adds SIZEOF_VOID_P to expat_config.h.in, making it difficult +dnl to have 32-bit and 64-bit versions of libexpat installed on the +dnl same system with a single, shared copy of the header. +AC_COMPUTE_INT(SIZEOF_VOID_P, [sizeof(void *)]) +AC_SUBST([SIZEOF_VOID_P]) dnl write the Automake flags we set AC_SUBST([AM_CPPFLAGS]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/doc/Makefile.am new/expat-2.6.3/doc/Makefile.am --- old/expat-2.6.2/doc/Makefile.am 2024-03-13 17:38:03.000000000 +0100 +++ new/expat-2.6.3/doc/Makefile.am 2024-09-04 12:37:12.000000000 +0200 @@ -9,6 +9,7 @@ # Copyright (c) 2017-2024 Sebastian Pipping <[email protected]> # Copyright (c) 2017 Stephen Groat <[email protected]> # Copyright (c) 2017 Joe Orton <[email protected]> +# Copyright (c) 2024 Tomas Korbar <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/doc/Makefile.in new/expat-2.6.3/doc/Makefile.in --- old/expat-2.6.2/doc/Makefile.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/doc/Makefile.in 2024-09-04 12:40:44.000000000 +0200 @@ -25,6 +25,7 @@ # Copyright (c) 2017-2024 Sebastian Pipping <[email protected]> # Copyright (c) 2017 Stephen Groat <[email protected]> # Copyright (c) 2017 Joe Orton <[email protected]> +# Copyright (c) 2024 Tomas Korbar <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -285,6 +286,7 @@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIZEOF_VOID_P = @SIZEOF_VOID_P@ SO_MAJOR = @SO_MAJOR@ SO_MINOR = @SO_MINOR@ SO_PATCH = @SO_PATCH@ @@ -298,7 +300,6 @@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_cv_sizeof_void_p = @ac_cv_sizeof_void_p@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/doc/reference.html new/expat-2.6.3/doc/reference.html --- old/expat-2.6.2/doc/reference.html 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/doc/reference.html 2024-09-04 12:37:12.000000000 +0200 @@ -52,7 +52,7 @@ <div> <h1> The Expat XML Parser - <small>Release 2.6.2</small> + <small>Release 2.6.3</small> </h1> </div> <div class="content"> @@ -319,7 +319,7 @@ Developer Studio installed, you can use CMake to generate a <code>.sln</code> file, e.g. <code> -cmake -G"Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=RelWithDebInfo . +cmake -G"Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=RelWithDebInfo . </code>, and build Expat using <code>msbuild /m expat.sln</code> after.</p> <p>Alternatively, you may download the Win32 binary package that @@ -1135,7 +1135,9 @@ that are part of the document is indicated by <code>len</code>. This means that <code>s</code> doesn't have to be null-terminated. It also means that if <code>len</code> is larger than the number of bytes in the block of -memory that <code>s</code> points at, then a memory fault is likely. The +memory that <code>s</code> points at, then a memory fault is likely. +Negative values for <code>len</code> are rejected since Expat 2.2.1. +The <code>isFinal</code> parameter informs the parser that this is the last piece of the document. Frequently, the last piece is empty (i.e. <code>len</code> is zero.) @@ -1183,11 +1185,17 @@ int isFinal); </pre> <div class="fcndef"> +<p> This is just like <code><a href= "#XML_Parse" >XML_Parse</a></code>, except in this case Expat provides the buffer. By obtaining the buffer from Expat with the <code><a href= "#XML_GetBuffer" >XML_GetBuffer</a></code> function, the application can avoid double copying of the input. +</p> + +<p> +Negative values for <code>len</code> are rejected since Expat 2.6.3. +</p> </div> <h4 id="XML_GetBuffer">XML_GetBuffer</h4> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/doc/xmlwf.1 new/expat-2.6.3/doc/xmlwf.1 --- old/expat-2.6.2/doc/xmlwf.1 2024-03-13 17:49:13.000000000 +0100 +++ new/expat-2.6.3/doc/xmlwf.1 2024-09-04 12:42:16.000000000 +0200 @@ -5,7 +5,7 @@ \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac -.TH XMLWF 1 "March 13, 2024" "" "" +.TH XMLWF 1 "September 4, 2024" "" "" .SH NAME xmlwf \- Determines if an XML document is well-formed .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/doc/xmlwf.xml new/expat-2.6.3/doc/xmlwf.xml --- old/expat-2.6.2/doc/xmlwf.xml 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/doc/xmlwf.xml 2024-09-04 12:37:12.000000000 +0200 @@ -21,7 +21,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ <!ENTITY dhfirstname "<firstname>Scott</firstname>"> <!ENTITY dhsurname "<surname>Bronson</surname>"> - <!ENTITY dhdate "<date>March 13, 2024</date>"> + <!ENTITY dhdate "<date>September 4, 2024</date>"> <!-- Please adjust this^^ date whenever cutting a new release. --> <!ENTITY dhsection "<manvolnum>1</manvolnum>"> <!ENTITY dhemail "<email>[email protected]</email>"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/examples/Makefile.in new/expat-2.6.3/examples/Makefile.in --- old/expat-2.6.2/examples/Makefile.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/examples/Makefile.in 2024-09-04 12:40:44.000000000 +0200 @@ -313,6 +313,7 @@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIZEOF_VOID_P = @SIZEOF_VOID_P@ SO_MAJOR = @SO_MAJOR@ SO_MINOR = @SO_MINOR@ SO_PATCH = @SO_PATCH@ @@ -326,7 +327,6 @@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_cv_sizeof_void_p = @ac_cv_sizeof_void_p@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/expat_config.h new/expat-2.6.3/expat_config.h --- old/expat-2.6.2/expat_config.h 2024-03-13 17:49:12.000000000 +0100 +++ new/expat-2.6.3/expat_config.h 2024-09-04 12:42:15.000000000 +0200 @@ -83,7 +83,7 @@ #define PACKAGE_NAME "expat" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "expat 2.6.2" +#define PACKAGE_STRING "expat 2.6.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "expat" @@ -92,7 +92,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.6.2" +#define PACKAGE_VERSION "2.6.3" /* Define to 1 if all of the C90 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for @@ -100,7 +100,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "2.6.2" +#define VERSION "2.6.3" /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ @@ -140,7 +140,4 @@ /* Define to `long int' if <sys/types.h> does not define. */ /* #undef off_t */ -/* Define to `unsigned int' if <sys/types.h> does not define. */ -/* #undef size_t */ - #endif // ndef EXPAT_CONFIG_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/expat_config.h.cmake new/expat-2.6.3/expat_config.h.cmake --- old/expat-2.6.2/expat_config.h.cmake 2024-03-05 23:16:36.000000000 +0100 +++ new/expat-2.6.3/expat_config.h.cmake 2024-09-03 18:22:43.000000000 +0200 @@ -119,7 +119,4 @@ /* Define to `long' if <sys/types.h> does not define. */ #cmakedefine off_t @off_t@ -/* Define to `unsigned' if <sys/types.h> does not define. */ -#cmakedefine size_t @size_t@ - #endif // ndef EXPAT_CONFIG_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/expat_config.h.in new/expat-2.6.3/expat_config.h.in --- old/expat-2.6.2/expat_config.h.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/expat_config.h.in 2024-09-04 12:42:15.000000000 +0200 @@ -139,7 +139,4 @@ /* Define to `long int' if <sys/types.h> does not define. */ #undef off_t -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t - #endif // ndef EXPAT_CONFIG_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/fix-xmltest-log.sh new/expat-2.6.3/fix-xmltest-log.sh --- old/expat-2.6.2/fix-xmltest-log.sh 2024-03-08 13:18:16.000000000 +0100 +++ new/expat-2.6.3/fix-xmltest-log.sh 2024-09-04 12:37:12.000000000 +0200 @@ -7,6 +7,7 @@ # |_| XML parser # # Copyright (c) 2019-2022 Sebastian Pipping <[email protected]> +# Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -32,10 +33,10 @@ filename="${1:-tests/xmltest.log}" -dos2unix "${filename}" - -tempfile="$(mktemp)" -sed \ +sed -i.bak \ + -e '# convert DOS line endings to Unix without resorting to dos2unix' \ + -e $'s/\r//' \ + \ -e 's/^wine: Call .* msvcrt\.dll\._wperror, aborting$/ibm49i02.dtd: No such file or directory/' \ \ -e '/^wine: /d' \ @@ -46,5 +47,4 @@ -e '/^wine client error:/d' \ -e '/^In ibm\/invalid\/P49\/: Unhandled exception: unimplemented .\+/d' \ \ - "${filename}" > "${tempfile}" -mv "${tempfile}" "${filename}" + "${filename}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/lib/Makefile.in new/expat-2.6.3/lib/Makefile.in --- old/expat-2.6.2/lib/Makefile.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/lib/Makefile.in 2024-09-04 12:40:44.000000000 +0200 @@ -351,6 +351,7 @@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIZEOF_VOID_P = @SIZEOF_VOID_P@ SO_MAJOR = @SO_MAJOR@ SO_MINOR = @SO_MINOR@ SO_PATCH = @SO_PATCH@ @@ -364,7 +365,6 @@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_cv_sizeof_void_p = @ac_cv_sizeof_void_p@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/lib/expat.h new/expat-2.6.3/lib/expat.h --- old/expat-2.6.2/lib/expat.h 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/lib/expat.h 2024-09-04 12:37:12.000000000 +0200 @@ -1066,7 +1066,7 @@ */ #define XML_MAJOR_VERSION 2 #define XML_MINOR_VERSION 6 -#define XML_MICRO_VERSION 2 +#define XML_MICRO_VERSION 3 #ifdef __cplusplus } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/lib/siphash.h new/expat-2.6.3/lib/siphash.h --- old/expat-2.6.2/lib/siphash.h 2024-01-30 02:29:17.000000000 +0100 +++ new/expat-2.6.3/lib/siphash.h 2024-09-03 18:22:43.000000000 +0200 @@ -126,8 +126,7 @@ | ((uint64_t)((p)[4]) << 32) | ((uint64_t)((p)[5]) << 40) \ | ((uint64_t)((p)[6]) << 48) | ((uint64_t)((p)[7]) << 56)) -#define SIPHASH_INITIALIZER \ - { 0, 0, 0, 0, {0}, 0, 0 } +#define SIPHASH_INITIALIZER {0, 0, 0, 0, {0}, 0, 0} struct siphash { uint64_t v0, v1, v2, v3; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/lib/xmlparse.c new/expat-2.6.3/lib/xmlparse.c --- old/expat-2.6.2/lib/xmlparse.c 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/lib/xmlparse.c 2024-09-04 12:37:12.000000000 +0200 @@ -1,4 +1,4 @@ -/* 2a14271ad4d35e82bde8ba210b4edb7998794bcbae54deab114046a300f9639a (2.6.2+) +/* ba4cdf9bdb534f355a9def4c9e25d20ee8e72f95b0a4d930be52e563f5080196 (2.6.3+) __ __ _ ___\ \/ /_ __ __ _| |_ / _ \\ /| '_ \ / _` | __| @@ -39,6 +39,7 @@ Copyright (c) 2022 Sean McBride <[email protected]> Copyright (c) 2023 Owain Davies <[email protected]> Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow <[email protected]> + Copyright (c) 2024 Berkay Eren Ãrün <[email protected]> Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining @@ -294,7 +295,7 @@ The name of the element is stored in both the document and API encodings. The memory buffer 'buf' is a separately-allocated memory area which stores the name. During the XML_Parse()/ - XMLParseBuffer() when the element is open, the memory for the 'raw' + XML_ParseBuffer() when the element is open, the memory for the 'raw' version of the name (in the document encoding) is shared with the document buffer. If the element is open across calls to XML_Parse()/XML_ParseBuffer(), the buffer is re-allocated to @@ -2038,6 +2039,12 @@ if (parser == NULL) return XML_STATUS_ERROR; + + if (len < 0) { + parser->m_errorCode = XML_ERROR_INVALID_ARGUMENT; + return XML_STATUS_ERROR; + } + switch (parser->m_parsingStatus.parsing) { case XML_SUSPENDED: parser->m_errorCode = XML_ERROR_SUSPENDED; @@ -5846,18 +5853,17 @@ /* Set a safe default value in case 'next' does not get set */ next = textStart; -#ifdef XML_DTD if (entity->is_param) { int tok = XmlPrologTok(parser->m_internalEncoding, textStart, textEnd, &next); result = doProlog(parser, parser->m_internalEncoding, textStart, textEnd, tok, next, &next, XML_FALSE, XML_FALSE, XML_ACCOUNT_ENTITY_EXPANSION); - } else -#endif /* XML_DTD */ + } else { result = doContent(parser, parser->m_tagLevel, parser->m_internalEncoding, textStart, textEnd, &next, XML_FALSE, XML_ACCOUNT_ENTITY_EXPANSION); + } if (result == XML_ERROR_NONE) { if (textEnd != next && parser->m_parsingStatus.parsing == XML_SUSPENDED) { @@ -5894,18 +5900,17 @@ /* Set a safe default value in case 'next' does not get set */ next = textStart; -#ifdef XML_DTD if (entity->is_param) { int tok = XmlPrologTok(parser->m_internalEncoding, textStart, textEnd, &next); result = doProlog(parser, parser->m_internalEncoding, textStart, textEnd, tok, next, &next, XML_FALSE, XML_TRUE, XML_ACCOUNT_ENTITY_EXPANSION); - } else -#endif /* XML_DTD */ + } else { result = doContent(parser, openEntity->startTagLevel, parser->m_internalEncoding, textStart, textEnd, &next, XML_FALSE, XML_ACCOUNT_ENTITY_EXPANSION); + } if (result != XML_ERROR_NONE) return result; @@ -5932,7 +5937,6 @@ return XML_ERROR_NONE; } -#ifdef XML_DTD if (entity->is_param) { int tok; parser->m_processor = prologProcessor; @@ -5940,9 +5944,7 @@ return doProlog(parser, parser->m_encoding, s, end, tok, next, nextPtr, (XML_Bool)! parser->m_parsingStatus.finalBuffer, XML_TRUE, XML_ACCOUNT_DIRECT); - } else -#endif /* XML_DTD */ - { + } else { parser->m_processor = contentProcessor; /* see externalEntityContentProcessor vs contentProcessor */ result = doContent(parser, parser->m_parentParser ? 1 : 0, @@ -7016,6 +7018,16 @@ if (! newE) return 0; if (oldE->nDefaultAtts) { + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if ((size_t)oldE->nDefaultAtts + > ((size_t)(-1) / sizeof(DEFAULT_ATTRIBUTE))) { + return 0; + } +#endif newE->defaultAtts = ms->malloc_fcn(oldE->nDefaultAtts * sizeof(DEFAULT_ATTRIBUTE)); if (! newE->defaultAtts) { @@ -7558,6 +7570,15 @@ int next; if (! dtd->scaffIndex) { + /* Detect and prevent integer overflow. + * The preprocessor guard addresses the "always false" warning + * from -Wtype-limits on platforms where + * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */ +#if UINT_MAX >= SIZE_MAX + if (parser->m_groupSize > ((size_t)(-1) / sizeof(int))) { + return -1; + } +#endif dtd->scaffIndex = (int *)MALLOC(parser, parser->m_groupSize * sizeof(int)); if (! dtd->scaffIndex) return -1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/m4/libtool.m4 new/expat-2.6.3/m4/libtool.m4 --- old/expat-2.6.2/m4/libtool.m4 2022-07-27 14:26:46.000000000 +0200 +++ new/expat-2.6.3/m4/libtool.m4 2024-04-23 02:27:36.000000000 +0200 @@ -1719,11 +1719,6 @@ lt_cv_sys_max_cmd_len=8192; ;; - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/tests/Makefile.am new/expat-2.6.3/tests/Makefile.am --- old/expat-2.6.2/tests/Makefile.am 2024-03-13 17:38:03.000000000 +0100 +++ new/expat-2.6.3/tests/Makefile.am 2024-09-04 12:37:12.000000000 +0200 @@ -9,6 +9,7 @@ # Copyright (c) 2017-2024 Sebastian Pipping <[email protected]> # Copyright (c) 2017-2022 Rhodri James <[email protected]> # Copyright (c) 2020 Jeffrey Walton <[email protected]> +# Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -92,7 +93,7 @@ structdata.h \ minicheck.h \ memcheck.h \ - README.txt \ + README.md \ udiffer.py \ xmltest.log.expected \ xmltest.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/tests/Makefile.in new/expat-2.6.3/tests/Makefile.in --- old/expat-2.6.2/tests/Makefile.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/tests/Makefile.in 2024-09-04 12:40:44.000000000 +0200 @@ -25,6 +25,7 @@ # Copyright (c) 2017-2024 Sebastian Pipping <[email protected]> # Copyright (c) 2017-2022 Rhodri James <[email protected]> # Copyright (c) 2020 Jeffrey Walton <[email protected]> +# Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -485,7 +486,7 @@ DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/conftools/depcomp \ - $(top_srcdir)/conftools/test-driver + $(top_srcdir)/conftools/test-driver README.md DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ @@ -602,6 +603,7 @@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIZEOF_VOID_P = @SIZEOF_VOID_P@ SO_MAJOR = @SO_MAJOR@ SO_MINOR = @SO_MINOR@ SO_PATCH = @SO_PATCH@ @@ -615,7 +617,6 @@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_cv_sizeof_void_p = @ac_cv_sizeof_void_p@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -716,7 +717,7 @@ structdata.h \ minicheck.h \ memcheck.h \ - README.txt \ + README.md \ udiffer.py \ xmltest.log.expected \ xmltest.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/tests/README.md new/expat-2.6.3/tests/README.md --- old/expat-2.6.2/tests/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/expat-2.6.3/tests/README.md 2024-09-03 18:22:43.000000000 +0200 @@ -0,0 +1,11 @@ +This directory contains the test suite for Expat. The tests provide +general unit testing and regression coverage. The tests are not +expected to be useful examples of Expat usage; see the +[examples](../examples) directory for that. + +The Expat tests use a partial internal implementation of the +[Check](https://libcheck.github.io/check/) unit testing framework for +C. + +Expat must be built and, on some platforms, installed, before the +tests can be run. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/tests/README.txt new/expat-2.6.3/tests/README.txt --- old/expat-2.6.2/tests/README.txt 2021-05-25 23:37:55.000000000 +0200 +++ new/expat-2.6.3/tests/README.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -This directory contains the (fledgling) test suite for Expat. The -tests provide general unit testing and regression coverage. The tests -are not expected to be useful examples of Expat usage; see the -examples/ directory for that. - -The Expat tests use a partial internal implementation of the "Check" -unit testing framework for C. More information on Check can be found at: - - http://check.sourceforge.net/ - -Expat must be built and, depending on platform, must be installed, before "make check" can be executed. - -This test suite can all change in a later version. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/tests/basic_tests.c new/expat-2.6.3/tests/basic_tests.c --- old/expat-2.6.2/tests/basic_tests.c 2024-03-13 17:38:03.000000000 +0100 +++ new/expat-2.6.3/tests/basic_tests.c 2024-09-03 18:22:43.000000000 +0200 @@ -2804,6 +2804,61 @@ } END_TEST +/* Test XML_Parse for len < 0 */ +START_TEST(test_negative_len_parse) { + const char *const doc = "<root/>"; + for (int isFinal = 0; isFinal < 2; isFinal++) { + set_subtest("isFinal=%d", isFinal); + + XML_Parser parser = XML_ParserCreate(NULL); + + if (XML_GetErrorCode(parser) != XML_ERROR_NONE) + fail("There was not supposed to be any initial parse error."); + + const enum XML_Status status = XML_Parse(parser, doc, -1, isFinal); + + if (status != XML_STATUS_ERROR) + fail("Negative len was expected to fail the parse but did not."); + + if (XML_GetErrorCode(parser) != XML_ERROR_INVALID_ARGUMENT) + fail("Parse error does not match XML_ERROR_INVALID_ARGUMENT."); + + XML_ParserFree(parser); + } +} +END_TEST + +/* Test XML_ParseBuffer for len < 0 */ +START_TEST(test_negative_len_parse_buffer) { + const char *const doc = "<root/>"; + for (int isFinal = 0; isFinal < 2; isFinal++) { + set_subtest("isFinal=%d", isFinal); + + XML_Parser parser = XML_ParserCreate(NULL); + + if (XML_GetErrorCode(parser) != XML_ERROR_NONE) + fail("There was not supposed to be any initial parse error."); + + void *const buffer = XML_GetBuffer(parser, (int)strlen(doc)); + + if (buffer == NULL) + fail("XML_GetBuffer failed."); + + memcpy(buffer, doc, strlen(doc)); + + const enum XML_Status status = XML_ParseBuffer(parser, -1, isFinal); + + if (status != XML_STATUS_ERROR) + fail("Negative len was expected to fail the parse but did not."); + + if (XML_GetErrorCode(parser) != XML_ERROR_INVALID_ARGUMENT) + fail("Parse error does not match XML_ERROR_INVALID_ARGUMENT."); + + XML_ParserFree(parser); + } +} +END_TEST + /* Test odd corners of the XML_GetBuffer interface */ static enum XML_Status get_feature(enum XML_FeatureEnum feature_id, long *presult) { @@ -5955,6 +6010,8 @@ tcase_add_test__ifdef_xml_dtd(tc_basic, test_user_parameters); tcase_add_test__ifdef_xml_dtd(tc_basic, test_ext_entity_ref_parameter); tcase_add_test(tc_basic, test_empty_parse); + tcase_add_test(tc_basic, test_negative_len_parse); + tcase_add_test(tc_basic, test_negative_len_parse_buffer); tcase_add_test(tc_basic, test_get_buffer_1); tcase_add_test(tc_basic, test_get_buffer_2); #if XML_CONTEXT_BYTES > 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/tests/benchmark/Makefile.in new/expat-2.6.3/tests/benchmark/Makefile.in --- old/expat-2.6.2/tests/benchmark/Makefile.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/tests/benchmark/Makefile.in 2024-09-04 12:40:44.000000000 +0200 @@ -303,6 +303,7 @@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIZEOF_VOID_P = @SIZEOF_VOID_P@ SO_MAJOR = @SO_MAJOR@ SO_MINOR = @SO_MINOR@ SO_PATCH = @SO_PATCH@ @@ -316,7 +317,6 @@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_cv_sizeof_void_p = @ac_cv_sizeof_void_p@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/tests/misc_tests.c new/expat-2.6.3/tests/misc_tests.c --- old/expat-2.6.2/tests/misc_tests.c 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/tests/misc_tests.c 2024-09-04 12:37:12.000000000 +0200 @@ -208,7 +208,7 @@ if (! versions_equal(&read_version, &parsed_version)) fail("Version mismatch"); - if (xcstrcmp(version_text, XCS("expat_2.6.2"))) /* needs bump on releases */ + if (xcstrcmp(version_text, XCS("expat_2.6.3"))) /* needs bump on releases */ fail("XML_*_VERSION in expat.h out of sync?\n"); } END_TEST diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/win32/README.txt new/expat-2.6.3/win32/README.txt --- old/expat-2.6.2/win32/README.txt 2024-01-08 23:19:25.000000000 +0100 +++ new/expat-2.6.3/win32/README.txt 2024-07-07 22:44:15.000000000 +0200 @@ -5,13 +5,13 @@ * Cygwin: This follows the Unix build procedures. -* MS Visual Studio 2013, 2015 and 2017: +* MS Visual Studio 2019 and 2022: Use CMake to generate a solution file for Visual Studio, then use msbuild to compile. For example: md build cd build - cmake -G"Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + cmake -G"Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=RelWithDebInfo .. msbuild /m expat.sln * All MS C/C++ compilers: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/win32/build_expat_iss.bat new/expat-2.6.3/win32/build_expat_iss.bat --- old/expat-2.6.2/win32/build_expat_iss.bat 2024-03-08 13:18:29.000000000 +0100 +++ new/expat-2.6.3/win32/build_expat_iss.bat 2024-09-04 12:37:12.000000000 +0200 @@ -7,7 +7,7 @@ REM \___/_/\_\ .__/ \__,_|\__| REM |_| XML parser REM -REM Copyright (c) 2019-2021 Sebastian Pipping <[email protected]> +REM Copyright (c) 2019-2024 Sebastian Pipping <[email protected]> REM Licensed under the MIT license: REM REM Permission is hereby granted, free of charge, to any person obtaining @@ -29,7 +29,7 @@ REM OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE REM USE OR OTHER DEALINGS IN THE SOFTWARE. -SET GENERATOR=Visual Studio 15 2017 +SET GENERATOR=Visual Studio 16 2019 REM Read by msbuild! SET CONFIGURATION=RelWithDebInfo @@ -43,7 +43,7 @@ MD build_shared_char || EXIT /b 1 CD build_shared_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 + cmake -A Win32 -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -53,7 +53,7 @@ MD build_static_char || EXIT /b 1 CD build_static_char || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_SHARED_LIBS=OFF .. || EXIT /b 1 + cmake -A Win32 -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_SHARED_LIBS=OFF .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -63,7 +63,7 @@ MD build_shared_wchar_t || EXIT /b 1 CD build_shared_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1 + cmake -A Win32 -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 @@ -73,7 +73,7 @@ MD build_static_wchar_t || EXIT /b 1 CD build_static_wchar_t || EXIT /b 1 - cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1 + cmake -A Win32 -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_WARNINGS_AS_ERRORS=ON -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1 msbuild /m expat.sln || EXIT /b 1 DIR %CONFIGURATION% || EXIT /b 1 CD .. || EXIT /b 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/win32/expat.iss new/expat-2.6.3/win32/expat.iss --- old/expat-2.6.2/win32/expat.iss 2024-03-13 17:38:11.000000000 +0100 +++ new/expat-2.6.3/win32/expat.iss 2024-09-04 12:37:12.000000000 +0200 @@ -16,6 +16,7 @@ ; Copyright (c) 2006-2017 Karl Waclawek <[email protected]> ; Copyright (c) 2007-2024 Sebastian Pipping <[email protected]> ; Copyright (c) 2022 Johnny Jazeix <[email protected]> +; Copyright (c) 2024 Dag-Erling Smørgrav <[email protected]> ; Licensed under the MIT license: ; ; Permission is hereby granted, free of charge, to any person obtaining @@ -37,7 +38,7 @@ ; OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ; USE OR OTHER DEALINGS IN THE SOFTWARE. -#define expatVer "2.6.2" +#define expatVer "2.6.3" [Setup] AppName=Expat @@ -96,7 +97,7 @@ Flags: ignoreversion; Source: tests\*.c; DestDir: "{app}\Source\tests" Flags: ignoreversion; Source: tests\*.cpp; DestDir: "{app}\Source\tests" Flags: ignoreversion; Source: tests\*.h; DestDir: "{app}\Source\tests" -Flags: ignoreversion; Source: tests\README.txt; DestDir: "{app}\Source\tests" +Flags: ignoreversion; Source: tests\README.md; DestDir: "{app}\Source\tests" Flags: ignoreversion; Source: tests\benchmark\*.c; DestDir: "{app}\Source\tests\benchmark" Flags: ignoreversion; Source: tests\benchmark\README.txt; DestDir: "{app}\Source\tests\benchmark" Flags: ignoreversion; Source: xmlwf\*.c*; DestDir: "{app}\Source\xmlwf" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/expat-2.6.2/xmlwf/Makefile.in new/expat-2.6.3/xmlwf/Makefile.in --- old/expat-2.6.2/xmlwf/Makefile.in 2024-03-13 17:49:07.000000000 +0100 +++ new/expat-2.6.3/xmlwf/Makefile.in 2024-09-04 12:40:44.000000000 +0200 @@ -311,6 +311,7 @@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ +SIZEOF_VOID_P = @SIZEOF_VOID_P@ SO_MAJOR = @SO_MAJOR@ SO_MINOR = @SO_MINOR@ SO_PATCH = @SO_PATCH@ @@ -324,7 +325,6 @@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_cv_sizeof_void_p = @ac_cv_sizeof_void_p@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ ++++++ expat.keyring ++++++ --- /var/tmp/diff_new_pack.7HpFiP/_old 2024-09-06 17:18:29.923776031 +0200 +++ /var/tmp/diff_new_pack.7HpFiP/_new 2024-09-06 17:18:29.927776198 +0200 @@ -1,6 +1,6 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Comment: Hostname: -Version: Hockeypuck 2.1.1-10-gec3b0e7 +Version: Hockeypuck 2.2-27-g4c3b6d7 +Comment: Hostname: butcherbird.keys.gentoo.org xsFNBFzUcE0BEACzkr4qR9zoM63YCJU/oQTJEtt7SR9Hcvntk351O5QQbNJS55Za h+XfiAl1j45yrxP+ve3xU64Cl/GctZMLgkx8Qd3JECZCUkm72cvlBF1bJ0hkvcJR @@ -51,186 +51,339 @@ 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 -=2AOW +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 +RMG1urRiWXyD60r5XbiXN3sPvTdvYkgFKWDQ8WS/+AyewznnU4ZU2eLFYRZi4TWu +gzaZVyAv7CRJi1UMOXSafqW/MlcWlM2Gqw4WhEHX70YKQRJwC2yGWF2P0T3fwsCl +BBABCgBPFiEELBOCO4I3MQ+iEwNJMNEy/w/1DusFAl629s8FgwHhM4ArGmh0dHBz +Oi8vd3d3LmdlbnRvby5vcmcvZ2xlcC9nbGVwLTAwNzkuaHRtbAAKCRAw0TL/D/UO +68YgB/9kV1UOYkFrvukODCz1MMCDfvdDi3i3boOKan8YB6M/0vzkdEYTdwHCmnRT +k3a6gTIFCatCeh76CBoQ5xBdu/qrYYh4DgtGkztjD9SZ9tx3spCFGy1mIldvZ5y2 +RKWIO94CetJ9LjIHqmOczrhdMJloowJc6nXiiJHp7ywv6nhAj3LwkVG/My2BAJuY +VbkmlJ46Et2duNvrKpZnzNATHeUv9N07OT3PhSwvamJ3K1xQx7NgfcjOolH7FMwy +3cQtBZS0QiVqDLga9eQoxM4re2q13ec8oIF8AtgR+G66geiRMuShu8Axe2I0mBZQ +Jt4k9pb5sxk7dPTttUJirCrsHcpkwsClBBABCgBPFiEELBOCO4I3MQ+iEwNJMNEy +/w/1DusFAmCZe7AFgwHhM4ArGmh0dHBzOi8vd3d3LmdlbnRvby5vcmcvZ2xlcC9n +bGVwLTAwNzkuaHRtbAAKCRAw0TL/D/UO6+r2CADB1q1g9jSBvgtoOpRPx9Jr0A4J +YSoFv5cXcOIZVouxICwwczvUxJ2TG9ddVvlBXCcU9NEYLfQtezsfMSrMGoiLdC+n +neDhf8Fw1isc8wK82EO0qf23bu6dw77NzGVj3THrHnyWLLFCNLZJuiXPBFhG2GKw +3PEDjkSAlxTZHeXWuCNzC39f9bcW4G3ftiQQUWArk6PdGIfY+M2zZ3Z/W9+3//UL +GKDf+ws0iG+P/FV/J4eUCeiv5n9D6/DFxcJ2c5HS1LgMJs/j10PZc010Kkm67U2z +BqxLzpyOOGu5yGD7bbDBAUWJYu+yJeN9cP2p0xjpsI0PJAXZ0yF41TghhDmxwsCl +BBABCgBPFiEELBOCO4I3MQ+iEwNJMNEy/w/1DusFAmJ6rzEFgwHhM4ArGmh0dHBz +Oi8vd3d3LmdlbnRvby5vcmcvZ2xlcC9nbGVwLTAwNzkuaHRtbAAKCRAw0TL/D/UO +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 +=5R9m -----END PGP PUBLIC KEY BLOCK-----
