diff -Nru expat-2.3.0/appveyor.yml expat-2.4.1/appveyor.yml --- expat-2.3.0/appveyor.yml 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/appveyor.yml 2021-05-23 17:56:03.000000000 +0200 @@ -6,8 +6,9 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (C) 2017 José Gutiérrez de la Concha -# Copyright (C) 2017 Expat development team +# Copyright (c) 2017 José Gutiérrez de la Concha +# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017 Franek Korta # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining diff -Nru expat-2.3.0/Brewfile expat-2.4.1/Brewfile --- expat-2.3.0/Brewfile 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/Brewfile 2021-05-23 17:56:03.000000000 +0200 @@ -2,7 +2,6 @@ brew "automake" brew "cmake" brew "coreutils" -brew "cppcheck" brew "docbook2x" brew "dos2unix" brew "findutils" diff -Nru expat-2.3.0/ci_expat_config_h/expat_config_h_cmake__expected.txt expat-2.4.1/ci_expat_config_h/expat_config_h_cmake__expected.txt --- expat-2.3.0/ci_expat_config_h/expat_config_h_cmake__expected.txt 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/ci_expat_config_h/expat_config_h_cmake__expected.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -BYTEORDER -__func__ -HAVE_ARC4RANDOM -HAVE_ARC4RANDOM_BUF -HAVE_DLFCN_H -HAVE_FCNTL_H -HAVE_GETPAGESIZE -HAVE_GETRANDOM -HAVE_INTTYPES_H -HAVE_LIBBSD -HAVE_MEMORY_H -HAVE_MMAP -HAVE_STDINT_H -HAVE_STDLIB_H -HAVE_STRING_H -HAVE_STRINGS_H -HAVE_SYSCALL_GETRANDOM -HAVE_SYS_STAT_H -HAVE_SYS_TYPES_H -HAVE_UNISTD_H -off_t -PACKAGE -PACKAGE_BUGREPORT -PACKAGE_NAME -PACKAGE_STRING -PACKAGE_TARNAME -PACKAGE_URL -PACKAGE_VERSION -size_t -STDC_HEADERS -WORDS_BIGENDIAN -XML_ATTR_INFO -XML_CONTEXT_BYTES -XML_DEV_URANDOM -XML_DTD -XML_NS diff -Nru expat-2.3.0/ci_expat_config_h/expat_config_h_in__expected.txt expat-2.4.1/ci_expat_config_h/expat_config_h_in__expected.txt --- expat-2.3.0/ci_expat_config_h/expat_config_h_in__expected.txt 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/ci_expat_config_h/expat_config_h_in__expected.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -AC_APPLE_UNIVERSAL_BUILD -BYTEORDER -const -HAVE_ARC4RANDOM -HAVE_ARC4RANDOM_BUF -HAVE_DLFCN_H -HAVE_FCNTL_H -HAVE_GETPAGESIZE -HAVE_GETRANDOM -HAVE_INTTYPES_H -HAVE_LIBBSD -HAVE_MEMORY_H -HAVE_MMAP -HAVE_STDINT_H -HAVE_STDLIB_H -HAVE_STRING_H -HAVE_STRINGS_H -HAVE_SYSCALL_GETRANDOM -HAVE_SYS_PARAM_H -HAVE_SYS_STAT_H -HAVE_SYS_TYPES_H -HAVE_UNISTD_H -LT_OBJDIR -off_t -PACKAGE -PACKAGE_BUGREPORT -PACKAGE_NAME -PACKAGE_STRING -PACKAGE_TARNAME -PACKAGE_URL -PACKAGE_VERSION -size_t -STDC_HEADERS -VERSION -WORDS_BIGENDIAN -XML_ATTR_INFO -XML_CONTEXT_BYTES -XML_DEV_URANDOM -XML_DTD -XML_NS diff -Nru expat-2.3.0/ci_expat_config_h/list_exported_macros.sh expat-2.4.1/ci_expat_config_h/list_exported_macros.sh --- expat-2.3.0/ci_expat_config_h/list_exported_macros.sh 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/ci_expat_config_h/list_exported_macros.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -#! /usr/bin/env bash -grep -Eo '(define|undef) [a-zA-Z0-9_]+' "${1}" | awk '{print $2}' | sort -u diff -Nru expat-2.3.0/debian/changelog expat-2.4.1/debian/changelog --- expat-2.3.0/debian/changelog 2021-05-10 19:20:19.000000000 +0200 +++ expat-2.4.1/debian/changelog 2021-05-24 10:14:11.000000000 +0200 @@ -1,3 +1,13 @@ +expat (2.4.1-1) experimental; urgency=high + + * New upstream release: + - fix CVE-2013-0340: protect against billion laughs attacks + (denial-of-service; flavors targeting CPU time or RAM or both, + leveraging general entities or parameter entities or both). + * Update libexpat1 symbols. + + -- Laszlo Boszormenyi (GCS) Mon, 24 May 2021 10:14:11 +0200 + expat (2.3.0-1) experimental; urgency=medium * New upstream release. diff -Nru expat-2.3.0/debian/libexpat1.symbols expat-2.4.1/debian/libexpat1.symbols --- expat-2.3.0/debian/libexpat1.symbols 2019-07-13 23:46:00.000000000 +0200 +++ expat-2.4.1/debian/libexpat1.symbols 2021-05-24 10:14:11.000000000 +0200 @@ -30,6 +30,8 @@ XML_ResumeParser@Base 2.0.1 XML_SetAttlistDeclHandler@Base 2.0.1 XML_SetBase@Base 2.0.1 + XML_SetBillionLaughsAttackProtectionActivationThreshold@Base 2.4.1 + XML_SetBillionLaughsAttackProtectionMaximumAmplification@Base 2.4.1 XML_SetCdataSectionHandler@Base 2.0.1 XML_SetCharacterDataHandler@Base 2.0.1 XML_SetCommentHandler@Base 2.0.1 @@ -65,7 +67,6 @@ XML_StopParser@Base 2.0.1 XML_UseForeignDTD@Base 2.0.1 XML_UseParserAsHandlerArg@Base 2.0.1 - _INTERNAL_trim_to_complete_utf8_characters@Base 2.2.5 libexpatw.so.1 libexpat1 #MINVER# XML_DefaultCurrent@Base 2.0.1 XML_ErrorString@Base 2.0.1 @@ -98,6 +99,8 @@ XML_ResumeParser@Base 2.0.1 XML_SetAttlistDeclHandler@Base 2.0.1 XML_SetBase@Base 2.0.1 + XML_SetBillionLaughsAttackProtectionActivationThreshold@Base 2.4.1 + XML_SetBillionLaughsAttackProtectionMaximumAmplification@Base 2.4.1 XML_SetCdataSectionHandler@Base 2.0.1 XML_SetCharacterDataHandler@Base 2.0.1 XML_SetCommentHandler@Base 2.0.1 @@ -133,4 +136,3 @@ XML_StopParser@Base 2.0.1 XML_UseForeignDTD@Base 2.0.1 XML_UseParserAsHandlerArg@Base 2.0.1 - _INTERNAL_trim_to_complete_utf8_characters@Base 2.2.5 diff -Nru expat-2.3.0/expat/apply-clang-format.sh expat-2.4.1/expat/apply-clang-format.sh --- expat-2.3.0/expat/apply-clang-format.sh 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/apply-clang-format.sh 2021-05-23 17:56:03.000000000 +0200 @@ -6,7 +6,7 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2019 Expat development team +# Copyright (c) 2019-2021 Sebastian Pipping # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -34,6 +34,16 @@ clang-format --version +clang_format_args=( + -i + -style=file + -verbose +) + +if [[ $# -ge 1 ]]; then + exec clang-format "${clang_format_args[@]}" "$@" +fi + expand --tabs=2 --initial lib/siphash.h | sponge lib/siphash.h find \ @@ -42,7 +52,7 @@ -o -name '*.cxx' \ -o -name '*.h.cmake' \ | sort \ - | xargs clang-format -i -style=file -verbose + | xargs clang-format "${clang_format_args[@]}" sed \ -e 's, @$,@,' \ diff -Nru expat-2.3.0/expat/buildconf.sh expat-2.4.1/expat/buildconf.sh --- expat-2.3.0/expat/buildconf.sh 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/buildconf.sh 2021-05-23 17:56:03.000000000 +0200 @@ -1,2 +1,55 @@ -#! /bin/sh -exec autoreconf --warnings=all --install --verbose "$@" +#! /usr/bin/env bash +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2018 Marco Maggi +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. + +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="$(fgrep -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 diff -Nru expat-2.3.0/expat/Changes expat-2.4.1/expat/Changes --- expat-2.3.0/expat/Changes 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/Changes 2021-05-23 17:56:03.000000000 +0200 @@ -2,6 +2,97 @@ https://github.com/libexpat/libexpat/labels/help%20wanted If you can help, please get in touch. Thanks! +Release 2.4.1 Sun May 23 2021 + Bug fixes: + #488 #490 Autotools: Fix installed header expat_config.h for multilib + systems; regression introduced in 2.4.0 by pull request #486 + + Other changes: + #491 #492 Version info bumped from 9:0:8 to 9:1:8; + see https://verbump.de/ for what these numbers do + + Special thanks to: + Gentoo's QA check "multilib_check_headers" + +Release 2.4.0 Sun May 23 2021 + Security fixes: + #34 #466 #484 CVE-2013-0340/CWE-776 -- Protect against billion laughs attacks + (denial-of-service; flavors targeting CPU time or RAM or both, + leveraging general entities or parameter entities or both) + by tracking and limiting the input amplification factor + ( := ( + ) / ). + By conservative default, amplification up to a factor of 100.0 + is tolerated and rejection only starts after 8 MiB of output bytes + (= + ) have been processed. + The fix adds the following to the API: + - A new error code XML_ERROR_AMPLIFICATION_LIMIT_BREACH to + signals this specific condition. + - Two new API functions .. + - XML_SetBillionLaughsAttackProtectionMaximumAmplification and + - XML_SetBillionLaughsAttackProtectionActivationThreshold + .. to further tighten billion laughs protection parameters + when desired. Please see file "doc/reference.html" for details. + If you ever need to increase the defaults for non-attack XML + payload, please file a bug report with libexpat. + - Two new XML_FEATURE_* constants .. + - that can be queried using the XML_GetFeatureList function, and + - that are shown in "xmlwf -v" output. + - Two new environment variable switches .. + - EXPAT_ACCOUNTING_DEBUG=(0|1|2|3) and + - EXPAT_ENTITY_DEBUG=(0|1) + .. for runtime debugging of accounting and entity processing. + Specific behavior of these values may change in the future. + - Two new command line arguments "-a FACTOR" and "-b BYTES" + for xmlwf to further tighten billion laughs protection + parameters when desired. + If you ever need to increase the defaults for non-attack XML + payload, please file a bug report with libexpat. + + Bug fixes: + #332 #470 For (non-default) compilation with -DEXPAT_MIN_SIZE=ON (CMake) + or CPPFLAGS=-DXML_MIN_SIZE (GNU Autotools): Fix segfault + for UTF-16 payloads containing CDATA sections. + #485 #486 Autotools: Fix generated CMake files for non-64bit and + non-Linux platforms (e.g. macOS and MinGW in particular) + that were introduced with release 2.3.0 + + Other changes: + #468 #469 xmlwf: Improve help output and the xmlwf man page + #463 xmlwf: Improve maintainability through some refactoring + #477 xmlwf: Fix man page DocBook validity + #458 #459 CMake: Support absolute paths for both CMAKE_INSTALL_LIBDIR + and CMAKE_INSTALL_INCLUDEDIR + #471 #481 CMake: Add support for standard variable BUILD_SHARED_LIBS + #457 Unexpose symbol _INTERNAL_trim_to_complete_utf8_characters + #467 Resolve macro HAVE_EXPAT_CONFIG_H + #472 Delete unused legacy helper file "conftools/PrintPath" + #473 #483 Improve attribution + #464 #465 #477 doc/reference.html: Fix XHTML validity + #475 #478 doc/reference.html: Replace the 90s look by OK.css + #479 Version info bumped from 8:0:7 to 9:0:8 + due to addition of new symbols and error codes; + see https://verbump.de/ for what these numbers do + + Infrastructure: + #456 CI: Enable periodic runs + #457 CI: Start covering the list of exported symbols + #474 CI: Isolate coverage task + #476 #482 CI: Adapt to breaking changes in image "ubuntu-18.04" + #477 CI: Cover well-formedness and DocBook/XHTML validity + of doc/reference.html and doc/xmlwf.xml + + Special thanks to: + Dimitry Andric + Eero Helenius + Nick Wellnhofer + Rhodri James + Tomas Korbar + Yury Gribov + and + Clang LeakSan + JetBrains + OSS-Fuzz + Release 2.3.0 Thu March 25 2021 Bug fixes: #438 When calling XML_ParseBuffer without a prior successful call to diff -Nru expat-2.3.0/expat/.clang-format expat-2.4.1/expat/.clang-format --- expat-2.3.0/expat/.clang-format 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/.clang-format 2021-05-23 17:56:03.000000000 +0200 @@ -1,3 +1,32 @@ +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2019 Sebastian Pipping +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. + --- Language: Cpp # BasedOnStyle: LLVM diff -Nru expat-2.3.0/expat/clean_coverage.sh expat-2.4.1/expat/clean_coverage.sh --- expat-2.3.0/expat/clean_coverage.sh 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/clean_coverage.sh 2021-05-23 17:56:03.000000000 +0200 @@ -1,6 +1,35 @@ #!/usr/bin/env bash -# # Clean source directory after running the coverage script. +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2017 Rhodri James +# Copyright (c) 2018 Marco Maggi +# Copyright (c) 2019 Sebastian Pipping +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. rm -r build__* rm -r coverage__* diff -Nru expat-2.3.0/expat/cmake/autotools/expat.cmake expat-2.4.1/expat/cmake/autotools/expat.cmake --- expat-2.3.0/expat/cmake/autotools/expat.cmake 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/cmake/autotools/expat.cmake 2021-05-23 17:56:03.000000000 +0200 @@ -4,7 +4,7 @@ message(FATAL_ERROR "CMake >= 2.6.0 required") endif() cmake_policy(PUSH) -cmake_policy(VERSION 2.6...3.17) +cmake_policy(VERSION 2.6...3.18) #---------------------------------------------------------------- # Generated CMake target import file. #---------------------------------------------------------------- diff -Nru expat-2.3.0/expat/cmake/autotools/expat-config-version.cmake.in expat-2.4.1/expat/cmake/autotools/expat-config-version.cmake.in --- expat-2.3.0/expat/cmake/autotools/expat-config-version.cmake.in 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/cmake/autotools/expat-config-version.cmake.in 2021-05-23 17:56:03.000000000 +0200 @@ -55,13 +55,13 @@ endif() # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@ac_cv_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 "8") - math(EXPR installedBits "8 * 8") +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "@ac_cv_sizeof_void_p@") + math(EXPR installedBits "@ac_cv_sizeof_void_p@ * 8") set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") set(PACKAGE_VERSION_UNSUITABLE TRUE) endif() diff -Nru expat-2.3.0/expat/cmake/autotools/expat-noconfig.cmake.in expat-2.4.1/expat/cmake/autotools/expat-noconfig.cmake.in --- expat-2.3.0/expat/cmake/autotools/expat-noconfig.cmake.in 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/cmake/autotools/expat-noconfig.cmake.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "expat::expat" for configuration "" -set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(expat::expat PROPERTIES - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@" - IMPORTED_SONAME_NOCONFIG "libexpat.so.@SO_MAJOR@" - ) - -list(APPEND _IMPORT_CHECK_TARGETS expat::expat ) -list(APPEND _IMPORT_CHECK_FILES_FOR_expat::expat "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) diff -Nru expat-2.3.0/expat/cmake/autotools/expat-noconfig__linux.cmake.in expat-2.4.1/expat/cmake/autotools/expat-noconfig__linux.cmake.in --- expat-2.3.0/expat/cmake/autotools/expat-noconfig__linux.cmake.in 1970-01-01 01:00:00.000000000 +0100 +++ expat-2.4.1/expat/cmake/autotools/expat-noconfig__linux.cmake.in 2021-05-23 17:56:03.000000000 +0200 @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "expat::expat" for configuration "" +set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(expat::expat PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@" + IMPORTED_SONAME_NOCONFIG "libexpat.so.@SO_MAJOR@" + ) + +list(APPEND _IMPORT_CHECK_TARGETS expat::expat ) +list(APPEND _IMPORT_CHECK_FILES_FOR_expat::expat "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.so.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff -Nru expat-2.3.0/expat/cmake/autotools/expat-noconfig__macos.cmake.in expat-2.4.1/expat/cmake/autotools/expat-noconfig__macos.cmake.in --- expat-2.3.0/expat/cmake/autotools/expat-noconfig__macos.cmake.in 1970-01-01 01:00:00.000000000 +0100 +++ expat-2.4.1/expat/cmake/autotools/expat-noconfig__macos.cmake.in 2021-05-23 17:56:03.000000000 +0200 @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "expat::expat" for configuration "" +set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(expat::expat PROPERTIES + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@.dylib" + IMPORTED_SONAME_NOCONFIG "@rpath/libexpat.@SO_MAJOR@.dylib" + ) + +list(APPEND _IMPORT_CHECK_TARGETS expat::expat ) +list(APPEND _IMPORT_CHECK_FILES_FOR_expat::expat "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.@SO_MAJOR@.@SO_MINOR@.@SO_PATCH@.dylib" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff -Nru expat-2.3.0/expat/cmake/autotools/expat-noconfig__windows.cmake.in expat-2.4.1/expat/cmake/autotools/expat-noconfig__windows.cmake.in --- expat-2.3.0/expat/cmake/autotools/expat-noconfig__windows.cmake.in 1970-01-01 01:00:00.000000000 +0100 +++ expat-2.4.1/expat/cmake/autotools/expat-noconfig__windows.cmake.in 2021-05-23 17:56:03.000000000 +0200 @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "expat::expat" for configuration "" +set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) +set_target_properties(expat::expat PROPERTIES + IMPORTED_IMPLIB_NOCONFIG "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.dll.a" + IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/bin/libexpat-@SO_MAJOR@.dll" + ) + +list(APPEND _IMPORT_CHECK_TARGETS expat::expat ) +list(APPEND _IMPORT_CHECK_FILES_FOR_expat::expat "${_IMPORT_PREFIX}/@LIBDIR_BASENAME@/libexpat.dll.a" "${_IMPORT_PREFIX}/bin/libexpat-@SO_MAJOR@.dll" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff -Nru expat-2.3.0/expat/CMakeLists.txt expat-2.4.1/expat/CMakeLists.txt --- expat-2.3.0/expat/CMakeLists.txt 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/CMakeLists.txt 2021-05-23 17:56:03.000000000 +0200 @@ -1,5 +1,36 @@ -# This file is copyrighted under the BSD-license for buildsystem files of KDE -# copyright 2010, Patrick Spendrin +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2010 Patrick Spendrin +# Copyright (c) 2012 Karl Waclawek +# Copyright (c) 2016-2021 Sebastian Pipping +# Copyright (c) 2016 Sergei Nikulov +# Copyright (c) 2016 Björn Lindahl +# Copyright (c) 2016 Tobias Taschner +# Copyright (c) 2016 Ben Boeckel +# Copyright (c) 2017 Rhodri James +# Copyright (c) 2017 Rolf Eike Beer +# Copyright (c) 2017 Stephen Groat +# Copyright (c) 2017 Franek Korta +# Copyright (c) 2018 pedro-vicente +# Copyright (c) 2018 Frank Rast +# Copyright (c) 2018 userwithuid +# Copyright (c) 2018 Yury Gribov +# Copyright (c) 2019 Kishore Kunche +# Copyright (c) 2019 xantares +# Copyright (c) 2019 Mohammed Khajapasha +# Copyright (c) 2019 David Loffredo +# Copyright (c) 2019 Bhargava Shastry +# Copyright (c) 2020 Maciej Sroczyński +# Copyright (c) 2020 Gulliver +# Copyright (c) 2020 Thomas Beutlich +# Copyright (c) 2021 Alex Richardson +# Unlike most of Expat, +# this file is copyrighted under the BSD-license for buildsystem files of KDE. cmake_minimum_required(VERSION 3.1.3) @@ -33,7 +64,7 @@ project(expat VERSION - 2.3.0 + 2.4.1 LANGUAGES C ) @@ -70,6 +101,11 @@ else() set(_EXPAT_BUILD_PKGCONFIG_DEFAULT ON) endif() +if(DEFINED BUILD_SHARED_LIBS) + set(_EXPAT_SHARED_LIBS_DEFAULT ${BUILD_SHARED_LIBS}) +else() + set(_EXPAT_SHARED_LIBS_DEFAULT ON) +endif() # # Configuration @@ -77,7 +113,7 @@ option(EXPAT_BUILD_TOOLS "build the xmlwf tool for expat library" ${_EXPAT_BUILD_TOOLS_DEFAULT}) option(EXPAT_BUILD_EXAMPLES "build the examples for expat library" ON) option(EXPAT_BUILD_TESTS "build the tests for expat library" ON) -option(EXPAT_SHARED_LIBS "build a shared expat library" ON) +option(EXPAT_SHARED_LIBS "build a shared expat library" ${_EXPAT_SHARED_LIBS_DEFAULT}) option(EXPAT_BUILD_DOCS "build man page for xmlwf" ${_EXPAT_BUILD_DOCS_DEFAULT}) option(EXPAT_BUILD_FUZZERS "build fuzzers for the expat library" OFF) option(EXPAT_BUILD_PKGCONFIG "build pkg-config file" ${_EXPAT_BUILD_PKGCONFIG_DEFAULT}) @@ -130,10 +166,22 @@ endif() if(MSVC) - # Minimum supported MSVC version is 1910 = Visual Studio 15.0/2017 - # See also https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html - if(MSVC_VERSION VERSION_LESS 1910) - message(SEND_ERROR "MSVC_VERSION ${MSVC_VERSION} is not a supported Visual Studio compiler version. Please use Visual Studio 15.0/2017 or any later version.") + # For the three types of MSVC version values, please see: + # - https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html + # - 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}") + + if(MSVC_VERSION VERSION_LESS ${_EXPAT_MSVC_SUPPORTED_INT}) + if(MSVC_VERSION VERSION_LESS ${_EXPAT_MSVC_REQUIRED_INT}) + message(SEND_ERROR "MSVC_VERSION ${MSVC_VERSION} is TOO OLD to compile Expat without errors.") + message(SEND_ERROR "Please use officially supported ${_EXPAT_MSVC_SUPPORTED_DISPLAY} or later. Thank you!") + else() + message(WARNING "MSVC_VERSION ${MSVC_VERSION} is NOT OFFICIALLY SUPPORTED by Expat.") + message(WARNING "Please use ${_EXPAT_MSVC_SUPPORTED_DISPLAY} or later. Thank you!") + endif() endif() endif() @@ -225,7 +273,6 @@ endmacro() configure_file(expat_config.h.cmake "${CMAKE_CURRENT_BINARY_DIR}/expat_config.h") -add_definitions(-DHAVE_EXPAT_CONFIG_H) expat_install(FILES "${CMAKE_CURRENT_BINARY_DIR}/expat_config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) @@ -237,6 +284,10 @@ add_definitions(-DXML_ENABLE_VISIBILITY=1) set(EXTRA_COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS} -fvisibility=hidden") endif() +if(MINGW) + # Without __USE_MINGW_ANSI_STDIO the compiler produces a false positive + set(EXTRA_COMPILE_FLAGS "${EXTRA_COMPILE_FLAGS} -Wno-pedantic-ms-format") +endif() if (EXPAT_WARNINGS_AS_ERRORS) if(MSVC) add_definitions(/WX) @@ -335,9 +386,9 @@ target_link_libraries(expat ${LIB_BSD}) endif() -set(LIBCURRENT 8) # sync -set(LIBREVISION 0) # with -set(LIBAGE 7) # configure.ac! +set(LIBCURRENT 9) # sync +set(LIBREVISION 1) # with +set(LIBAGE 8) # configure.ac! math(EXPR LIBCURRENT_MINUS_AGE "${LIBCURRENT} - ${LIBAGE}") set_property(TARGET expat PROPERTY OUTPUT_NAME "${_EXPAT_OUTPUT_NAME}") @@ -371,8 +422,19 @@ if(EXPAT_BUILD_PKGCONFIG) set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix "\${prefix}") - set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") - set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + + if(CMAKE_INSTALL_LIBDIR MATCHES "^/") + set(libdir "${CMAKE_INSTALL_LIBDIR}") + else() + set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") + endif() + + if(CMAKE_INSTALL_INCLUDEDIR MATCHES "^/") + set(includedir "${CMAKE_INSTALL_INCLUDEDIR}") + else() + set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + endif() + configure_file(expat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/expat.pc @ONLY) expat_install(FILES ${CMAKE_CURRENT_BINARY_DIR}/expat.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) endif() @@ -438,6 +500,7 @@ tests/memcheck.c tests/minicheck.c tests/structdata.c + ${expat_SRCS} ) if(NOT MSVC) @@ -457,13 +520,16 @@ add_executable(runtests tests/runtests.c ${test_SRCS}) set_property(TARGET runtests PROPERTY RUNTIME_OUTPUT_DIRECTORY tests) - target_link_libraries(runtests expat) expat_add_test(runtests $) add_executable(runtestspp tests/runtestspp.cpp ${test_SRCS}) set_property(TARGET runtestspp PROPERTY RUNTIME_OUTPUT_DIRECTORY tests) - target_link_libraries(runtestspp expat) expat_add_test(runtestspp $) + + if(EXPAT_WITH_LIBBSD) + target_link_libraries(runtests ${LIB_BSD}) + target_link_libraries(runtestspp ${LIB_BSD}) + endif() endif() if(EXPAT_BUILD_FUZZERS) diff -Nru expat-2.3.0/expat/CMake.README expat-2.4.1/expat/CMake.README --- expat-2.3.0/expat/CMake.README 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/CMake.README 2021-05-23 17:56:03.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.3.0 is the source directory of expat, add a subdirectory +Assuming ~/expat-2.4.1 is the source directory of expat, add a subdirectory build and change into that directory: -~/expat-2.3.0$ mkdir build && cd build -~/expat-2.3.0/build$ +~/expat-2.4.1$ mkdir build && cd build +~/expat-2.4.1/build$ From that directory, call cmake first, then call make, make test and make install in the usual way: -~/expat-2.3.0/build$ cmake .. +~/expat-2.4.1/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.3.0/build +-- Build files have been written to: /home/patrick/expat-2.4.1/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.3.0/build$ make && make test && make install +~/expat-2.4.1/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 diff -Nru expat-2.3.0/expat/configure.ac expat-2.4.1/expat/configure.ac --- expat-2.3.0/expat/configure.ac 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/configure.ac 2021-05-23 17:56:03.000000000 +0200 @@ -1,14 +1,47 @@ dnl configuration script for expat dnl Process this file with autoconf to produce a configure script. -dnl -dnl Copyright 2000 Clark Cooper -dnl -dnl This file is part of EXPAT. -dnl -dnl EXPAT is free software; you can redistribute it and/or modify it -dnl under the terms of the License (based on the MIT/X license) contained -dnl in the file COPYING that comes with this distribution. -dnl +dnl __ __ _ +dnl ___\ \/ /_ __ __ _| |_ +dnl / _ \\ /| '_ \ / _` | __| +dnl | __// \| |_) | (_| | |_ +dnl \___/_/\_\ .__/ \__,_|\__| +dnl |_| XML parser +dnl +dnl Copyright (c) 2000 Clark Cooper +dnl Copyright (c) 2000-2005 Fred L. Drake, Jr. +dnl Copyright (c) 2001-2003 Greg Stein +dnl Copyright (c) 2006-2012 Karl Waclawek +dnl Copyright (c) 2016-2021 Sebastian Pipping +dnl Copyright (c) 2017 S. P. Zeidler +dnl Copyright (c) 2017 Stephen Groat +dnl Copyright (c) 2017-2020 Joe Orton +dnl Copyright (c) 2018 Yury Gribov +dnl Copyright (c) 2018 Benjamin Peterson +dnl Copyright (c) 2018 Marco Maggi +dnl Copyright (c) 2018 KangLin +dnl Copyright (c) 2019 Mohammed Khajapasha +dnl Copyright (c) 2019 Kishore Kunche +dnl Copyright (c) 2020 Jeffrey Walton +dnl Licensed under the MIT license: +dnl +dnl Permission is hereby granted, free of charge, to any person obtaining +dnl a copy of this software and associated documentation files (the +dnl "Software"), to deal in the Software without restriction, including +dnl without limitation the rights to use, copy, modify, merge, publish, +dnl distribute, sublicense, and/or sell copies of the Software, and to permit +dnl persons to whom the Software is furnished to do so, subject to the +dnl following conditions: +dnl +dnl The above copyright notice and this permission notice shall be included +dnl in all copies or substantial portions of the Software. +dnl +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +dnl EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +dnl NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +dnl USE OR OTHER DEALINGS IN THE SOFTWARE. dnl Ensure that Expat is configured with autoconf 2.69 or newer. AC_PREREQ([2.69]) @@ -48,11 +81,10 @@ dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=8 # sync -LIBREVISION=0 # with -LIBAGE=7 # CMakeLists.txt! +LIBCURRENT=9 # sync +LIBREVISION=1 # with +LIBAGE=8 # CMakeLists.txt! -AX_APPEND_FLAG([-DHAVE_EXPAT_CONFIG_H], [AM_CPPFLAGS]) AC_CONFIG_HEADERS([expat_config.h]) AM_PROG_AR @@ -79,7 +111,7 @@ AX_APPEND_COMPILE_FLAGS([-fno-strict-aliasing -Wmissing-prototypes -Wstrict-prototypes], [AM_CFLAGS]) AX_APPEND_COMPILE_FLAGS([-pedantic -Wduplicated-cond -Wduplicated-branches -Wlogical-op], [AM_CFLAGS]) AX_APPEND_COMPILE_FLAGS([-Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion], [AM_CFLAGS]) - AX_APPEND_COMPILE_FLAGS([-Wshadow -Wformat=2 -Wmisleading-indentation], [AM_CFLAGS])]) + AX_APPEND_COMPILE_FLAGS([-Wshadow -Wformat=2 -Wno-pedantic-ms-format -Wmisleading-indentation], [AM_CFLAGS])]) AC_LANG_PUSH([C++]) AC_PROG_CXX @@ -340,6 +372,7 @@ 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]) @@ -352,6 +385,7 @@ AC_SUBST([SO_MAJOR]) AC_SUBST([SO_MINOR]) AC_SUBST([SO_PATCH]) +AC_SUBST([ac_cv_sizeof_void_p]) dnl write the Automake flags we set @@ -363,11 +397,15 @@ dnl updating _EXPAT_OUTPUT_NAME variable to effect the package name in expat.pc file (issue #361) AC_SUBST(_EXPAT_OUTPUT_NAME, ["$PACKAGE_NAME"]) +AS_CASE("${host_os}", + [darwin*], [CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__macos.cmake.in], + [mingw*], [CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__windows.cmake.in], + [CMAKE_NOCONFIG_SOURCE=cmake/autotools/expat-noconfig__linux.cmake.in]) AC_CONFIG_FILES([Makefile] [expat.pc] [cmake/expat-config.cmake] [cmake/autotools/expat-config-version.cmake] - [cmake/autotools/expat-noconfig.cmake] + [cmake/autotools/expat-noconfig.cmake:${CMAKE_NOCONFIG_SOURCE}] [doc/Makefile] [examples/Makefile] [lib/Makefile] diff -Nru expat-2.3.0/expat/conftools/get-version.sh expat-2.4.1/expat/conftools/get-version.sh --- expat-2.3.0/expat/conftools/get-version.sh 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/conftools/get-version.sh 2021-05-23 17:56:03.000000000 +0200 @@ -1,13 +1,39 @@ #!/bin/sh -# # USAGE: get-version.sh path/to/expat.h # # This script will print Expat's version number on stdout. For example: # # $ ./conftools/get-version.sh ./lib/expat.h # 1.95.3 -# $ +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2002 Greg Stein +# Copyright (c) 2017 Kerin Millar +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. # +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. if test $# = 0; then echo "ERROR: pathname for expat.h was not provided." diff -Nru expat-2.3.0/expat/conftools/PrintPath expat-2.4.1/expat/conftools/PrintPath --- expat-2.3.0/expat/conftools/PrintPath 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/conftools/PrintPath 1970-01-01 01:00:00.000000000 +0100 @@ -1,116 +0,0 @@ -#!/bin/sh -# Look for program[s] somewhere in $PATH. -# -# Options: -# -s -# Do not print out full pathname. (silent) -# -pPATHNAME -# Look in PATHNAME instead of $PATH -# -# Usage: -# PrintPath [-s] [-pPATHNAME] program [program ...] -# -# Initially written by Jim Jagielski for the Apache configuration mechanism -# (with kudos to Kernighan/Pike) -# -# This script falls under the Apache License. -# See http://www.apache.org/licenses/LICENSE - -## -# Some "constants" -## -pathname=$PATH -echo="yes" - -## -# Find out what OS we are running for later on -## -os=`(uname) 2>/dev/null` - -## -# Parse command line -## -for args in $* -do - case $args in - -s ) echo="no" ;; - -p* ) pathname="`echo $args | sed 's/^..//'`" ;; - * ) programs="$programs $args" ;; - esac -done - -## -# Now we make the adjustments required for OS/2 and everyone -# else :) -# -# First of all, all OS/2 programs have the '.exe' extension. -# Next, we adjust PATH (or what was given to us as PATH) to -# be whitespace separated directories. -# Finally, we try to determine the best flag to use for -# test/[] to look for an executable file. OS/2 just has '-r' -# but with other OSs, we do some funny stuff to check to see -# if test/[] knows about -x, which is the preferred flag. -## - -if [ "x$os" = "xOS/2" ] -then - ext=".exe" - pathname=`echo -E $pathname | - sed 's/^;/.;/ - s/;;/;.;/g - s/;$/;./ - s/;/ /g - s/\\\\/\\//g' ` - test_exec_flag="-r" -else - ext="" # No default extensions - pathname=`echo $pathname | - sed 's/^:/.:/ - s/::/:.:/g - s/:$/:./ - s/:/ /g' ` - # Here is how we test to see if test/[] can handle -x - testfile="pp.t.$$" - - cat > $testfile </dev/null`; then - test_exec_flag="-x" - else - test_exec_flag="-r" - fi - rm -f $testfile -fi - -for program in $programs -do - for path in $pathname - do - if [ $test_exec_flag $path/${program}${ext} ] && \ - [ ! -d $path/${program}${ext} ]; then - if [ "x$echo" = "xyes" ]; then - echo $path/${program}${ext} - fi - exit 0 - fi - -# Next try without extension (if one was used above) - if [ "x$ext" != "x" ]; then - if [ $test_exec_flag $path/${program} ] && \ - [ ! -d $path/${program} ]; then - if [ "x$echo" = "xyes" ]; then - echo $path/${program} - fi - exit 0 - fi - fi - done -done -exit 1 - diff -Nru expat-2.3.0/expat/coverage.sh expat-2.4.1/expat/coverage.sh --- expat-2.3.0/expat/coverage.sh 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/coverage.sh 2021-05-23 17:56:03.000000000 +0200 @@ -1,6 +1,34 @@ #! /usr/bin/env bash -# Copyright (C) Sebastian Pipping -# Licensed under the MIT license +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2017-2019 Sebastian Pipping +# Copyright (c) 2018 Marco Maggi +# Copyright (c) 2019 Mohammed Khajapasha +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. export PS4='# ' diff -Nru expat-2.3.0/expat/distribute.sh expat-2.4.1/expat/distribute.sh --- expat-2.3.0/expat/distribute.sh 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/distribute.sh 2021-05-23 17:56:03.000000000 +0200 @@ -1,8 +1,33 @@ #! /usr/bin/env bash -# Copyright (C) 2018 Sebastian Pipping -# Licensed under the MIT license -# # Creates release tarball and detached GPG signature file for upload +# __ __ _ +# ___\ \/ /_ __ __ _| |_ +# / _ \\ /| '_ \ / _` | __| +# | __// \| |_) | (_| | |_ +# \___/_/\_\ .__/ \__,_|\__| +# |_| XML parser +# +# Copyright (c) 2018-2019 Sebastian Pipping +# Licensed under the MIT license: +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to permit +# persons to whom the Software is furnished to do so, subject to the +# following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +# NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +# USE OR OTHER DEALINGS IN THE SOFTWARE. set -e Binärdateien /tmp/9chlTwhERN/expat-2.3.0/expat/doc/expat.png und /tmp/3XyKWerUD1/expat-2.4.1/expat/doc/expat.png sind verschieden. diff -Nru expat-2.3.0/expat/doc/Makefile.am expat-2.4.1/expat/doc/Makefile.am --- expat-2.3.0/expat/doc/Makefile.am 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/doc/Makefile.am 2021-05-23 17:56:03.000000000 +0200 @@ -6,7 +6,9 @@ # \___/_/\_\ .__/ \__,_|\__| # |_| XML parser # -# Copyright (c) 2017 Expat development team +# Copyright (c) 2017-2021 Sebastian Pipping +# Copyright (c) 2017 Stephen Groat +# Copyright (c) 2017 Joe Orton # Licensed under the MIT license: # # Permission is hereby granted, free of charge, to any person obtaining @@ -52,7 +54,7 @@ $(RM) xmlwf.1 EXTRA_DIST = \ - expat.png \ + ok.min.css \ reference.html \ style.css \ valid-xhtml10.png \ diff -Nru expat-2.3.0/expat/doc/ok.min.css expat-2.4.1/expat/doc/ok.min.css --- expat-2.3.0/expat/doc/ok.min.css 1970-01-01 01:00:00.000000000 +0100 +++ expat-2.4.1/expat/doc/ok.min.css 2021-05-23 17:56:03.000000000 +0200 @@ -0,0 +1,2 @@ +/*! OK.css v1.0.3 | MIT License | github.com/andrewh0/okcss */@import url("https://rsms.me/inter/inter.css"); +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--ok-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--ok-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Ubuntu Mono","Liberation Mono","Courier New",Courier,monospace;--ok-fw-0:400;--ok-fw-1:600;--ok-fw-2:700;--ok-fw-3:700;--ok-fs-0:2.5rem;--ok-fs-1:2rem;--ok-fs-2:1.5rem;--ok-fs-3:1.25rem;--ok-fs-4:1rem;--ok-fs-5:0.75rem;--ok-br:0.25rem;--ok-s-0:0;--ok-s-1:0.25rem;--ok-s-2:0.5rem;--ok-s-3:1rem;--ok-s-4:1.5rem;--ok-s-5:2rem;--ok-s-6:2.5rem;--ok-lh-body:1.5;--ok-lh-heading:1.25;--ok-t-hl:#ffcf30;--ok-accent-0:#3e67fa;--ok-accent-1:#4788ff;--ok-tc-accent:#3173de;--ok-tc-code:#c23a30;--ok-tc-0:#000;--ok-tc-1:#747474;--ok-tc-2:#848484;--ok-bg-0:#fff;--ok-bg-1:#f0f0f0;--ok-bg-2:#ccc;--ok-b-0:1px solid #cbcbcb;--ok-b-1:1px solid #848484;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23747474'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23848484'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root{--ok-tc-accent:#5c9aff;--ok-tc-code:#ed5853;--ok-tc-0:#fff;--ok-tc-1:#ababab;--ok-tc-2:#929292;--ok-bg-0:#000;--ok-bg-1:#212121;--ok-bg-2:#3e3e3e;--ok-b-0:1px solid #747474;--ok-b-1:1px solid #929292;--ok-down-0:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23ababab'/%3E%3C/svg%3E");--ok-down-1:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='8' viewBox='0 0 12 8' width='24' fill='none'%3E%3Cpath d='M6 6l4-4h1v1-1L6 7 1 2h1l4 4z' fill='%23929292'/%3E%3C/svg%3E")}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{font-family:var(--ok-sans);line-sizing:normal;line-height:var(--ok-lh-body);font-weight:var(--ok-fw-0);color:var(--ok-tc-0);background-color:var(--ok-bg-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility}@supports (font-variation-settings:normal){html{font-family:Inter var,var(--ok-sans)}}button,input,optgroup,select,textarea{font-family:inherit;line-height:var(--ok-lh-body)}[role=button],button{cursor:pointer}audio,canvas,embed,iframe,img,input,object,select,svg,textarea,video{display:block}img,video{max-width:100%;height:auto}body{padding:var(--ok-s-3);max-width:80ch;margin:auto}h1{font-size:var(--ok-fs-0);margin:0}h2{font-size:var(--ok-fs-1)}h3{font-size:var(--ok-fs-2)}h4{font-size:var(--ok-fs-3)}h5{font-size:var(--ok-fs-4)}h6{font-size:var(--ok-fs-5);text-transform:uppercase;font-weight:var(--ok-fw-1)}h1,h2,h3,h4,h5,h6{line-height:var(--ok-lh-heading);font-weight:var(--ok-fw-3)}p{font-size:var(--ok-fs-4)}small{font-size:var(--ok-fs-5)}b,dt,strong{font-weight:var(--ok-fw-2)}address,article,aside,audio,blockquote,button,canvas,dd,details,dialog,div,dl,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,img,input,main,nav,object,ol,p,pre,section,select,summary,svg,table,textarea,ul,video{margin-bottom:var(--ok-s-4)}address:last-child,article:last-child,aside:last-child,blockquote:last-child,dd:last-child,details:last-child,dialog:last-child,div:last-child,dl:last-child,dt:last-child,fieldset:last-child,figcaption:last-child,figure:last-child,footer:last-child,form:last-child,h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,header:last-child,hgroup:last-child,hr:last-child,input[type=checkbox],input[type=radio],main:last-child,nav:last-child,ol:last-child,p:last-child,pre:last-child,section:last-child,table:last-child,ul:last-child{margin-bottom:0}fieldset{padding:var(--ok-s-3);border:var(--ok-b-0);border-radius:var(--ok-br)}legend{font-weight:var(--ok-fw-1);text-transform:uppercase;font-size:var(--ok-fs-5)}input,select{padding:var(--ok-s-2);background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-width:25ch}input:disabled,select:disabled,textarea:disabled{color:var(--ok-tc-2)}input::placeholder,textarea::placeholder{color:var(--ok-tc-2)}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:var(--ok-tc-2)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ok-tc-2)}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--ok-tc-2)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--ok-tc-2)}input::-webkit-clear-button,input::-webkit-inner-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-results-button{display:none}input::-ms-clear,input::-ms-reveal{display:none}input:disabled,textarea:disabled{background-color:var(--ok-bg-1)}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=file]{max-width:300px}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type=radio]{display:inline;min-width:auto}input[type=color]{height:2.5rem}input[type=date],input[type=datetime-local],input[type=month],input[type=time],input[type=week]{height:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}input[type=date]:before,input[type=datetime-local]:before,input[type=month]:before,input[type=time]:before,input[type=week]:before{position:absolute;right:0;top:0;background-image:var(--ok-down-0);background-repeat:no-repeat;background-position:right .2em top 50%;background-size:2em auto;width:2.5rem;height:calc(2.5rem - 2px);content:""}input[type=date]:disabled:before,input[type=datetime-local]:disabled:before,input[type=month]:disabled:before,input[type=time]:disabled:before,input[type=week]:disabled:before{background-image:var(--ok-down-1)}input::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;background-color:transparent;cursor:pointer;padding:0;width:2.5rem;height:calc(2.5rem - 2px);content:"";opacity:0}input[type=range]{overflow:visible;line-height:inherit;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;outline:none;cursor:pointer;padding:0;vertical-align:middle;border:none;min-height:2rem;background-color:transparent}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;-webkit-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box;position:relative}input[type=range]::-moz-range-track{cursor:pointer;-moz-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-track{cursor:pointer;-ms-appearance:none;border-radius:var(--ok-br);border:var(--ok-b-0);background-color:var(--ok-bg-1);background-image:linear-gradient(var(--ok-bg-1),var(--ok-bg-1));width:100%;height:.5rem;color:transparent;box-sizing:border-box}input[type=range]::-ms-fill-lower{background:transparent}input[type=range]::-webkit-slider-thumb{cursor:pointer;-webkit-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;margin-top:calc(-.5rem - 1px)}input[type=range]::-moz-range-thumb{cursor:pointer;-moz-appearance:none;border:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem}input[type=range]::-ms-thumb{cursor:pointer;-ms-appearance:none;border-radius:50%;background-color:var(--ok-accent-0);width:1.5rem;height:1.5rem;transform:translateY(.25rem)}input[type=range]:focus:not(:disabled)::-webkit-slider-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-moz-range-thumb{background-color:var(--ok-accent-1)}input[type=range]:focus:not(:disabled)::-ms-thumb{background-color:var(--ok-accent-1)}input[type=range]:disabled{cursor:default}input[type=range]:disabled::-webkit-slider-runnable-track{cursor:default}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]:disabled::-webkit-slider-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-moz-range-thumb{background-color:var(--ok-bg-2);cursor:default}input[type=range]:disabled::-ms-thumb{background-color:var(--ok-bg-2);cursor:default}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--ok-b-0);border-radius:var(--ok-br);background-color:var(--ok-bg-0);min-height:2.5rem;color:var(--ok-tc-0)}select:not([multiple]){background-image:var(--ok-down-0);background-repeat:no-repeat,repeat;background-position:right .2em top 50%;background-size:2em auto;padding-right:2.5em;height:2.5rem}select::-ms-expand{display:none}select:not([multiple]):disabled{background-image:var(--ok-down-1);background-color:var(--ok-bg-1);cursor:default}select[multiple]{border-radius:var(--ok-br)}select[multiple]:disabled{background-color:var(--ok-bg-1)}select[multiple] option{color:var(--ok-t-)}select[multiple]:disabled option{color:var(--ok-tc-2)}textarea{padding:var(--ok-s-2);resize:vertical;background:var(--ok-bg-0);border:var(--ok-b-0);border-radius:var(--ok-br);color:var(--ok-tc-0);min-height:calc(2.5rem - 2px);min-width:25ch}button,input[type=button],input[type=reset],input[type=submit]{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap;min-width:auto}input::-webkit-file-upload-button{display:inline-block;background-color:var(--ok-accent-0);border-radius:var(--ok-br);color:#fff;font-weight:var(--ok-fw-1);height:2.5rem;border:none;padding:var(--ok-s-2) var(--ok-s-3);white-space:nowrap}input:disabled::-webkit-file-upload-button{cursor:default;opacity:.5}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer}input:not(:disabled)::-webkit-file-upload-button{cursor:pointer}button:disabled,input[type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:default;opacity:.5;background-color:var(--ok-accent-0)}button:focus:not(:disabled),input[type=button]:focus:not(:disabled),input[type=reset]:focus:not(:disabled),input[type=submit]:focus:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):focus::-webkit-file-upload-button{background-color:var(--ok-accent-1)}table{border-collapse:collapse;border-radius:var(--ok-br);display:block;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;margin-left:auto;margin-right:auto;overflow-x:auto;white-space:nowrap}tfoot,thead{border:var(--ok-b-0)}tfoot tr,thead tr{background-color:var(--ok-bg-1);font-size:var(--ok-fs-5);text-transform:uppercase;color:var(--ok-tc-0)}td,th{border:var(--ok-b-0) 0;text-align:left;padding:.5rem}td{white-space:normal;max-width:20ch}tr{border:var(--ok-b-0)}table caption{font-size:var(--ok-fs-4);font-weight:var(--ok-fw-3);padding:.5rem}code,samp{padding:.2em .4em;color:var(--ok-tc-code)}code,pre,samp{font-family:var(--ok-mono);line-height:var(--ok-lh-body);background-color:var(--ok-bg-1);border-radius:var(--ok-br);text-transform:none}pre{padding:var(--ok-s-3);white-space:pre;overflow-x:auto}pre,var{color:var(--ok-tc-0)}var{font-family:var(--ok-mono);font-style:normal}code pre,pre code{background:inherit;font-size:inherit;color:inherit;border:0;padding:0;margin:0}code pre{display:inline}kbd{background-color:var(--ok-bg-1);border:var(--ok-b-0);border-radius:var(--ok-br);border-bottom:2px solid var(--ok-bg-2);padding:var(--ok-s-1);font-family:var(--ok-sans);color:var(--ok-tc-0)}a{text-decoration:none;font-weight:var(--ok-fw-1)}a,a:visited{color:var(--ok-tc-accent)}ol,ul{padding-left:var(--ok-s-5)}nav ul{text-decoration:none;padding-left:0}nav ul li{display:inline;margin-right:1em}audio,img,video{margin-left:auto;margin-right:auto}img{border-radius:var(--ok-br)}figure>img:not(:last-child){margin-bottom:var(--ok-s-1)}figure>figcaption{text-align:center}figcaption,time{font-size:var(--ok-fs-5);color:var(--ok-tc-1)}mark{padding:.2em .4em;background:var(--ok-t-hl);color:#000;border-radius:var(--ok-br)}iframe{border:var(--ok-b-0);border-radius:var(--ok-br);width:100%}hr{border:none;border-bottom:var(--ok-b-0)}footer{font-size:var(--ok-fs-5)}blockquote,footer{color:var(--ok-tc-1)}blockquote{position:relative;margin-left:0;margin-right:0;padding-left:var(--ok-s-5)}blockquote:before{position:absolute;height:100%;content:"";width:4px;left:0;border-radius:var(--ok-br);background-color:var(--ok-bg-1)}dd{padding-left:var(--ok-s-5)}abbr{cursor:help}@media (hover:hover){a:hover{text-decoration:underline}input:hover:not(:disabled):not(:focus):not([type=submit]):not([type=button]):not([type=reset]):not([type=range]),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-webkit-slider-runnable-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-moz-range-track{border:var(--ok-b-1)}input[type=range]:hover:not(:disabled)::-ms-track{border:var(--ok-b-1)}select:not([multiple]):not(:disabled):hover{cursor:pointer}button:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=reset]:hover:not(:disabled),input[type=submit]:hover:not(:disabled){background-color:var(--ok-accent-1)}input:not(:disabled):hover::-webkit-file-upload-button{background-color:var(--ok-accent-1)}} \ Kein Zeilenumbruch am Dateiende. diff -Nru expat-2.3.0/expat/doc/reference.html expat-2.4.1/expat/doc/reference.html --- expat-2.3.0/expat/doc/reference.html 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/doc/reference.html 2021-05-23 17:56:03.000000000 +0200 @@ -3,26 +3,54 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Expat XML Parser + - - - - - - - - - -
(Expat logo)
Release 2.0.1
+
+

