------------------------------------------------------------------- Mon Mar 18 06:39:02 UTC 2024 - David Anes - Security fix (boo#1221289, CVE-2024-28757): XML Entity Expansion attack when there is isolated use of external parsers. * Added expat-CVE-2024-28757.patch * Added expat-fix-minicheck.patch ------------------------------------------------------------------- Sun Dec 11 20:35:38 UTC 2022 - Andreas Stieger - add upstream signing key and validate source signature ------------------------------------------------------------------- Wed Oct 26 06:19:38 UTC 2022 - David Anes - Update to 2.5.0: (bsc#1204708) * Security fixes: - CVE-2022-43680 -- Fix heap use-after-free after overeager destruction of a shared DTD in function XML_ExternalEntityParserCreate in out-of-memory situations. Expected impact is denial of service or potentially arbitrary code execution. * Bug fixes: - Fix curruption from undefined entities - Fix case when parsing was suspended while processing nested entities - Stop leaking opening tag bindings after a closing tag mismatch error where a parser is reset through XML_ParserReset and then reused to parse - CMake: Fix generation of pkg-config file - MinGW|CMake: Fix static library name * Other changes: - Protect header expat_config.h from multiple inclusion - examples: Make use of XML_GetBuffer and be more consistent across examples - Address compiler warnings - Version info bumped from 9:9:8 to 9:10:8; see https://verbump.de/ for what these numbers do ------------------------------------------------------------------- Tue Sep 20 15:54:12 UTC 2022 - David Anes - update to 2.4.9: (bsc#1203438) * Security fixes: - CVE-2022-40674 -- Heap use-after-free vulnerability in function doContent. Expected impact is denial of service or potentially arbitrary code execution. * Bug fixes: - MinGW: Fix mis-compilation for -D__USE_MINGW_ANSI_STDIO=0 - docs: Fix documentation on effect of switch XML_DTD on symbol visibility in doc/reference.html * Other changes: - MinGW: Make fix-xmltest-log.sh drop more Wine bug output - Autotools: Sync CMake templates with CMake 3.22 - CMake: Migrate from use of CMAKE_*_POSTFIX to dedicated variables EXPAT_*_POSTFIX to stop affecting other projects - Windows|CMake: Add missing -DXML_STATIC to test runners and fuzzers - Windows|CMake: Render .def file from a template to fix linking with -DEXPAT_DTD=OFF and/or -DEXPAT_ATTR_INFO=ON - MinGW|CMake: Apply MSVC .def file when linking - MinGW|CMake: Sync library name with GNU Autotools, i.e. produce libexpat-1.dll rather than libexpat.dll by default. Filename libexpat.dll.a is unaffected. - MinGW|CMake: Set missing variable CMAKE_RC_COMPILER in toolchain file "cmake/mingw-toolchain.cmake" to avoid error "windres: Command not found" on e.g. Ubuntu 20.04 - CMake: Unify inconsistent use of set() and option() in context of public build time options to take need for set(.. FORCE) in projects using Expat by means of add_subdirectory(..) off Expat's users' shoulders - Stop exporting API symbols when building a static library - Resolve use of deprecated "fgrep" by "grep -F" - CMake: Make documentation on variables a bit more consistent - CMake: Drop leading whitespace from a #cmakedefine line in file expat_config.h.cmake - xmlwf: Fix harmless variable mix-up in function nsattcmp - Address Cppcheck warnings - Address Clang 15 compiler warnings - Version info bumped from 9:8:8 to 9:9:8; see https://verbump.de/ for what these numbers do * Infrastructure: - CI: Windows: Start covering MSVC 2022 - CI: macOS: Migrate off deprecated macOS 10.15 - CI: Linux: Make migration off deprecated Ubuntu 18.04 work - CI: Upgrade Clang from 14 to 15 - apply-clang-format.sh: Add support for BSD find - coverage.sh: Exclude MinGW headers - coverage.sh: Fix name collision for -funsigned-char ------------------------------------------------------------------- Tue Mar 29 05:26:59 UTC 2022 - David Anes - update to 2.4.8: * Other changes: - pkg-config: Move "-lm" to section "Libs.private" - CMake|MSVC: Fix pkg-config section "Libs" - CMake|macOS: Start using linker arguments "-compatibility_version " and "-current_version " in a way compatible with GNU Libtool - Version info bumped from 9:7:8 to 9:8:8; see https://verbump.de/ for what these numbers do ------------------------------------------------------------------- Sat Mar 5 06:34:13 UTC 2022 - David Anes - update to 2.4.7 (bsc#1196784, CVE-2022-25236): * Bug fixes: - Relax fix to CVE-2022-25236 (introduced with release 2.4.5) with regard to all valid URI characters (RFC 3986), i.e. the following set (excluding whitespace): ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 % -._~ :/?#[]@ !$&'()*+,;= * Other changes: - CMake|Windows: Store Expat version in the DLL - Document consequences of namespace separator choices not just in doc/reference.html but also in header - Document Expat's lack of validation of namespace URIs against RFC 3986, and that the XML 1.0r4 specification doesn't require Expat to validate namespace URIs, and that Expat may do more in that regard in future releases. If you find need for strict RFC 3986 URI validation on application level today, https://uriparser.github.io/ may be of interest. - Fix documentation of XML_EndDoctypeDeclHandler in - Document that a call to XML_FreeContentModel can be done at a later time from outside the element declaration handler - Make hardcoded namespace URIs easier to find in code - Update documentation on use of XML_POOR_ENTOPY on Solaris - tests: Resolve use of macros NAN and INFINITY for GNU G++ 4.8.2 on Solaris. - Version info bumped from 9:6:8 to 9:7:8; see https://verbump.de/ for what these numbers do ------------------------------------------------------------------- Sun Feb 20 19:48:53 UTC 2022 - David Anes - update to 2.4.6 (bsc#1196168, CVE-2022-25313): * Bug fixes: - Fix a regression introduced by the fix for CVE-2022-25313 in release 2.4.5 that affects applications that (1) call function XML_SetElementDeclHandler and (2) are parsing XML that contains nested element declarations (e.g. ""). - Version info bumped from 9:5:8 to 9:6:8; see https://verbump.de/ for what these numbers do. ------------------------------------------------------------------- Sat Feb 19 09:21:21 UTC 2022 - David Anes - update to 2.4.5 (bsc#1196171, bsc#1196169, bsc#1196168, bsc#1196026, bsc#1196025): * Security fixes: - CVE-2022-25235 -- Passing malformed 2- and 3-byte UTF-8 sequences (e.g. from start tag names) to the XML processing application on top of Expat can cause arbitrary damage (e.g. code execution) depending on how invalid UTF-8 is handled inside the XML processor; validation was not their job but Expat's. Exploits with code execution are known to exist. - CVE-2022-25236 -- Passing (one or more) namespace separator characters in "xmlns[:prefix]" attribute values made Expat send malformed tag names to the XML processor on top of Expat which can cause arbitrary damage (e.g. code execution) depending on such unexpectable cases are handled inside the XML processor; validation was not their job but Expat's. Exploits with code execution are known to exist. - CVE-2022-25313 -- Fix stack exhaustion in doctype parsing that could be triggered by e.g. a 2 megabytes file with a large number of opening braces. Expected impact is denial of service or potentially arbitrary code execution. - CVE-2022-25314 -- Fix integer overflow in function copyString; only affects the encoding name parameter at parser creation time which is often hardcoded (rather than user input), takes a value in the gigabytes to trigger, and a 64-bit machine. Expected impact is denial of service. - CVE-2022-25315 -- Fix integer overflow in function storeRawNames; needs input in the gigabytes and a 64-bit machine. Expected impact is denial of service or potentially arbitrary code execution. * Other changes: - Version info bumped from 9:4:8 to 9:5:8; see https://verbump.de/ for what these numbers do ------------------------------------------------------------------- Mon Jan 31 06:13:13 UTC 2022 - David Anes - update to 2.4.4 (bsc#1195217, bsc#1195054): * Security fixes: - CVE-2022-23852 -- Fix signed integer overflow (undefined behavior) in function XML_GetBuffer that is also called by function XML_Parse internally) for when XML_CONTEXT_BYTES is defined to >0 (which is both common and default). Impact is denial of service or more. - CVE-2022-23990 -- Fix unsigned integer overflow in function doProlog triggered by large content in element type declarations when there is an element declaration handler present (from a prior call to XML_SetElementDeclHandler). Impact is denial of service or more. * Bug fixes: - xmlwf: Fix a memory leak on output file opening error * Other changes: - Version info bumped from 9:3:8 to 9:4:8; see https://verbump.de/ for what these numbers do * Drop unused file valid-xhtml10.png ------------------------------------------------------------------- Mon Jan 17 09:14:10 UTC 2022 - Dirk Müller - update to 2.4.3 (bsc#1194251, bsc#1194362, bsc#1194474, bsc#1194476, bsc#1194477, bsc#1194478, bsc#1194479, bsc#1194480): * CVE-2021-45960 -- Fix issues with left shifts by >=29 places resulting in a) realloc acting as free b) realloc allocating too few bytes c) undefined behavior depending on architecture and precise value for XML documents with >=2^27+1 prefixed attributes on a single XML tag a la "" where XML_ParserCreateNS is used to create the parser (which needs argument "-n" when running xmlwf). Impact is denial of service, or more. * CVE-2021-46143 (ZDI-CAN-16157) -- Fix integer overflow on variable m_groupSize in function doProlog leading to realloc acting as free. Impact is denial of service or more. * CVE-2022-22822 to CVE-2022-22827 -- Prevent integer overflows near memory allocation at multiple places. Mitre assigned a dedicated CVE for each involved internal C function: - CVE-2022-22822 for function addBinding - CVE-2022-22823 for function build_model - CVE-2022-22824 for function defineAttribute - CVE-2022-22825 for function lookup - CVE-2022-22826 for function nextScaffoldPart - CVE-2022-22827 for function storeAtts Impact is denial of service or more. ------------------------------------------------------------------- Mon Dec 27 16:02:14 UTC 2021 - Dirk Müller - update to 2.4.2: * Link againgst libm for function "isnan" * Include expat_config.h as early as possible * Autotools: Include files with release archives: - buildconf.sh - fuzz/*.c * Autotools: Sync CMake templates * docs: Document that function XML_GetBuffer may return NULL when asking for a buffer of 0 (zero) bytes size * docs: Fix return value docs for both XML_SetBillionLaughsAttackProtection* functions * Version info bumped from 9:1:8 to 9:2:8 ------------------------------------------------------------------- Mon May 24 08:17:12 UTC 2021 - Pedro Monreal - Update to 2.4.1: * Bug fixes: - Autotools: Fix installed header expat_config.h for multilib systems; regression introduced in 2.4.0 by pull request #486 * Other changes: - Version info bumped from 9:0:8 to 9:1:8; see https://verbump.de/ for what these numbers do ------------------------------------------------------------------- Mon May 24 08:15:42 UTC 2021 - Pedro Monreal - Update to 2.4.0: [CVE-2013-0340 "Billion Laughs"] * Security fixes: - 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: - 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. - 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: - xmlwf: Improve help output and the xmlwf man page - xmlwf: Improve maintainability through some refactoring - xmlwf: Fix man page DocBook validity - CMake: Support absolute paths for both CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR - CMake: Add support for standard variable BUILD_SHARED_LIBS - Unexpose symbol _INTERNAL_trim_to_complete_utf8_characters - Resolve macro HAVE_EXPAT_CONFIG_H - Delete unused legacy helper file "conftools/PrintPath" - doc/reference.html: Fix XHTML validity - doc/reference.html: Replace the 90s look by OK.css - 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 ------------------------------------------------------------------- Tue Apr 13 06:04:38 UTC 2021 - Dominique Leuenberger - Do not BuildRequire cmake: expat is part of the distro bootstrap cycle and any additional dependency makes the ring larger. In this case here, cmake was even only used to own a directory. ------------------------------------------------------------------- Tue Apr 6 02:16:20 UTC 2021 - Dirk Müller - update to 2.3.0: * When calling XML_ParseBuffer without a prior successful call to XML_GetBuffer as a user, no longer trigger undefined behavior (by adding an integer to a NULL pointer) but rather return XML_STATUS_ERROR and set the error code to (new) code XML_ERROR_NO_BUFFER. Found by UBSan (UndefinedBehaviorSanitizer) of Clang 11 (but not Clang 9). * xmlwf: Exit status 2 was used for both: - malformed input files (documented) and - invalid command-line arguments (undocumented). case of invalid command-line arguments now has its own exit status 4, resolving the ambiguity. * Other changes ------------------------------------------------------------------- Sun Oct 4 19:19:55 UTC 2020 - Pedro Monreal - Update to 2.2.10: * Bug fixes: - Fix undefined behavior during parsing caused by pointer arithmetic with NULL pointers - Fix reading uninitialized variable during parsing - xmlwf: Add missing check for malloc NULL return * Other changes: - xmlwf: Document exit codes in xmlwf manpage and exit with code 3 (rather than code 1) for output errors when used with "-d DIRECTORY" - Autotools: Use -Werror while configure tests the compiler for supported compile flags to avoid false positives - Autotools: Improve handling of user (C|CPP|CXX|LD)FLAGS, e.g. ensure that they have the last word over flags added while running ./configure - CMake: Create libexpatw.{dll,so} and expatw.pc (with emphasis on suffix "w") with -DEXPAT_CHAR_TYPE=(ushort|wchar_t) - CMake: Detect and deny unsupported build combinations involving -DEXPAT_CHAR_TYPE=(ushort|wchar_t) - CMake: Install pre-compiled shipped xmlwf.1 manpage in case of -DEXPAT_BUILD_DOCS=OFF - CMake: Fix use of Expat by means of add_subdirectory - CMake: Keep expat target name constant at "expat" (i.e. refrain from using the target name to control build artifact filenames) - CMake: Expose man page compilation as target "xmlwf-manpage" - CMake: Introduce option EXPAT_BUILD_PKGCONFIG to control generation of pkg-config file "expat.pc" - CMake: Add minimalistic support for building binary packages with CMake target "package"; based on CPack - CMake: Add option -DEXPAT_OSSFUZZ_BUILD=(ON|OFF) with default OFF to build fuzzer code against OSS-Fuzz and related environment variable LIB_FUZZING_ENGINE - Fix testsuite for -DEXPAT_DTD=OFF and -DEXPAT_NS=OFF - Address compiler warnings - Address pngcheck warnings with doc/*.png images: Version info bumped from 7:11:6 to 7:12:6 ------------------------------------------------------------------- Fri Nov 29 18:30:43 UTC 2019 - Pedro Monreal Gonzalez - Version update to 2.2.9 * Other changes: - examples: Drop executable bits from elements.c #349 Windows: Change the name of the Windows DLLs from expat*.dll to libexpat*.dll once more (regression from 2.2.8, first fixed in 1.95.3, issue #61 on SourceForge today, was issue #432456 back then); needs a fix due case-insensitive file systems on Windows and the fact that Perl's XML::Parser::Expat compiles into Expat.dll. #347 Windows: Only define _CRT_RAND_S if not defined Version info bumped from 7:10:6 to 7:11:6 ------------------------------------------------------------------- Mon Sep 16 08:21:52 UTC 2019 - Pedro Monreal Gonzalez - Version update to 2.2.8 * Security fixes: (CVE-2019-15903, bsc#1149429) - CVE-2019-15903 -- Fix heap overflow triggered by XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber), and deny internal entities closing the doctype; * Bug fixes: - Fix cases where XML_StopParser did not have any effect when called from inside of an end element handler - xmlwf: Fix exit code for operation without "-d DIRECTORY"; previously, only "-d DIRECTORY" would give you a proper exit code: Now both cases return exit code 2. * Other changes: - examples: Improve elements.c - Autotools: Add argument --enable-xml-attr-info - Autotools: Add arguments --with-getrandom --without-getrandom --with-sys-getrandom --without-sys-getrandom - Autotools: Fix linking issues with "./configure LD=clang" - Autotools: Fix "make run-xmltest" for out-of-source builds - CMake: Pull all options from Expat <=2.2.7 into namespace - CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF), default OFF - CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), default OFF - CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), default OFF - CMake: Add arguments -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO - CMake: Add arguments -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO - CMake: Install expat_config.h to include directory - CMake: Generate and install configuration files for future find_package(expat [..] CONFIG [..]) - CMake: Now produces a summary of applied configuration - CMake: Require C++ compiler only when tests are enabled - CMake: Fix compilation for 16bit character types, i.e. ex -DXML_UNICODE=ON (and ex -DXML_UNICODE_WCHAR_T=ON) - CMake: Port "make run-xmltest" from GNU Autotools to CMake - CMake: Integrate OSS-Fuzz fuzzers, option -DEXPAT_BUILD_FUZZERS=(ON|OFF), default OFF - Removed patches fixed in the update: * expat-CVE-2019-15903.patch * expat-CVE-2019-15903-tests.patch ------------------------------------------------------------------- Wed Sep 4 17:11:38 UTC 2019 - Pedro Monreal Gonzalez - Security fix (CVE-2019-15903, bsc#1149429) * Crafted XML input results in heap-based buffer over-read by fooling the parser into changing from DTD parsing to document parsing * Added patches: - expat-CVE-2019-15903.patch - expat-CVE-2019-15903-tests.patch ------------------------------------------------------------------- Tue Jul 2 10:33:51 UTC 2019 - Pedro Monreal Gonzalez - Version update to 2.2.7 (CVE-2018-20843, bsc#1139937) * Security fixes: - CVE-2018-20843 - Fix extraction of namespace prefixes from XML names; XML names with multiple colons could end up in the wrong namespace, and take a high amount of RAM and CPU resources while processing, opening the door to use for denial-of-service attacks * Other changes: - Autotools/CMake: Utilize -fvisibility=hidden to stop exporting non-API symbols - Autotools: Add --without-examples and --without-tests - Autotools: Modernize configure.ac - Autotools: Fix check for -fvisibility=hidden for Clang - Autotools: Fix compilation for lack of docbook2x-man - CMake: Make libdir of pkgconfig expat.pc support multilib - CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR - Remove fallback to bcopy, assume that memmove(3) exists - Removed expat-2.2.6-fix-make-clean.patch ------------------------------------------------------------------- Thu Feb 7 10:45:14 UTC 2019 - Bernhard Wiedemann - Add expat-2.2.6-fix-make-clean.patch - Allow profile guided optimization again ------------------------------------------------------------------- Thu Jan 3 13:08:57 UTC 2019 - Tomáš Chvátal - Drop docbook2x dependency, the manpages are generated in the upstream archive and this way we break buildcycle ------------------------------------------------------------------- Tue Sep 11 11:32:10 UTC 2018 - pmonrealgonzalez@suse.com - Version update to 2.2.6 Sun August 12 2018 * Bug fixes: - Avoid doing arithmetic with NULL pointers in XML_GetBuffer - Fix 2.2.5 regression with suspend-resume while parsing a document like '' * Other changes: - Autotools: Fix docbook-related configure syntax error - Autotools: Avoid grep option `-q` for Solaris - Autotools: Support ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation" - Autotools: Support DOCBOOK_TO_MAN command which produces xmlwf.1 rather than XMLWF.1; also covers case insensitive file systems - Autotools: Drop -rpath option passed to libtool - Autotools: Detect and deny SGML docbook2man as ours is XML - Autotools/CMake: Support command db2x_docbook2man as well - CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF - CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF - CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T, both defaulting to OFF - CMake: Prefer check_symbol_exists over check_function_exists - CMake: Create the same pkg-config file as with GNU Autotools - CMake: Use GNUInstallDirs module to set proper defaults for install directories - CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM - Address compiler warnings - Fix miscellaneous typos ------------------------------------------------------------------- Thu Nov 16 10:22:18 UTC 2017 - jengelh@inai.de - Expand description of expat-devel. ------------------------------------------------------------------- Thu Nov 16 09:04:25 UTC 2017 - mpluskal@suse.com - Do not generate manpages from docbook - Temporarily disable profiling due to bug in build system ------------------------------------------------------------------- Wed Nov 8 20:01:31 UTC 2017 - aavindraa@gmail.com - Version update to 2.2.5 Tue October 31 2017 * Bug fixes: - If the parser runs out of memory, make sure its internal state reflects the memory it actually has, not the memory it wanted to have. - The default handler wasn't being called when it should for a SYSTEM or PUBLIC doctype if an entity declaration handler was registered. - Fix a case of mistakenly reported parsing success where XML_StopParser was called from an element handler - Function XML_ErrorString was returning NULL rather than a message for code XML_ERROR_INVALID_ARGUMENT introduced with release 2.2.1 * Other changes: - Add argument -N adding notation declarations - various compiler-specific fixes - Improve docbook2x-man detection - drop expat-docbook.patch * fixed in 0f5186c7b8e503c669e332d944712de010b265f3 - switch to github for release tarballs and website ------------------------------------------------------------------- Thu Oct 26 09:53:50 UTC 2017 - pmonrealgonzalez@suse.com - Version update to 2.2.4 Sat August 19 2017 * Bug fixes: #115 Fix copying of partial characters for UTF-8 input * Other changes: #109 Fix "make check" for non-x86 architectures that default to unsigned type char (-128..127 rather than 0..255) #109 coverage.sh: Cover -funsigned-char Autotools: Introduce --without-xmlwf argument #65 Autotools: Replace handwritten Makefile with GNU Automake #43 CMake: Auto-detect high quality entropy extractors, add new option USE_libbsd=ON to use arc4random_buf of libbsd #74 CMake: Add -fno-strict-aliasing only where supported #114 CMake: Always honor manually set BUILD_* options #114 CMake: Compile man page if docbook2x-man is available, only #117 Include file tests/xmltest.log.expected in source tarball (required for "make run-xmltest") #111 Fix some typos in documentation Version info bumped from 7:5:6 to 7:6:6 - Release 2.2.3 Wed August 2 2017 * Bug fixes: #85 Fix a dangling pointer issue related to realloc * Other changes: #91 Linux: Allow getrandom to fail if nonblocking pool has not yet been initialized and read /dev/urandom then, instead. This is in line with what recent Python does. #86 Check that a UTF-16 encoding in an XML declaration has the right endianness #4 #5 #7 Recover correctly when some reallocations fail Repair "./configure && make" for systems without any provider of high quality entropy and try reading /dev/urandom on those Ensure that user-defined character encodings have converter functions when they are needed Fix mis-leading description of argument -c in xmlwf.1 Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__) for CloudABI #100 Fix use of SIPHASH_MAIN in siphash.h #23 Test suite: Fix memory leaks Version info bumped from 7:4:6 to 7:5:6 - Release 2.2.2 Wed July 12 2017 * Security fixes: #43 Protect against compilation without any source of high quality entropy enabled, e.g. with CMake build system; * [MOX-006] Fix non-NULL parser parameter validation in XML_Parse; resulted in NULL dereference, previously; * Bug fixes: #69 Fix improper use of unsigned long long integer literals * Other changes: #73 Start requiring a C99 compiler #49 Fix "==" Bashism in configure script #58 Address compile warnings #68 Fix "./buildconf.sh && ./configure" for some versions of Dash for /bin/sh #72 CMake: Ease use of Expat in context of a parent project with multiple CMakeLists.txt files #72 CMake: Resolve mistaken executable permissions #76 Address compile warning with -DNDEBUG (not recommended!) #77 Address compile warning about macro redefinition * Added patch expat-docbook.patch to compile the man pages with docbook-to-man * Cleaned spec file with spec-cleaner ------------------------------------------------------------------- Sat Oct 7 14:32:27 UTC 2017 - jayvdb@gmail.com - Allow building when do_profiling is undefined ------------------------------------------------------------------- Tue Jul 11 15:02:55 UTC 2017 - mpluskal@suse.com - Build with profiling when possible ------------------------------------------------------------------- Tue Jul 4 14:33:00 UTC 2017 - meissner@suse.com - Version update to 2.2.1 Sat June 17 2017 - Security fixes: CVE-2017-9233 / bsc#1047236 -- External entity infinite loop DoS Details: https://libexpat.github.io/doc/cve-2017-9233/ Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f - [MOX-002] CVE-2016-9063 / bsc#1047240 -- Detect integer overflow; (Fixed version of existing downstream patches!) - (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off longer tag names; #25 More integer overflow detection (function poolGrow); - [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; - [MOX-005] #30 Use high quality entropy for hash initialization: * arc4random_buf on BSD, systems with libbsd (when configured with --with-libbsd), CloudABI * RtlGenRandom on Windows XP / Server 2003 and later * getrandom on Linux 3.17+ In a way, that's still part of CVE-2016-5300. https://github.com/libexpat/libexpat/pull/30/commits - [MOX-005] For the low quality entropy extraction fallback code, the parser instance address can no longer leak, - [MOX-003] Prevent use of uninitialised variable; commit - [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b Add missing parameter validation to public API functions and dedicated error code XML_ERROR_INVALID_ARGUMENT: - [MOX-006] * NULL checks; commits * Negative length (XML_Parse); commit - [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f - [MOX-001] #35 Change hash algorithm to William Ahern's version of SipHash to go further with fixing CVE-2012-0876. https://github.com/libexpat/libexpat/pull/39/commits - Bug fixes: #32 Fix sharing of hash salt across parsers; relevant where XML_ExternalEntityParserCreate is called prior to XML_Parse, in particular (e.g. FBReader) #28 xmlwf: Auto-disable use of memory-mapping (and parsing as a single chunk) for files larger than ~1 GB (2^30 bytes) rather than failing with error "out of memory" #3 Fix double free after malloc failure in DTD code; commit 7ae9c3d3af433cd4defe95234eae7dc8ed15637f #17 Fix memory leak on parser error for unbound XML attribute prefix with new namespaces defined in the same tag; found by Google's OSS-Fuzz; commits xmlwf on Windows: Add missing calls to CloseHandle - New features: #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1 for runtime debugging of entropy extraction Bump version info from 7:2:6 to 7:3:6 ------------------------------------------------------------------- Mon Jul 18 23:02:23 UTC 2016 - jengelh@inai.de - Remove pointless --with-pic (for static only) ------------------------------------------------------------------- Thu Jul 14 08:43:31 UTC 2016 - tchvatal@suse.com - Version update to 2.2.0: * Fixes bnc#983215 CVE-2012-6702 * Fixes bnc#983216 CVE-2016-5300 * Various cmake and autotools script updates * Fix detection of utf8 character boundaries - Remove all patches merged upstream: * expat-2.1.1-avoid_relying_on_undef_behaviour.patch * expat-2.1.1-parser_crashes_on_malformed_input.patch * expat-alloc-size.patch * expat-visibility.patch ------------------------------------------------------------------- Wed May 18 11:43:51 UTC 2016 - kstreitova@suse.com - add expat-2.1.1-avoid_relying_on_undef_behaviour.patch to avoid relying on undefined behavior in the original CVE-2015-1283 fix [bnc#980391], [bnc#983985], [CVE-2016-4472] - add expat-2.1.1-parser_crashes_on_malformed_input.patch to fix Expat XML parser that mishandles certain kinds of malformed input documents [bnc#979441], [CVE-2016-0718] - use spec-cleaner to clean specfile ------------------------------------------------------------------- Fri Apr 1 16:32:27 UTC 2016 - crrodriguez@opensuse.org - After simplification of expat-visibility.patch, it became uneffective as no symbols are getting hidden. add -fvisibility=hidden to CFLAGS again. - expat-alloc-size.patch: fix braino, realloc()-like functions should not take __attribute__(malloc) ------------------------------------------------------------------- Wed Mar 23 08:31:29 UTC 2016 - idonmez@suse.com - Update to version 2.1.1 * Fixes CVE-2015-1283 — Multiple integer overflows in the XML_GetBuffer function * Fix potential null pointer dereference * Symbol XML_SetHashSalt was not exported * Output of xmlwf -h was incomplete * Document behavior of calling XML_SetHashSalt with salt 0 * Minor improvements to man page xmlwf(1) - Simplify expat-visibility.patch, refresh expat-alloc-size.patch - Drop config-guess-sub-update.patch, fixed upstream. ------------------------------------------------------------------- Sat Jul 11 12:10:03 UTC 2015 - mpluskal@suse.com - Cleanup spec file with spec-cleaner - Remove old ppc obsoletes/provides ------------------------------------------------------------------- Tue Mar 26 13:10:01 UTC 2013 - mmeister@suse.com - Added url as source. Please see http://en.opensuse.org/SourceUrls ------------------------------------------------------------------- Thu Feb 21 16:02:17 UTC 2013 - jengelh@inai.de - Sanitize description of expat (replace it with a more current one from the homepage) ------------------------------------------------------------------- Mon Feb 4 12:59:44 UTC 2013 - schwab@suse.de - Update config.guess/sub for aarch64 ------------------------------------------------------------------- Wed Jan 23 09:07:25 UTC 2013 - pgajdos@suse.com - fix of fix of [bnc#798644] - according to upstream changelog: - Improved ability to build without the configure-generated expat_config.h header. This is useful for applications which embed Expat rather than linking in the library. because I am not exactly sure about implication of this, rather use -DXML_HAVE_VISIBILITY in CFLAG_VISIBILITY in expat-visibility.patch ------------------------------------------------------------------- Tue Jan 22 12:40:02 UTC 2013 - jengelh@inai.de - Executing autoreconf requires autoconf BuildRequire ------------------------------------------------------------------- Fri Jan 18 08:53:33 UTC 2013 - pgajdos@suse.com - really hide private Xml* symbols [bnc#798644] * modified visibility.patch ------------------------------------------------------------------- Tue Apr 10 19:06:34 UTC 2012 - tabraham@novell.com - update to 2.1.0 - Bug Fixes: #1742315: Harmful XML_ParserCreateNS suggestion. #2895533: CVE-2012-1147 - Resource leak in readfilemap.c. #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3. #1983953, 2517952, 2517962, 2649838: Build modifications using autoreconf instead of buildconf.sh. #2815947, #2884086: OBJEXT and EXEEXT support while building. #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences. #2517938: xmlwf should return non-zero exit status if not well-formed. #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml. #2855609: Dangling positionPtr after error. #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8(). #2958794: CVE-2012-1148 - Memory leak in poolGrow. #2990652: CMake support. #3010819: UNEXPECTED_STATE with a trailing "%" in entity value. #3206497: Unitialized memory returned from XML_Parse. #3287849: make check fails on mingw-w64. #3496608: CVE-2012-0876 - Hash DOS attack. - Patches: #1749198: pkg-config support. #3010222: Fix for bug #3010819. #3312568: CMake support. #3446384: Report byte offsets for attr names and values. - New Features / API changes: * Added new API member XML_SetHashSalt() that allows setting an intial value (salt) for hash calculations. This is part of the fix for bug #3496608 to randomize hash parameters. * When compiled with XML_ATTR_INFO defined, adds new API member XML_GetAttributeInfo() that allows retrieving the byte offsets for attribute names and values (patch #3446384). * Added CMake build system. See bug #2990652 and patch #3312568. * Added run-benchmark target to Makefile.in - relies on testdata module present in the same relative location as in the repository. ------------------------------------------------------------------- Tue Mar 6 03:01:08 UTC 2012 - tabraham@novell.com - update to 2.1.0 beta * refreshed expat-visibility.patch * removed obsolete expat-CVE-2009-3560.patch * removed obsolete expat-CVE-2009-2625.patch - hash table DOS attack fix - accumulated bug fixes and some changes to the build system - new conditional feature to make byte offsets for attributes and attribute names available ------------------------------------------------------------------- Sun Feb 12 14:42:34 UTC 2012 - crrodriguez@opensuse.org - Put libraries back to %{_libdir}, /usr merge project ------------------------------------------------------------------- Fri Dec 2 12:43:19 UTC 2011 - coolo@suse.com - add automake as buildrequire to avoid implicit dependency ------------------------------------------------------------------- Sun Oct 30 22:03:29 UTC 2011 - crrodriguez@opensuse.org - Hide non public symbols reusing existing win32 API export/imports - annotate malloc/realloc-like functions with attribute alloc_size to catch possible misuses in calling code. ------------------------------------------------------------------- Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de - Remove redundant/obsolete tags/sections from specfile (cf. packaging guidelines) - Use %_smp_mflags for parallel build - Add libexpat-devel to baselibs ------------------------------------------------------------------- Fri Feb 25 16:01:01 UTC 2011 - prusnak@opensuse.org - fix license (MIT) in spec file ------------------------------------------------------------------- Fri Jan 8 15:04:28 CET 2010 - prusnak@suse.cz - fix CVE-2009-3560.patch [bnc#566434] ------------------------------------------------------------------- Sun Dec 13 19:28:22 CET 2009 - jengelh@medozas.de - add baselibs.conf as a source ------------------------------------------------------------------- Fri Dec 4 15:43:29 CET 2009 - prusnak@suse.cz - fix DoS (CVE-2009-3560.patch) [bnc#558892] ------------------------------------------------------------------- Thu Oct 29 14:22:47 CET 2009 - prusnak@suse.cz - fix DoS (CVE-2009-2625.patch) [bnc#550664] ------------------------------------------------------------------- Sun Apr 5 15:45:49 CEST 2009 - crrodriguez@suse.de - test suite requires gcc-c++ to compile ------------------------------------------------------------------- Thu Feb 19 04:55:08 CET 2009 - crrodriguez@suse.de - remove static libraries, shouldnt be needed anymore. - run make check ------------------------------------------------------------------- Wed Dec 10 12:34:56 CET 2008 - olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) ------------------------------------------------------------------- Thu Oct 30 12:34:56 CET 2008 - olh@suse.de - obsolete old -XXbit packages (bnc#437293) ------------------------------------------------------------------- Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support ------------------------------------------------------------------- Sat Jul 28 19:38:40 CEST 2007 - coolo@suse.de - fix devel symlink ------------------------------------------------------------------- Wed Jul 25 11:29:59 CEST 2007 - prusnak@suse.cz - move libraries from /usr/lib to /lib [#285472] - replace deprecated %run_ldconfig with /sbin/ldconfig ------------------------------------------------------------------- Thu Jun 7 16:46:32 CEST 2007 - prusnak@suse.cz - update to 2.0.1: ( from Changes ) * Fixed bugs #1515266, 1515600: The character data handler's calling of XML_StopParser() was not handled properly; if the parser was stopped and the handler set to NULL, the parser would segfault. * Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed some character constants to be ASCII encoded. * Minor cleanups of the test harness. * Fixed xmlwf bug #1513566: "out of memory" error on file size zero. * Fixed outline.c bug #1543233: missing a final XML_ParserFree() call. * Fixes and improvements for Windows platform: bugs #1409451, #1476160, 1548182, 1602769, 1717322. * Build fixes for various platforms: HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180. All Unix: #1554618 (refreshed config.sub/config.guess). #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT, without relying on GNU-Make specific features. #1647805: Patched configure.in to work better with Intel compiler. * Fixes to Makefile.in to have make check work correctly: bugs #1408143, #1535603, #1536684. * Added Open Watcom support: patch #1523242. ------------------------------------------------------------------- Tue Apr 17 18:49:10 CEST 2007 - prusnak@suse.cz - split libexpat1 and libexpat-devel subpackages [#260214] ------------------------------------------------------------------- Thu Oct 19 12:37:07 CEST 2006 - dmueller@suse.de - strip .la file ------------------------------------------------------------------- Wed Jan 25 21:30:10 CET 2006 - mls@suse.de - converted neededforbuild to BuildRequires ------------------------------------------------------------------- Fri Jan 13 00:21:55 CET 2006 - ro@suse.de - fixed file list for debuginfo package (do not pack all of libdir) ------------------------------------------------------------------- Wed Jan 11 17:43:46 CET 2006 - mjancar@suse.cz - update to 2.0.0 ------------------------------------------------------------------- Mon Jan 9 13:25:07 CET 2006 - mjancar@suse.cz - update to 2.0 pre release ------------------------------------------------------------------- Wed Nov 10 11:54:21 CET 2004 - ro@suse.de - fixed filelist ------------------------------------------------------------------- Mon Aug 09 16:26:05 CEST 2004 - tcrhak@suse.cz - update to 1.95.8 ------------------------------------------------------------------- Thu Feb 5 18:28:34 CET 2004 - kukuk@suse.de - Build as user ------------------------------------------------------------------- Thu Feb 05 18:00:24 CET 2004 - tcrhak@suse.cz - update to version 1.95.7 ------------------------------------------------------------------- Tue Feb 18 15:36:28 CET 2003 - tcrhak@suse.cz - in expat.h, declare enum XML_Status before using it; put into patch "...-header.diff" [bug #23742] ------------------------------------------------------------------- Mon Feb 17 18:05:52 CET 2003 - tcrhak@suse.cz - updated to version 1.95.6 ------------------------------------------------------------------- Sun Dec 22 18:21:13 CET 2002 - tcrhak@suse.cz - update to version 1.95.5 ------------------------------------------------------------------- Sat Jul 13 15:14:59 CEST 2002 - tcrhak@suse.cz - update to version 1.95.4 ------------------------------------------------------------------- Thu Mar 28 15:17:43 CET 2002 - tcrhak@suse.cz - added parameter --target to configure ------------------------------------------------------------------- Mon Jan 14 13:25:11 CET 2002 - rvasice@suse.cz - use %{_libdir} and %{_lib} ------------------------------------------------------------------- Tue Nov 20 18:41:35 CET 2001 - rvasice@suse.cz - fix URL in spec file ------------------------------------------------------------------- Wed Aug 15 19:54:16 CEST 2001 - rvasice@suse.cz - update to version 1.95.2 - spec file cleanup - added DESTDIR ------------------------------------------------------------------- Mon May 14 12:08:01 CEST 2001 - pblaha@suse.cz - fixed links for soname of libexpat.so* ------------------------------------------------------------------- Fri May 11 09:03:03 CEST 2001 - cihlar@suse.cz - fixed soname of libexpat.so.1.2 ------------------------------------------------------------------- Fri Jan 5 10:13:20 CET 2001 - pblaha@suse.cz - back on stable version 1.2 added build shared libexpat.so ------------------------------------------------------------------- Thu Jan 4 15:46:21 CET 2001 - pblaha@suse.cz - update on 1.95.1 on sourgeforge needed for midgard - new description ------------------------------------------------------------------- Thu Mar 9 11:01:23 CET 2000 - ke@suse.de - Don't "install" symlinks; use "cp"; reported by bs; proposed fix by ro. - Cleanup the spec file: better Group tag; more accurate files list. ------------------------------------------------------------------- Tue Nov 23 14:59:17 CET 1999 - ke@suse.de - first SuSE package: version 1.1. - apply Debian patch to build shared libs. - build libexpat.a.