+ The Expat XML Parser + Release 2.4.1 +

+

Expat is a library, written in C, for parsing XML documents. It's @@ -120,6 +148,13 @@

  • XML_GetInputContext
  • +
  • + Billion Laughs Attack Protection + +
  • Miscellaneous Functions
    • XML_SetUserData
    • @@ -900,7 +935,8 @@

      Parser Creation

      -
      +

      XML_ParserCreate

      +
       XML_Parser XMLCALL
       XML_ParserCreate(const XML_Char *encoding);
       
      @@ -917,7 +953,8 @@ Any other value will invoke a call to the UnknownEncodingHandler.
  • -
    +

    XML_ParserCreateNS

    +
     XML_Parser XMLCALL
     XML_ParserCreateNS(const XML_Char *encoding,
                        XML_Char sep);
    @@ -936,7 +973,8 @@
     to support RDF processors. It is a programming error to use the null separator
     with namespace triplets.
     
    -
    +

    XML_ParserCreate_MM

    +
     XML_Parser XMLCALL
     XML_ParserCreate_MM(const XML_Char *encoding,
                         const XML_Memory_Handling_Suite *ms,
    @@ -958,7 +996,8 @@
     the namespace URI and the local part of the name.

    -
    +

    XML_ExternalEntityParserCreate

    +
     XML_Parser XMLCALL
     XML_ExternalEntityParserCreate(XML_Parser p,
                                    const XML_Char *context,
    @@ -974,7 +1013,8 @@
     differently than the parent parser).
     
     
    -
    +

    XML_ParserFree

    +
     void XMLCALL
     XML_ParserFree(XML_Parser p);
     
    @@ -983,7 +1023,8 @@ freeing any memory associated with user data. -
    +

    XML_ParserReset

    +
     XML_Bool XMLCALL
     XML_ParserReset(XML_Parser p,
                     const XML_Char *encoding);
    @@ -1014,7 +1055,7 @@
     XML_ExternalEntityParserCreate.

    -

    Note: the len argument passed to these functions +

    Note: The len argument passed to these functions should be considerably less than the maximum value for an integer, as it could create an integer overflow situation if the added lengths of a buffer and the unprocessed portion of the previous buffer @@ -1022,7 +1063,8 @@ will remain unprocessed if it is part of an XML token for which the end is not part of that buffer.

    -
    +

    XML_Parse

    +
     enum XML_Status XMLCALL
     XML_Parse(XML_Parser p,
               const char *s,
    @@ -1049,7 +1091,8 @@
     Otherwise it returns XML_STATUS_OK value.
     
     
    -
    +

    XML_ParseBuffer

    +
     enum XML_Status XMLCALL
     XML_ParseBuffer(XML_Parser p,
                     int len,
    @@ -1063,7 +1106,8 @@
     copying of the input.
     
     
    -
    +

    XML_GetBuffer

    +
     void * XMLCALL
     XML_GetBuffer(XML_Parser p,
                   int len);
    @@ -1098,7 +1142,8 @@
     
    -
    +

    XML_StopParser

    +
     enum XML_Status XMLCALL
     XML_StopParser(XML_Parser p,
                    XML_Bool resumable);
    @@ -1111,7 +1156,7 @@
     call-back handler, except when aborting (when resumable
     is XML_FALSE) an already suspended parser.  Some
     call-backs may still follow because they would otherwise get
    -lost, including
    +lost, including

    • the end element handler for empty elements when stopped in the start element handler,
    • @@ -1120,7 +1165,7 @@
    • the character data handler when stopped in the character data handler while making multiple call-backs on a contiguous chunk of characters,
    -and possibly others.

    +

    and possibly others.

    This can be called from most handlers, including DTD related call-backs, except when parsing an external parameter entity and @@ -1166,7 +1211,8 @@

    New in Expat 1.95.8.

    -
    +

    XML_ResumeParser

    +
     enum XML_Status XMLCALL
     XML_ResumeParser(XML_Parser p);
     
    @@ -1191,7 +1237,8 @@

    New in Expat 1.95.8.

    -
    +

    XML_GetParsingStatus

    +
     void XMLCALL
     XML_GetParsingStatus(XML_Parser p,
                          XML_ParsingStatus *status);
    @@ -1240,7 +1287,8 @@
     encoding of the document.

    -
    +

    XML_SetStartElementHandler

    +
     void XMLCALL
     XML_SetStartElementHandler(XML_Parser p,
                                XML_StartElementHandler start);
    @@ -1261,7 +1309,8 @@
     
    -
    +

    XML_SetEndElementHandler

    +
     void XMLCALL
     XML_SetEndElementHandler(XML_Parser p,
                              XML_EndElementHandler);
    @@ -1276,7 +1325,8 @@
     
    -
    +

    XML_SetElementHandler

    +
     void XMLCALL
     XML_SetElementHandler(XML_Parser p,
                           XML_StartElementHandler start,
    @@ -1286,7 +1336,8 @@
     
    -
    +

    XML_SetCharacterDataHandler

    +
     void XMLCALL
     XML_SetCharacterDataHandler(XML_Parser p,
                                 XML_CharacterDataHandler charhndl)
    @@ -1309,7 +1360,8 @@
     
    -
    +

    XML_SetProcessingInstructionHandler

    +
     void XMLCALL
     XML_SetProcessingInstructionHandler(XML_Parser p,
                                         XML_ProcessingInstructionHandler proc)
    @@ -1327,7 +1379,8 @@
     
    -
    +

    XML_SetCommentHandler

    +
     void XMLCALL
     XML_SetCommentHandler(XML_Parser p,
                           XML_CommentHandler cmnt)
    @@ -1342,7 +1395,8 @@
     
    -
    +

    XML_SetStartCdataSectionHandler

    +
     void XMLCALL
     XML_SetStartCdataSectionHandler(XML_Parser p,
                                     XML_StartCdataSectionHandler start);
    @@ -1355,7 +1409,8 @@
     
    -
    +

    XML_SetEndCdataSectionHandler

    +
     void XMLCALL
     XML_SetEndCdataSectionHandler(XML_Parser p,
                                   XML_EndCdataSectionHandler end);
    @@ -1368,7 +1423,8 @@
     
    -
    +

    XML_SetCdataSectionHandler

    +
     void XMLCALL
     XML_SetCdataSectionHandler(XML_Parser p,
                                XML_StartCdataSectionHandler start,
    @@ -1378,7 +1434,8 @@
     
    -
    +

    XML_SetDefaultHandler

    +
     void XMLCALL
     XML_SetDefaultHandler(XML_Parser p,
                           XML_DefaultHandler hndl)
    @@ -1409,7 +1466,8 @@
     
    -
    +

    XML_SetDefaultHandlerExpand

    +
     void XMLCALL
     XML_SetDefaultHandlerExpand(XML_Parser p,
                                 XML_DefaultHandler hndl)
    @@ -1429,7 +1487,8 @@
     
    -
    +

    XML_SetExternalEntityRefHandler

    +
     void XMLCALL
     XML_SetExternalEntityRefHandler(XML_Parser p,
                                     XML_ExternalEntityRefHandler hndl)
    @@ -1482,7 +1541,8 @@
     information into global or static variables.

    -
    +

    XML_SetExternalEntityRefHandlerArg

    +
     void XMLCALL
     XML_SetExternalEntityRefHandlerArg(XML_Parser p,
                                        void *arg)
    @@ -1508,7 +1568,8 @@
     
     
     
    -
    +

    XML_SetSkippedEntityHandler

    +
     void XMLCALL
     XML_SetSkippedEntityHandler(XML_Parser p,
                                 XML_SkippedEntityHandler handler)
    @@ -1528,14 +1589,15 @@
     	   has been called.
     
     

    The is_parameter_entity argument will be non-zero for -a parameter entity and zero for a general entity.

    Note: skipped +a parameter entity and zero for a general entity.

    Note: Skipped parameter entities in declarations and skipped general entities in attribute values cannot be reported, because the event would be out of sync with the reporting of the declarations or attribute values

    -
    +

    XML_SetUnknownEncodingHandler

    +
     void XMLCALL
     XML_SetUnknownEncodingHandler(XML_Parser p,
                                   XML_UnknownEncodingHandler enchandler,
    @@ -1584,7 +1646,8 @@
     
    -
    +

    XML_SetStartNamespaceDeclHandler

    +
     void XMLCALL
     XML_SetStartNamespaceDeclHandler(XML_Parser p,
     			         XML_StartNamespaceDeclHandler start);
    @@ -1602,7 +1665,8 @@
     
    -
    +

    XML_SetEndNamespaceDeclHandler

    +
     void XMLCALL
     XML_SetEndNamespaceDeclHandler(XML_Parser p,
     			       XML_EndNamespaceDeclHandler end);
    @@ -1619,7 +1683,8 @@
     
    -
    +

    XML_SetNamespaceDeclHandler

    +
     void XMLCALL
     XML_SetNamespaceDeclHandler(XML_Parser p,
                                 XML_StartNamespaceDeclHandler start,
    @@ -1629,7 +1694,8 @@
     
    -
    +

    XML_SetXmlDeclHandler

    +
     void XMLCALL
     XML_SetXmlDeclHandler(XML_Parser p,
     		      XML_XmlDeclHandler xmldecl);
    @@ -1652,7 +1718,8 @@
     
    -
    +

    XML_SetStartDoctypeDeclHandler

    +
     void XMLCALL
     XML_SetStartDoctypeDeclHandler(XML_Parser p,
     			       XML_StartDoctypeDeclHandler start);
    @@ -1672,7 +1739,8 @@
     
    -
    +

    XML_SetEndDoctypeDeclHandler

    +
     void XMLCALL
     XML_SetEndDoctypeDeclHandler(XML_Parser p,
     			     XML_EndDoctypeDeclHandler end);
    @@ -1686,7 +1754,8 @@
     
    -
    +

    XML_SetDoctypeDeclHandler

    +
     void XMLCALL
     XML_SetDoctypeDeclHandler(XML_Parser p,
     			  XML_StartDoctypeDeclHandler start,
    @@ -1696,7 +1765,8 @@
     
    -
    +

    XML_SetElementDeclHandler

    +
     void XMLCALL
     XML_SetElementDeclHandler(XML_Parser p,
     			  XML_ElementDeclHandler eldecl);
    @@ -1768,7 +1838,8 @@
     
    -
    +

    XML_SetAttlistDeclHandler

    +
     void XMLCALL
     XML_SetAttlistDeclHandler(XML_Parser p,
                               XML_AttlistDeclHandler attdecl);
    @@ -1801,7 +1872,8 @@
     
    -
    +

    XML_SetEntityDeclHandler

    +
     void XMLCALL
     XML_SetEntityDeclHandler(XML_Parser p,
     			 XML_EntityDeclHandler handler);
    @@ -1835,7 +1907,8 @@
     
    -
    +

    XML_SetUnparsedEntityDeclHandler

    +
     void XMLCALL
     XML_SetUnparsedEntityDeclHandler(XML_Parser p,
                                      XML_UnparsedEntityDeclHandler h)
    @@ -1861,7 +1934,8 @@
     
    -
    +

    XML_SetNotationDeclHandler

    +
     void XMLCALL
     XML_SetNotationDeclHandler(XML_Parser p,
                                XML_NotationDeclHandler h)
    @@ -1878,7 +1952,8 @@
     
    -
    +

    XML_SetNotStandaloneHandler

    +
     void XMLCALL
     XML_SetNotStandaloneHandler(XML_Parser p,
                                 XML_NotStandaloneHandler h)
    @@ -1913,7 +1988,8 @@
     DTD.  In other words, they usually return bogus information when
     called from within a DTD declaration handler.

    -
    +

    XML_GetErrorCode

    +
     enum XML_Error XMLCALL
     XML_GetErrorCode(XML_Parser p);
     
    @@ -1921,7 +1997,8 @@ Return what type of error has occurred.
    -
    +

    XML_ErrorString

    +
     const XML_LChar * XMLCALL
     XML_ErrorString(enum XML_Error code);
     
    @@ -1931,7 +2008,8 @@ XML_GetErrorCode. -
    +

    XML_GetCurrentByteIndex

    +
     XML_Index XMLCALL
     XML_GetCurrentByteIndex(XML_Parser p);
     
    @@ -1942,7 +2020,8 @@ "#XML_GetCurrentColumnNumber" >XML_GetCurrentColumnNumber. -
    +

    XML_GetCurrentLineNumber

    +
     XML_Size XMLCALL
     XML_GetCurrentLineNumber(XML_Parser p);
     
    @@ -1951,7 +2030,8 @@ 1. -
    +

    XML_GetCurrentColumnNumber

    +
     XML_Size XMLCALL
     XML_GetCurrentColumnNumber(XML_Parser p);
     
    @@ -1960,7 +2040,8 @@ the position. -
    +

    XML_GetCurrentByteCount

    +
     int XMLCALL
     XML_GetCurrentByteCount(XML_Parser p);
     
    @@ -1972,7 +2053,8 @@ separate start and end tags). -
    +

    XML_GetInputContext

    +
     const char * XMLCALL
     XML_GetInputContext(XML_Parser p,
                         int *offset,
    @@ -1998,12 +2080,105 @@
     return NULL.

    +

    Billion Laughs Attack Protection

    + +

    The functions in this section configure the built-in + protection against various forms of + billion laughs attacks.

    + +

    XML_SetBillionLaughsAttackProtectionMaximumAmplification

    +
    +/* Added in Expat 2.4.0. */
    +XML_Bool XMLCALL
    +XML_SetBillionLaughsAttackProtectionMaximumAmplification(XML_Parser p,
    +                                                         float maximumAmplificationFactor);
    +
    +
    +

    + Sets the maximum tolerated amplification factor + for protection against + billion laughs attacks + (default: 100.0) + of parser p to maximumAmplificationFactor, and + returns XML_TRUE upon success and XML_TRUE upon error. +

    + + The amplification factor is calculated as .. +
    +    amplification := (direct + indirect) / direct
    +  
    + .. while parsing, whereas + direct is the number of bytes read from the primary document in parsing and + indirect is the number of bytes added by expanding entities and reading of external DTD files, combined. + +

    For a call to XML_SetBillionLaughsAttackProtectionMaximumAmplification to succeed:

    +
      +
    • parser p must be a non-NULL root parser (without any parent parsers) and
    • +
    • maximumAmplificationFactor must be non-NaN and greater than or equal to 1.0.
    • +
    + +

    + Note: + If you ever need to increase this value for non-attack payload, + please file a bug report. +

    + +

    + Note: + Peak amplifications + of factor 15,000 for the entire payload and + of factor 30,000 in the middle of parsing + have been observed with small benign files in practice. + + So if you do reduce the maximum allowed amplification, + please make sure that the activation threshold is still big enough + to not end up with undesired false positives (i.e. benign files being rejected). +

    +
    + +

    XML_SetBillionLaughsAttackProtectionActivationThreshold

    +
    +/* Added in Expat 2.4.0. */
    +XML_Bool XMLCALL
    +XML_SetBillionLaughsAttackProtectionActivationThreshold(XML_Parser p,
    +                                                        unsigned long long activationThresholdBytes);
    +
    +
    +

    + Sets number of output bytes (including amplification from entity expansion and reading DTD files) + needed to activate protection against + billion laughs attacks + (default: 8 MiB) + of parser p to activationThresholdBytes, and + returns XML_TRUE upon success and XML_TRUE upon error. +

    + +

    For a call to XML_SetBillionLaughsAttackProtectionActivationThreshold to succeed:

    +
      +
    • parser p must be a non-NULL root parser (without any parent parsers).
    • +
    + +

    + Note: + If you ever need to increase this value for non-attack payload, + please file a bug report. +

    + +

    + Note: + Activation thresholds below 4 MiB are known to break support for + DITA 1.3 payload + and are hence not recommended. +

    +
    +

    Miscellaneous functions

    The functions in this section either obtain state information from the parser or can be used to dynamically set parser options.

    -
    +

    XML_SetUserData

    +
     void XMLCALL
     XML_SetUserData(XML_Parser p,
                     void *userData);
    @@ -2018,7 +2193,8 @@
     memory.
     
     
    -
    +

    XML_GetUserData

    +
     void * XMLCALL
     XML_GetUserData(XML_Parser p);
     
    @@ -2027,7 +2203,8 @@ It is actually implemented as a macro. -
    +

    XML_UseParserAsHandlerArg

    +
     void XMLCALL
     XML_UseParserAsHandlerArg(XML_Parser p);
     
    @@ -2038,7 +2215,8 @@ >XML_GetUserData function. -
    +

    XML_SetBase

    +
     enum XML_Status XMLCALL
     XML_SetBase(XML_Parser p,
                 const XML_Char *base);
    @@ -2050,7 +2228,8 @@
     XML_STATUS_OK.
     
     
    -
    +

    XML_GetBase

    +
     const XML_Char * XMLCALL
     XML_GetBase(XML_Parser p);
     
    @@ -2058,7 +2237,8 @@ Return the base for resolving relative URIs. -
    +

    XML_GetSpecifiedAttributeCount

    +
     int XMLCALL
     XML_GetSpecifiedAttributeCount(XML_Parser p);
     
    @@ -2074,7 +2254,8 @@ means the current call. -
    +

    XML_GetIdAttributeIndex

    +
     int XMLCALL
     XML_GetIdAttributeIndex(XML_Parser p);
     
    @@ -2086,7 +2267,8 @@ current call. -
    +

    XML_GetAttributeInfo

    +
     const XML_AttrInfo * XMLCALL
     XML_GetAttributeInfo(XML_Parser parser);
     
    @@ -2107,7 +2289,8 @@ XML_GetSpecifiedAttributeCount(parser) / 2. -
    +

    XML_SetEncoding

    +
     enum XML_Status XMLCALL
     XML_SetEncoding(XML_Parser p,
                     const XML_Char *encoding);
    @@ -2122,7 +2305,8 @@
     XML_STATUS_ERROR on error.
     
     
    -
    +

    XML_SetParamEntityParsing

    +
     int XMLCALL
     XML_SetParamEntityParsing(XML_Parser p,
                               enum XML_ParamEntityParsing code);
    @@ -2142,7 +2326,8 @@
     no effect and will always return 0.
     
     
    -
    +

    XML_SetHashSalt

    +
     int XMLCALL
     XML_SetHashSalt(XML_Parser p,
                     unsigned long hash_salt);
    @@ -2153,15 +2338,16 @@
     function behavior. In order to have an effect this must be called
     before parsing has started. Returns 1 if successful, 0 when called
     after XML_Parse or XML_ParseBuffer.
    -

    Note:This call is optional, as the parser will auto-generate +

    Note: This call is optional, as the parser will auto-generate a new random salt value if no value has been set at the start of parsing.

    -

    Note:One should not call XML_SetHashSalt with a +

    Note: One should not call XML_SetHashSalt with a hash salt value of 0, as this value is used as sentinel value to indicate that XML_SetHashSalt has not been called. Consequently such a call will have no effect, even if it returns 1.

    -
    +

    XML_UseForeignDTD

    +
     enum XML_Error XMLCALL
     XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);
     
    @@ -2198,7 +2384,8 @@ the external entity reference handler returns without action.

    -
    +

    XML_SetReturnNSTriplet

    +
     void XMLCALL
     XML_SetReturnNSTriplet(XML_Parser parser,
                            int        do_nst);
    @@ -2220,7 +2407,8 @@
     separator.

    -
    +

    XML_DefaultCurrent

    +
     void XMLCALL
     XML_DefaultCurrent(XML_Parser parser);
     
    @@ -2234,7 +2422,8 @@ not a default handler. -
    +

    XML_ExpatVersion

    +
     XML_LChar * XMLCALL
     XML_ExpatVersion();
     
    @@ -2242,7 +2431,8 @@ Return the library version as a string (e.g. "expat_1.95.1"). -
    +

    XML_ExpatVersionInfo

    +
     struct XML_Expat_Version XMLCALL
     XML_ExpatVersionInfo();
     
    @@ -2266,7 +2456,8 @@ particular parts of the Expat API are available. -
    +

    XML_GetFeatureList

    +
     const XML_Feature * XMLCALL
     XML_GetFeatureList();
     
    @@ -2327,7 +2518,8 @@ -
    +

    XML_FreeContentModel

    +
     void XMLCALL
     XML_FreeContentModel(XML_Parser parser, XML_Content *model);
     
    @@ -2346,7 +2538,8 @@ libraries which use different C standard libraries (this can happen on Windows, at least).

    -
    +

    XML_MemMalloc

    +
     void * XMLCALL
     XML_MemMalloc(XML_Parser parser, size_t size);
     
    @@ -2358,7 +2551,8 @@ >XML_MemFree. -
    +

    XML_MemRealloc

    +
     void * XMLCALL
     XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
     
    @@ -2377,7 +2571,8 @@ >XML_MemFree. -
    +

    XML_MemFree

    +
     void XMLCALL
     XML_MemFree(XML_Parser parser, void *ptr);
     
    @@ -2388,9 +2583,12 @@
    -

    Valid XHTML 1.0!

    + + + diff -Nru expat-2.3.0/expat/doc/style.css expat-2.4.1/expat/doc/style.css --- expat-2.3.0/expat/doc/style.css 2021-03-25 01:29:53.000000000 +0100 +++ expat-2.4.1/expat/doc/style.css 2021-05-23 17:56:03.000000000 +0200 @@ -1,101 +1,47 @@ -body { - background-color: white; - border: 0px; - margin: 0px; - padding: 0px; -} - -.corner { - width: 200px; - height: 80px; - text-align: center; -} - -.banner { - background-color: rgb(110,139,61); - color: rgb(255,236,176); - padding-left: 2em; -} - -.banner h1 { - font-size: 200%; -} - -.content { - padding: 0em 2em 1em 2em; -} - -.releaseno { - background-color: rgb(110,139,61); - color: rgb(255,236,176); - padding-bottom: 0.3em; - padding-top: 0.5em; - text-align: center; - font-weight: bold; -} - -.noborder { - border-width: 0px; -} - -.eg { - padding-left: 1em; - padding-top: .5em; - padding-bottom: .5em; - border: solid thin; - margin: 1em 0; - background-color: tan; - margin-left: 2em; - margin-right: 10%; -} +/* + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + + Copyright (c) 2000 Clark Cooper + Copyright (c) 2000-2004 Fred L. Drake, Jr. + Copyright (c) 2021 Sebastian Pipping + Licensed under the MIT license: + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ -.pseudocode { - padding-left: 1em; - padding-top: .5em; - padding-bottom: .5em; - border: solid thin; - margin: 1em 0; - background-color: rgb(250,220,180); - margin-left: 2em; - margin-right: 10%; -} - -.handler { - width: 100%; - border-top-width: thin; - margin-bottom: 1em; -} - -.handler p { - margin-left: 2em; -} - -.setter { - font-weight: bold; -} - -.signature { - color: navy; -} - -.fcndec { - width: 100%; - border-top-width: thin; - font-weight: bold; -} - -.fcndef { - margin-left: 2em; - margin-bottom: 2em; -} - -dd { - margin-bottom: 2em; +/* Stop not using half the screen */ +body { + max-width: none; /* was: 80ch */ } .cpp-symbols dt { font-family: monospace; } -.cpp-symbols dd { - margin-bottom: 1em; + +/* Resemble style of