10a48773fSEric van GyzenNOTE: We are looking for help with a few things: 20a48773fSEric van Gyzen https://github.com/libexpat/libexpat/labels/help%20wanted 30a48773fSEric van Gyzen If you can help, please get in touch. Thanks! 40a48773fSEric van Gyzen 5*4543ef51SXin LIRelease 2.6.0 Tue February 6 2024 6*4543ef51SXin LI Security fixes: 7*4543ef51SXin LI #789 #814 CVE-2023-52425 -- Fix quadratic runtime issues with big tokens 8*4543ef51SXin LI that can cause denial of service, in partial where 9*4543ef51SXin LI dealing with compressed XML input. Applications 10*4543ef51SXin LI that parsed a document in one go -- a single call to 11*4543ef51SXin LI functions XML_Parse or XML_ParseBuffer -- were not affected. 12*4543ef51SXin LI The smaller the chunks/buffers you use for parsing 13*4543ef51SXin LI previously, the bigger the problem prior to the fix. 14*4543ef51SXin LI Backporters should be careful to no omit parts of 15*4543ef51SXin LI pull request #789 and to include earlier pull request #771, 16*4543ef51SXin LI in order to not break the fix. 17*4543ef51SXin LI #777 CVE-2023-52426 -- Fix billion laughs attacks for users 18*4543ef51SXin LI compiling *without* XML_DTD defined (which is not common). 19*4543ef51SXin LI Users with XML_DTD defined have been protected since 20*4543ef51SXin LI Expat >=2.4.0 (and that was CVE-2013-0340 back then). 21*4543ef51SXin LI 22*4543ef51SXin LI Bug fixes: 23*4543ef51SXin LI #753 Fix parse-size-dependent "invalid token" error for 24*4543ef51SXin LI external entities that start with a byte order mark 25*4543ef51SXin LI #780 Fix NULL pointer dereference in setContext via 26*4543ef51SXin LI XML_ExternalEntityParserCreate for compilation with 27*4543ef51SXin LI XML_DTD undefined 28*4543ef51SXin LI #812 #813 Protect against closing entities out of order 29*4543ef51SXin LI 30*4543ef51SXin LI Other changes: 31*4543ef51SXin LI #723 Improve support for arc4random/arc4random_buf 32*4543ef51SXin LI #771 #788 Improve buffer growth in XML_GetBuffer and XML_Parse 33*4543ef51SXin LI #761 #770 xmlwf: Support --help and --version 34*4543ef51SXin LI #759 #770 xmlwf: Support custom buffer size for XML_GetBuffer and read 35*4543ef51SXin LI #744 xmlwf: Improve language and URL clickability in help output 36*4543ef51SXin LI #673 examples: Add new example "element_declarations.c" 37*4543ef51SXin LI #764 Be stricter about macro XML_CONTEXT_BYTES at build time 38*4543ef51SXin LI #765 Make inclusion to expat_config.h consistent 39*4543ef51SXin LI #726 #727 Autotools: configure.ac: Support --disable-maintainer-mode 40*4543ef51SXin LI #678 #705 .. 41*4543ef51SXin LI #706 #733 #792 Autotools: Sync CMake templates with CMake 3.26 42*4543ef51SXin LI #795 Autotools: Make installation of shipped man page doc/xmlwf.1 43*4543ef51SXin LI independent of docbook2man availability 44*4543ef51SXin LI #815 Autotools|CMake: Add missing -DXML_STATIC to pkg-config file 45*4543ef51SXin LI section "Cflags.private" in order to fix compilation 46*4543ef51SXin LI against static libexpat using pkg-config on Windows 47*4543ef51SXin LI #724 #751 Autotools|CMake: Require a C99 compiler 48*4543ef51SXin LI (a de-facto requirement already since Expat 2.2.2 of 2017) 49*4543ef51SXin LI #793 Autotools|CMake: Fix PACKAGE_BUGREPORT variable 50*4543ef51SXin LI #750 #786 Autotools|CMake: Make test suite require a C++11 compiler 51*4543ef51SXin LI #749 CMake: Require CMake >=3.5.0 52*4543ef51SXin LI #672 CMake: Lowercase off_t and size_t to help a bug in Meson 53*4543ef51SXin LI #746 CMake: Sort xmlwf sources alphabetically 54*4543ef51SXin LI #785 CMake|Windows: Fix generation of DLL file version info 55*4543ef51SXin LI #790 CMake: Build tests/benchmark/benchmark.c as well for 56*4543ef51SXin LI a build with -DEXPAT_BUILD_TESTS=ON 57*4543ef51SXin LI #745 #757 docs: Document the importance of isFinal + adjust tests 58*4543ef51SXin LI accordingly 59*4543ef51SXin LI #736 docs: Improve use of "NULL" and "null" 60*4543ef51SXin LI #713 docs: Be specific about version of XML (XML 1.0r4) 61*4543ef51SXin LI and version of C (C99); (XML 1.0r5 will need a sponsor.) 62*4543ef51SXin LI #762 docs: reference.html: Promote function XML_ParseBuffer more 63*4543ef51SXin LI #779 docs: reference.html: Add HTML anchors to XML_* macros 64*4543ef51SXin LI #760 docs: reference.html: Upgrade to OK.css 1.2.0 65*4543ef51SXin LI #763 #739 docs: Fix typos 66*4543ef51SXin LI #696 docs|CI: Use HTTPS URLs instead of HTTP at various places 67*4543ef51SXin LI #669 #670 .. 68*4543ef51SXin LI #692 #703 .. 69*4543ef51SXin LI #733 #772 Address compiler warnings 70*4543ef51SXin LI #798 #800 Address clang-tidy warnings 71*4543ef51SXin LI #775 #776 Version info bumped from 9:10:8 (libexpat*.so.1.8.10) 72*4543ef51SXin LI to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/ 73*4543ef51SXin LI for what these numbers do 74*4543ef51SXin LI 75*4543ef51SXin LI Infrastructure: 76*4543ef51SXin LI #700 #701 docs: Document security policy in file SECURITY.md 77*4543ef51SXin LI #766 docs: Improve parse buffer variables in-code documentation 78*4543ef51SXin LI #674 #738 .. 79*4543ef51SXin LI #740 #747 .. 80*4543ef51SXin LI #748 #781 #782 Refactor coverage and conformance tests 81*4543ef51SXin LI #714 #716 Refactor debug level variables to unsigned long 82*4543ef51SXin LI #671 Improve handling of empty environment variable value 83*4543ef51SXin LI in function getDebugLevel (without visible user effect) 84*4543ef51SXin LI #755 #774 .. 85*4543ef51SXin LI #758 #783 .. 86*4543ef51SXin LI #784 #787 tests: Improve test coverage with regard to parse chunk size 87*4543ef51SXin LI #660 #797 #801 Fuzzing: Improve fuzzing coverage 88*4543ef51SXin LI #367 #799 Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests 89*4543ef51SXin LI #698 #721 CI: Resolve some Travis CI leftovers 90*4543ef51SXin LI #669 CI: Be robust towards absence of Git tags 91*4543ef51SXin LI #693 #694 CI: Set permissions to "contents: read" for security 92*4543ef51SXin LI #709 CI: Pin all GitHub Actions to specific commits for security 93*4543ef51SXin LI #739 CI: Reject spelling errors using codespell 94*4543ef51SXin LI #798 CI: Enforce clang-tidy clean code 95*4543ef51SXin LI #773 #808 .. 96*4543ef51SXin LI #809 #810 CI: Upgrade Clang from 15 to 18 97*4543ef51SXin LI #796 CI: Start using Clang's Control Flow Integrity sanitizer 98*4543ef51SXin LI #675 #720 #722 CI: Adapt to breaking changes in GitHub Actions Ubuntu images 99*4543ef51SXin LI #689 CI: Adapt to breaking changes in Clang/LLVM Debian packaging 100*4543ef51SXin LI #763 CI: Adapt to breaking changes in codespell 101*4543ef51SXin LI #803 CI: Adapt to breaking changes in Cppcheck 102*4543ef51SXin LI 103*4543ef51SXin LI Special thanks to: 104*4543ef51SXin LI Ivan Galkin 105*4543ef51SXin LI Joyce Brum 106*4543ef51SXin LI Philippe Antoine 107*4543ef51SXin LI Rhodri James 108*4543ef51SXin LI Snild Dolkow 109*4543ef51SXin LI spookyahell 110*4543ef51SXin LI Steven Garske 111*4543ef51SXin LI and 112*4543ef51SXin LI Clang AddressSanitizer 113*4543ef51SXin LI Clang UndefinedBehaviorSanitizer 114*4543ef51SXin LI codespell 115*4543ef51SXin LI GCC Farm Project 116*4543ef51SXin LI OSS-Fuzz 117*4543ef51SXin LI Sony Mobile 118*4543ef51SXin LI 119dc58b3fcSXin LIRelease 2.5.0 Tue October 25 2022 120dc58b3fcSXin LI Security fixes: 121dc58b3fcSXin LI #616 #649 #650 CVE-2022-43680 -- Fix heap use-after-free after overeager 122dc58b3fcSXin LI destruction of a shared DTD in function 123dc58b3fcSXin LI XML_ExternalEntityParserCreate in out-of-memory situations. 124dc58b3fcSXin LI Expected impact is denial of service or potentially 125dc58b3fcSXin LI arbitrary code execution. 126dc58b3fcSXin LI 127dc58b3fcSXin LI Bug fixes: 128*4543ef51SXin LI #612 #645 Fix corruption from undefined entities 129dc58b3fcSXin LI #613 #654 Fix case when parsing was suspended while processing nested 130dc58b3fcSXin LI entities 131dc58b3fcSXin LI #616 #652 #653 Stop leaking opening tag bindings after a closing tag 132dc58b3fcSXin LI mismatch error where a parser is reset through 133dc58b3fcSXin LI XML_ParserReset and then reused to parse 134dc58b3fcSXin LI #656 CMake: Fix generation of pkg-config file 135dc58b3fcSXin LI #658 MinGW|CMake: Fix static library name 136dc58b3fcSXin LI 137dc58b3fcSXin LI Other changes: 138dc58b3fcSXin LI #663 Protect header expat_config.h from multiple inclusion 139dc58b3fcSXin LI #666 examples: Make use of XML_GetBuffer and be more 140dc58b3fcSXin LI consistent across examples 141dc58b3fcSXin LI #648 Address compiler warnings 142dc58b3fcSXin LI #667 #668 Version info bumped from 9:9:8 to 9:10:8; 143dc58b3fcSXin LI see https://verbump.de/ for what these numbers do 144dc58b3fcSXin LI 145dc58b3fcSXin LI Special thanks to: 146dc58b3fcSXin LI Jann Horn 147dc58b3fcSXin LI Mark Brand 148dc58b3fcSXin LI Osyotr 149dc58b3fcSXin LI Rhodri James 150dc58b3fcSXin LI and 151dc58b3fcSXin LI Google Project Zero 152dc58b3fcSXin LI 15371f0c44aSXin LIRelease 2.4.9 Tue September 20 2022 15471f0c44aSXin LI Security fixes: 15571f0c44aSXin LI #629 #640 CVE-2022-40674 -- Heap use-after-free vulnerability in 15671f0c44aSXin LI function doContent. Expected impact is denial of service 15771f0c44aSXin LI or potentially arbitrary code execution. 15871f0c44aSXin LI 15971f0c44aSXin LI Bug fixes: 16071f0c44aSXin LI #634 MinGW: Fix mis-compilation for -D__USE_MINGW_ANSI_STDIO=0 16171f0c44aSXin LI #614 docs: Fix documentation on effect of switch XML_DTD on 16271f0c44aSXin LI symbol visibility in doc/reference.html 16371f0c44aSXin LI 16471f0c44aSXin LI Other changes: 16571f0c44aSXin LI #638 MinGW: Make fix-xmltest-log.sh drop more Wine bug output 16671f0c44aSXin LI #596 #625 Autotools: Sync CMake templates with CMake 3.22 16771f0c44aSXin LI #608 CMake: Migrate from use of CMAKE_*_POSTFIX to 16871f0c44aSXin LI dedicated variables EXPAT_*_POSTFIX to stop affecting 16971f0c44aSXin LI other projects 17071f0c44aSXin LI #597 #599 Windows|CMake: Add missing -DXML_STATIC to test runners 17171f0c44aSXin LI and fuzzers 17271f0c44aSXin LI #512 #621 Windows|CMake: Render .def file from a template to fix 17371f0c44aSXin LI linking with -DEXPAT_DTD=OFF and/or -DEXPAT_ATTR_INFO=ON 17471f0c44aSXin LI #611 #621 MinGW|CMake: Apply MSVC .def file when linking 17571f0c44aSXin LI #622 #624 MinGW|CMake: Sync library name with GNU Autotools, 17671f0c44aSXin LI i.e. produce libexpat-1.dll rather than libexpat.dll 17771f0c44aSXin LI by default. Filename libexpat.dll.a is unaffected. 17871f0c44aSXin LI #632 MinGW|CMake: Set missing variable CMAKE_RC_COMPILER in 17971f0c44aSXin LI toolchain file "cmake/mingw-toolchain.cmake" to avoid 18071f0c44aSXin LI error "windres: Command not found" on e.g. Ubuntu 20.04 18171f0c44aSXin LI #597 #627 CMake: Unify inconsistent use of set() and option() in 18271f0c44aSXin LI context of public build time options to take need for 18371f0c44aSXin LI set(.. FORCE) in projects using Expat by means of 18471f0c44aSXin LI add_subdirectory(..) off Expat's users' shoulders 18571f0c44aSXin LI #626 #641 Stop exporting API symbols when building a static library 18671f0c44aSXin LI #644 Resolve use of deprecated "fgrep" by "grep -F" 18771f0c44aSXin LI #620 CMake: Make documentation on variables a bit more consistent 18871f0c44aSXin LI #636 CMake: Drop leading whitespace from a #cmakedefine line in 18971f0c44aSXin LI file expat_config.h.cmake 19071f0c44aSXin LI #594 xmlwf: Fix harmless variable mix-up in function nsattcmp 19171f0c44aSXin LI #592 #593 #610 Address Cppcheck warnings 19271f0c44aSXin LI #643 Address Clang 15 compiler warnings 19371f0c44aSXin LI #642 #644 Version info bumped from 9:8:8 to 9:9:8; 19471f0c44aSXin LI see https://verbump.de/ for what these numbers do 19571f0c44aSXin LI 19671f0c44aSXin LI Infrastructure: 19771f0c44aSXin LI #597 #598 CI: Windows: Start covering MSVC 2022 19871f0c44aSXin LI #619 CI: macOS: Migrate off deprecated macOS 10.15 19971f0c44aSXin LI #632 CI: Linux: Make migration off deprecated Ubuntu 18.04 work 20071f0c44aSXin LI #643 CI: Upgrade Clang from 14 to 15 20171f0c44aSXin LI #637 apply-clang-format.sh: Add support for BSD find 20271f0c44aSXin LI #633 coverage.sh: Exclude MinGW headers 20371f0c44aSXin LI #635 coverage.sh: Fix name collision for -funsigned-char 20471f0c44aSXin LI 20571f0c44aSXin LI Special thanks to: 20671f0c44aSXin LI David Faure 20771f0c44aSXin LI Felix Wilhelm 20871f0c44aSXin LI Frank Bergmann 20971f0c44aSXin LI Rhodri James 21071f0c44aSXin LI Rosen Penev 21171f0c44aSXin LI Thijs Schreijer 21271f0c44aSXin LI Vincent Torri 21371f0c44aSXin LI and 21471f0c44aSXin LI Google Project Zero 21571f0c44aSXin LI 21671f0c44aSXin LIRelease 2.4.8 Mon March 28 2022 21771f0c44aSXin LI Other changes: 21871f0c44aSXin LI #587 pkg-config: Move "-lm" to section "Libs.private" 21971f0c44aSXin LI #587 CMake|MSVC: Fix pkg-config section "Libs" 22071f0c44aSXin LI #55 #582 CMake|macOS: Start using linker arguments 22171f0c44aSXin LI "-compatibility_version <version>" and 22271f0c44aSXin LI "-current_version <version>" in a way compatible with 22371f0c44aSXin LI GNU Libtool 22471f0c44aSXin LI #590 #591 Version info bumped from 9:7:8 to 9:8:8; 22571f0c44aSXin LI see https://verbump.de/ for what these numbers do 22671f0c44aSXin LI 22771f0c44aSXin LI Infrastructure: 22871f0c44aSXin LI #589 CI: Upgrade Clang from 13 to 14 22971f0c44aSXin LI 23071f0c44aSXin LI Special thanks to: 23171f0c44aSXin LI evpobr 23271f0c44aSXin LI Kai Pastor 23371f0c44aSXin LI Sam James 23471f0c44aSXin LI 2357ed8e142SXin LIRelease 2.4.7 Fri March 4 2022 2367ed8e142SXin LI Bug fixes: 2377ed8e142SXin LI #572 #577 Relax fix to CVE-2022-25236 (introduced with release 2.4.5) 2387ed8e142SXin LI with regard to all valid URI characters (RFC 3986), 2397ed8e142SXin LI i.e. the following set (excluding whitespace): 2407ed8e142SXin LI ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 2417ed8e142SXin LI 0123456789 % -._~ :/?#[]@ !$&'()*+,;= 2427ed8e142SXin LI 2437ed8e142SXin LI Other changes: 2447ed8e142SXin LI #555 #570 #581 CMake|Windows: Store Expat version in the DLL 2457ed8e142SXin LI #577 Document consequences of namespace separator choices not just 2467ed8e142SXin LI in doc/reference.html but also in header <expat.h> 2477ed8e142SXin LI #577 Document Expat's lack of validation of namespace URIs against 2487ed8e142SXin LI RFC 3986, and that the XML 1.0r4 specification doesn't 2497ed8e142SXin LI require Expat to validate namespace URIs, and that Expat 2507ed8e142SXin LI may do more in that regard in future releases. 2517ed8e142SXin LI If you find need for strict RFC 3986 URI validation on 2527ed8e142SXin LI application level today, https://uriparser.github.io/ may 2537ed8e142SXin LI be of interest. 2547ed8e142SXin LI #579 Fix documentation of XML_EndDoctypeDeclHandler in <expat.h> 2557ed8e142SXin LI #575 Document that a call to XML_FreeContentModel can be done at 2567ed8e142SXin LI a later time from outside the element declaration handler 2577ed8e142SXin LI #574 Make hardcoded namespace URIs easier to find in code 2587ed8e142SXin LI #573 Update documentation on use of XML_POOR_ENTOPY on Solaris 2597ed8e142SXin LI #569 #571 tests: Resolve use of macros NAN and INFINITY for GNU G++ 2607ed8e142SXin LI 4.8.2 on Solaris. 2617ed8e142SXin LI #578 #580 Version info bumped from 9:6:8 to 9:7:8; 2627ed8e142SXin LI see https://verbump.de/ for what these numbers do 2637ed8e142SXin LI 2647ed8e142SXin LI Special thanks to: 2657ed8e142SXin LI Jeffrey Walton 2667ed8e142SXin LI Johnny Jazeix 2677ed8e142SXin LI Thijs Schreijer 2687ed8e142SXin LI 269ac69e5d4SEric van GyzenRelease 2.4.6 Sun February 20 2022 270ac69e5d4SEric van Gyzen Bug fixes: 271ac69e5d4SEric van Gyzen #566 Fix a regression introduced by the fix for CVE-2022-25313 272ac69e5d4SEric van Gyzen in release 2.4.5 that affects applications that (1) 273ac69e5d4SEric van Gyzen call function XML_SetElementDeclHandler and (2) are 274ac69e5d4SEric van Gyzen parsing XML that contains nested element declarations 275ac69e5d4SEric van Gyzen (e.g. "<!ELEMENT junk ((bar|foo|xyz+), zebra*)>"). 276ac69e5d4SEric van Gyzen 277ac69e5d4SEric van Gyzen Other changes: 278ac69e5d4SEric van Gyzen #567 #568 Version info bumped from 9:5:8 to 9:6:8; 279ac69e5d4SEric van Gyzen see https://verbump.de/ for what these numbers do 280ac69e5d4SEric van Gyzen 281ac69e5d4SEric van Gyzen Special thanks to: 282ac69e5d4SEric van Gyzen Matt Sergeant 283ac69e5d4SEric van Gyzen Samanta Navarro 284ac69e5d4SEric van Gyzen Sergei Trofimovich 285ac69e5d4SEric van Gyzen and 286ac69e5d4SEric van Gyzen NixOS 287ac69e5d4SEric van Gyzen Perl XML::Parser 288ac69e5d4SEric van Gyzen 289ac69e5d4SEric van GyzenRelease 2.4.5 Fri February 18 2022 290ac69e5d4SEric van Gyzen Security fixes: 291ac69e5d4SEric van Gyzen #562 CVE-2022-25235 -- Passing malformed 2- and 3-byte UTF-8 292ac69e5d4SEric van Gyzen sequences (e.g. from start tag names) to the XML 293ac69e5d4SEric van Gyzen processing application on top of Expat can cause 294ac69e5d4SEric van Gyzen arbitrary damage (e.g. code execution) depending 295ac69e5d4SEric van Gyzen on how invalid UTF-8 is handled inside the XML 296ac69e5d4SEric van Gyzen processor; validation was not their job but Expat's. 297ac69e5d4SEric van Gyzen Exploits with code execution are known to exist. 298ac69e5d4SEric van Gyzen #561 CVE-2022-25236 -- Passing (one or more) namespace separator 299ac69e5d4SEric van Gyzen characters in "xmlns[:prefix]" attribute values 300ac69e5d4SEric van Gyzen made Expat send malformed tag names to the XML 301ac69e5d4SEric van Gyzen processor on top of Expat which can cause 302ac69e5d4SEric van Gyzen arbitrary damage (e.g. code execution) depending 303ac69e5d4SEric van Gyzen on such unexpectable cases are handled inside the XML 304ac69e5d4SEric van Gyzen processor; validation was not their job but Expat's. 305ac69e5d4SEric van Gyzen Exploits with code execution are known to exist. 306ac69e5d4SEric van Gyzen #558 CVE-2022-25313 -- Fix stack exhaustion in doctype parsing 307ac69e5d4SEric van Gyzen that could be triggered by e.g. a 2 megabytes 308ac69e5d4SEric van Gyzen file with a large number of opening braces. 309ac69e5d4SEric van Gyzen Expected impact is denial of service or potentially 310ac69e5d4SEric van Gyzen arbitrary code execution. 311ac69e5d4SEric van Gyzen #560 CVE-2022-25314 -- Fix integer overflow in function copyString; 312ac69e5d4SEric van Gyzen only affects the encoding name parameter at parser creation 313ac69e5d4SEric van Gyzen time which is often hardcoded (rather than user input), 314ac69e5d4SEric van Gyzen takes a value in the gigabytes to trigger, and a 64-bit 315ac69e5d4SEric van Gyzen machine. Expected impact is denial of service. 316ac69e5d4SEric van Gyzen #559 CVE-2022-25315 -- Fix integer overflow in function storeRawNames; 317ac69e5d4SEric van Gyzen needs input in the gigabytes and a 64-bit machine. 318ac69e5d4SEric van Gyzen Expected impact is denial of service or potentially 319ac69e5d4SEric van Gyzen arbitrary code execution. 320ac69e5d4SEric van Gyzen 321ac69e5d4SEric van Gyzen Other changes: 322ac69e5d4SEric van Gyzen #557 #564 Version info bumped from 9:4:8 to 9:5:8; 323ac69e5d4SEric van Gyzen see https://verbump.de/ for what these numbers do 324ac69e5d4SEric van Gyzen 325ac69e5d4SEric van Gyzen Special thanks to: 326ac69e5d4SEric van Gyzen Ivan Fratric 327ac69e5d4SEric van Gyzen Samanta Navarro 328ac69e5d4SEric van Gyzen and 329ac69e5d4SEric van Gyzen Google Project Zero 330ac69e5d4SEric van Gyzen JetBrains 331ac69e5d4SEric van Gyzen 332ac69e5d4SEric van GyzenRelease 2.4.4 Sun January 30 2022 333ac69e5d4SEric van Gyzen Security fixes: 334ac69e5d4SEric van Gyzen #550 CVE-2022-23852 -- Fix signed integer overflow 335ac69e5d4SEric van Gyzen (undefined behavior) in function XML_GetBuffer 336ac69e5d4SEric van Gyzen (that is also called by function XML_Parse internally) 337ac69e5d4SEric van Gyzen for when XML_CONTEXT_BYTES is defined to >0 (which is both 338ac69e5d4SEric van Gyzen common and default). 339ac69e5d4SEric van Gyzen Impact is denial of service or more. 340ac69e5d4SEric van Gyzen #551 CVE-2022-23990 -- Fix unsigned integer overflow in function 341ac69e5d4SEric van Gyzen doProlog triggered by large content in element type 342ac69e5d4SEric van Gyzen declarations when there is an element declaration handler 343ac69e5d4SEric van Gyzen present (from a prior call to XML_SetElementDeclHandler). 344ac69e5d4SEric van Gyzen Impact is denial of service or more. 345ac69e5d4SEric van Gyzen 346ac69e5d4SEric van Gyzen Bug fixes: 347ac69e5d4SEric van Gyzen #544 #545 xmlwf: Fix a memory leak on output file opening error 348ac69e5d4SEric van Gyzen 349ac69e5d4SEric van Gyzen Other changes: 350ac69e5d4SEric van Gyzen #546 Autotools: Fix broken CMake support under Cygwin 351ac69e5d4SEric van Gyzen #554 Windows: Add missing files to the installer to fix 352ac69e5d4SEric van Gyzen compilation with CMake from installed sources 353ac69e5d4SEric van Gyzen #552 #554 Version info bumped from 9:3:8 to 9:4:8; 354ac69e5d4SEric van Gyzen see https://verbump.de/ for what these numbers do 355ac69e5d4SEric van Gyzen 356ac69e5d4SEric van Gyzen Special thanks to: 357ac69e5d4SEric van Gyzen Carlo Bramini 358ac69e5d4SEric van Gyzen hwt0415 359ac69e5d4SEric van Gyzen Roland Illig 360ac69e5d4SEric van Gyzen Samanta Navarro 361ac69e5d4SEric van Gyzen and 362ac69e5d4SEric van Gyzen Clang LeakSan and the Clang team 363ac69e5d4SEric van Gyzen 364cc68614dSXin LIRelease 2.4.3 Sun January 16 2022 365cc68614dSXin LI Security fixes: 366cc68614dSXin LI #531 #534 CVE-2021-45960 -- Fix issues with left shifts by >=29 places 367cc68614dSXin LI resulting in 368cc68614dSXin LI a) realloc acting as free 369cc68614dSXin LI b) realloc allocating too few bytes 370cc68614dSXin LI c) undefined behavior 371cc68614dSXin LI depending on architecture and precise value 372cc68614dSXin LI for XML documents with >=2^27+1 prefixed attributes 373cc68614dSXin LI on a single XML tag a la 374cc68614dSXin LI "<r xmlns:a='[..]' a:a123='[..]' [..] />" 375cc68614dSXin LI where XML_ParserCreateNS is used to create the parser 376cc68614dSXin LI (which needs argument "-n" when running xmlwf). 377cc68614dSXin LI Impact is denial of service, or more. 378cc68614dSXin LI #532 #538 CVE-2021-46143 (ZDI-CAN-16157) -- Fix integer overflow 379cc68614dSXin LI on variable m_groupSize in function doProlog leading 380cc68614dSXin LI to realloc acting as free. 381cc68614dSXin LI Impact is denial of service or more. 382cc68614dSXin LI #539 CVE-2022-22822 to CVE-2022-22827 -- Prevent integer overflows 383cc68614dSXin LI near memory allocation at multiple places. Mitre assigned 384cc68614dSXin LI a dedicated CVE for each involved internal C function: 385cc68614dSXin LI - CVE-2022-22822 for function addBinding 386cc68614dSXin LI - CVE-2022-22823 for function build_model 387cc68614dSXin LI - CVE-2022-22824 for function defineAttribute 388cc68614dSXin LI - CVE-2022-22825 for function lookup 389cc68614dSXin LI - CVE-2022-22826 for function nextScaffoldPart 390cc68614dSXin LI - CVE-2022-22827 for function storeAtts 391cc68614dSXin LI Impact is denial of service or more. 392cc68614dSXin LI 393cc68614dSXin LI Other changes: 394cc68614dSXin LI #535 CMake: Make call to file(GENERATE [..]) work for CMake <3.19 395cc68614dSXin LI #541 Autotools|CMake: MinGW: Make run.sh(.in) work for Cygwin 396cc68614dSXin LI and MSYS2 by not going through Wine on these platforms 397cc68614dSXin LI #527 #528 Address compiler warnings 398cc68614dSXin LI #533 #543 Version info bumped from 9:2:8 to 9:3:8; 399cc68614dSXin LI see https://verbump.de/ for what these numbers do 400cc68614dSXin LI 401cc68614dSXin LI Infrastructure: 402cc68614dSXin LI #536 CI: Check for realistic minimum CMake version 403cc68614dSXin LI #529 #539 CI: Cover compilation with -m32 404cc68614dSXin LI #529 CI: Store coverage reports as artifacts for download 405cc68614dSXin LI #528 CI: Upgrade Clang from 11 to 13 406cc68614dSXin LI 407cc68614dSXin LI Special thanks to: 408cc68614dSXin LI An anonymous whitehat 409cc68614dSXin LI Christopher Degawa 410cc68614dSXin LI J. Peter Mugaas 411cc68614dSXin LI Tyson Smith 412cc68614dSXin LI and 413cc68614dSXin LI GCC Farm Project 414cc68614dSXin LI Trend Micro Zero Day Initiative 415cc68614dSXin LI 416cc68614dSXin LIRelease 2.4.2 Sun December 19 2021 417cc68614dSXin LI Other changes: 418cc68614dSXin LI #509 #510 Link againgst libm for function "isnan" 419cc68614dSXin LI #513 #514 Include expat_config.h as early as possible 420cc68614dSXin LI #498 Autotools: Include files with release archives: 421cc68614dSXin LI - buildconf.sh 422cc68614dSXin LI - fuzz/*.c 42371f0c44aSXin LI #507 #519 Autotools: Sync CMake templates with CMake 3.20 424cc68614dSXin LI #495 #524 CMake: MinGW: Fix pkg-config section "Libs" for 425cc68614dSXin LI - non-release build types (e.g. -DCMAKE_BUILD_TYPE=Debug) 426cc68614dSXin LI - multi-config CMake generators (e.g. Ninja Multi-Config) 427cc68614dSXin LI #502 #503 docs: Document that function XML_GetBuffer may return NULL 428cc68614dSXin LI when asking for a buffer of 0 (zero) bytes size 429cc68614dSXin LI #522 #523 docs: Fix return value docs for both 430cc68614dSXin LI XML_SetBillionLaughsAttackProtection* functions 431cc68614dSXin LI #525 #526 Version info bumped from 9:1:8 to 9:2:8; 432cc68614dSXin LI see https://verbump.de/ for what these numbers do 433cc68614dSXin LI 434cc68614dSXin LI Special thanks to: 435*4543ef51SXin LI Donghee Na 436cc68614dSXin LI Joergen Ibsen 437cc68614dSXin LI Kai Pastor 438cc68614dSXin LI 439cc68614dSXin LIRelease 2.4.1 Sun May 23 2021 440cc68614dSXin LI Bug fixes: 441cc68614dSXin LI #488 #490 Autotools: Fix installed header expat_config.h for multilib 442cc68614dSXin LI systems; regression introduced in 2.4.0 by pull request #486 443cc68614dSXin LI 444cc68614dSXin LI Other changes: 445cc68614dSXin LI #491 #492 Version info bumped from 9:0:8 to 9:1:8; 446cc68614dSXin LI see https://verbump.de/ for what these numbers do 447cc68614dSXin LI 448cc68614dSXin LI Special thanks to: 449cc68614dSXin LI Gentoo's QA check "multilib_check_headers" 450cc68614dSXin LI 451cc68614dSXin LIRelease 2.4.0 Sun May 23 2021 452cc68614dSXin LI Security fixes: 453cc68614dSXin LI #34 #466 #484 CVE-2013-0340/CWE-776 -- Protect against billion laughs attacks 454cc68614dSXin LI (denial-of-service; flavors targeting CPU time or RAM or both, 455cc68614dSXin LI leveraging general entities or parameter entities or both) 456cc68614dSXin LI by tracking and limiting the input amplification factor 457cc68614dSXin LI (<amplification> := (<direct> + <indirect>) / <direct>). 458cc68614dSXin LI By conservative default, amplification up to a factor of 100.0 459cc68614dSXin LI is tolerated and rejection only starts after 8 MiB of output bytes 460cc68614dSXin LI (=<direct> + <indirect>) have been processed. 461cc68614dSXin LI The fix adds the following to the API: 462cc68614dSXin LI - A new error code XML_ERROR_AMPLIFICATION_LIMIT_BREACH to 463cc68614dSXin LI signals this specific condition. 464cc68614dSXin LI - Two new API functions .. 465cc68614dSXin LI - XML_SetBillionLaughsAttackProtectionMaximumAmplification and 466cc68614dSXin LI - XML_SetBillionLaughsAttackProtectionActivationThreshold 467cc68614dSXin LI .. to further tighten billion laughs protection parameters 468cc68614dSXin LI when desired. Please see file "doc/reference.html" for details. 469cc68614dSXin LI If you ever need to increase the defaults for non-attack XML 470cc68614dSXin LI payload, please file a bug report with libexpat. 471cc68614dSXin LI - Two new XML_FEATURE_* constants .. 472cc68614dSXin LI - that can be queried using the XML_GetFeatureList function, and 473cc68614dSXin LI - that are shown in "xmlwf -v" output. 474cc68614dSXin LI - Two new environment variable switches .. 475cc68614dSXin LI - EXPAT_ACCOUNTING_DEBUG=(0|1|2|3) and 476cc68614dSXin LI - EXPAT_ENTITY_DEBUG=(0|1) 477cc68614dSXin LI .. for runtime debugging of accounting and entity processing. 478cc68614dSXin LI Specific behavior of these values may change in the future. 479cc68614dSXin LI - Two new command line arguments "-a FACTOR" and "-b BYTES" 480cc68614dSXin LI for xmlwf to further tighten billion laughs protection 481cc68614dSXin LI parameters when desired. 482cc68614dSXin LI If you ever need to increase the defaults for non-attack XML 483cc68614dSXin LI payload, please file a bug report with libexpat. 484cc68614dSXin LI 485cc68614dSXin LI Bug fixes: 486cc68614dSXin LI #332 #470 For (non-default) compilation with -DEXPAT_MIN_SIZE=ON (CMake) 487cc68614dSXin LI or CPPFLAGS=-DXML_MIN_SIZE (GNU Autotools): Fix segfault 488cc68614dSXin LI for UTF-16 payloads containing CDATA sections. 489cc68614dSXin LI #485 #486 Autotools: Fix generated CMake files for non-64bit and 490cc68614dSXin LI non-Linux platforms (e.g. macOS and MinGW in particular) 491cc68614dSXin LI that were introduced with release 2.3.0 492cc68614dSXin LI 493cc68614dSXin LI Other changes: 494cc68614dSXin LI #468 #469 xmlwf: Improve help output and the xmlwf man page 495cc68614dSXin LI #463 xmlwf: Improve maintainability through some refactoring 496cc68614dSXin LI #477 xmlwf: Fix man page DocBook validity 49771f0c44aSXin LI #456 Autotools: Sync CMake templates with CMake 3.18 498cc68614dSXin LI #458 #459 CMake: Support absolute paths for both CMAKE_INSTALL_LIBDIR 499cc68614dSXin LI and CMAKE_INSTALL_INCLUDEDIR 500cc68614dSXin LI #471 #481 CMake: Add support for standard variable BUILD_SHARED_LIBS 501cc68614dSXin LI #457 Unexpose symbol _INTERNAL_trim_to_complete_utf8_characters 502cc68614dSXin LI #467 Resolve macro HAVE_EXPAT_CONFIG_H 503cc68614dSXin LI #472 Delete unused legacy helper file "conftools/PrintPath" 504cc68614dSXin LI #473 #483 Improve attribution 505cc68614dSXin LI #464 #465 #477 doc/reference.html: Fix XHTML validity 506cc68614dSXin LI #475 #478 doc/reference.html: Replace the 90s look by OK.css 507cc68614dSXin LI #479 Version info bumped from 8:0:7 to 9:0:8 508cc68614dSXin LI due to addition of new symbols and error codes; 509cc68614dSXin LI see https://verbump.de/ for what these numbers do 510cc68614dSXin LI 511cc68614dSXin LI Infrastructure: 512cc68614dSXin LI #456 CI: Enable periodic runs 513cc68614dSXin LI #457 CI: Start covering the list of exported symbols 514cc68614dSXin LI #474 CI: Isolate coverage task 515cc68614dSXin LI #476 #482 CI: Adapt to breaking changes in image "ubuntu-18.04" 516cc68614dSXin LI #477 CI: Cover well-formedness and DocBook/XHTML validity 517cc68614dSXin LI of doc/reference.html and doc/xmlwf.xml 518cc68614dSXin LI 519cc68614dSXin LI Special thanks to: 520cc68614dSXin LI Dimitry Andric 521cc68614dSXin LI Eero Helenius 522cc68614dSXin LI Nick Wellnhofer 523cc68614dSXin LI Rhodri James 524cc68614dSXin LI Tomas Korbar 525cc68614dSXin LI Yury Gribov 526cc68614dSXin LI and 527cc68614dSXin LI Clang LeakSan 528cc68614dSXin LI JetBrains 529cc68614dSXin LI OSS-Fuzz 530cc68614dSXin LI 531cc68614dSXin LIRelease 2.3.0 Thu March 25 2021 532cc68614dSXin LI Bug fixes: 533cc68614dSXin LI #438 When calling XML_ParseBuffer without a prior successful call to 534cc68614dSXin LI XML_GetBuffer as a user, no longer trigger undefined behavior 535cc68614dSXin LI (by adding an integer to a NULL pointer) but rather return 536cc68614dSXin LI XML_STATUS_ERROR and set the error code to (new) code 537cc68614dSXin LI XML_ERROR_NO_BUFFER. Found by UBSan (UndefinedBehaviorSanitizer) 538cc68614dSXin LI of Clang 11 (but not Clang 9). 539cc68614dSXin LI #444 xmlwf: Exit status 2 was used for both: 540cc68614dSXin LI - malformed input files (documented) and 541cc68614dSXin LI - invalid command-line arguments (undocumented). 542cc68614dSXin LI The case of invalid command-line arguments now 543cc68614dSXin LI has its own exit status 4, resolving the ambiguity. 544cc68614dSXin LI 545cc68614dSXin LI Other changes: 546cc68614dSXin LI #439 xmlwf: Add argument -k to allow continuing after 547cc68614dSXin LI non-fatal errors 548cc68614dSXin LI #439 xmlwf: Add section about exit status to the -h help output 549cc68614dSXin LI #422 #426 #447 Windows: Drop support for Visual Studio <=14.0/2015 550cc68614dSXin LI #434 Windows: CMake: Detect unsupported Visual Studio at 551cc68614dSXin LI configure time (rather than at compile time) 552cc68614dSXin LI #382 #428 testrunner: Make verbose mode (argument "-v") report 553cc68614dSXin LI about passed tests, and make default mode report about 554cc68614dSXin LI failures, as well. 555cc68614dSXin LI #442 CMake: Call "enable_language(CXX)" prior to tinkering 556cc68614dSXin LI with CMAKE_CXX_* variables 557cc68614dSXin LI #448 Document use of libexpat from a CMake-based project 558cc68614dSXin LI #451 Autotools: Install CMake files as generated by CMake 3.19.6 559cc68614dSXin LI so that users with "find_package(expat [..] CONFIG [..])" 560cc68614dSXin LI are served on distributions that are *not* using the CMake 561cc68614dSXin LI build system inside for libexpat packaging 562cc68614dSXin LI #436 #437 Autotools: Drop obsolescent macro AC_HEADER_STDC 563cc68614dSXin LI #450 #452 Autotools: Resolve use of obsolete macro AC_CONFIG_HEADER 564cc68614dSXin LI #441 Address compiler warnings 565cc68614dSXin LI #443 Version info bumped from 7:12:6 to 8:0:7 566cc68614dSXin LI due to addition of error code XML_ERROR_NO_BUFFER 567cc68614dSXin LI (see https://verbump.de/ for what these numbers do) 568cc68614dSXin LI 569cc68614dSXin LI Infrastructure: 570cc68614dSXin LI #435 #446 Replace Travis CI by GitHub Actions 571cc68614dSXin LI 572cc68614dSXin LI Special thanks to: 573cc68614dSXin LI Alexander Richardson 574cc68614dSXin LI Oleksandr Popovych 575cc68614dSXin LI Thomas Beutlich 576cc68614dSXin LI Tim Bray 577cc68614dSXin LI and 578cc68614dSXin LI Clang LeakSan, Clang 11 UBSan and the Clang team 579cc68614dSXin LI 580cc68614dSXin LIRelease 2.2.10 Sat October 3 2020 581cc68614dSXin LI Bug fixes: 582cc68614dSXin LI #390 #395 #398 Fix undefined behavior during parsing caused by 583cc68614dSXin LI pointer arithmetic with NULL pointers 584cc68614dSXin LI #404 #405 Fix reading uninitialized variable during parsing 585cc68614dSXin LI #406 xmlwf: Add missing check for malloc NULL return 586cc68614dSXin LI 587cc68614dSXin LI Other changes: 588cc68614dSXin LI #396 Windows: Drop support for Visual Studio <=8.0/2005 589cc68614dSXin LI #409 Windows: Add missing file "Changes" to the installer 590cc68614dSXin LI to fix compilation with CMake from installed sources 591cc68614dSXin LI #403 xmlwf: Document exit codes in xmlwf manpage and 592cc68614dSXin LI exit with code 3 (rather than code 1) for output errors 593cc68614dSXin LI when used with "-d DIRECTORY" 594cc68614dSXin LI #356 #359 MinGW: Provide declaration of rand_s for mingwrt <5.3.0 595cc68614dSXin LI #383 #392 Autotools: Use -Werror while configure tests the compiler 596cc68614dSXin LI for supported compile flags to avoid false positives 597cc68614dSXin LI #383 #393 #394 Autotools: Improve handling of user (C|CPP|CXX|LD)FLAGS, 598cc68614dSXin LI e.g. ensure that they have the last word over flags added 599cc68614dSXin LI while running ./configure 600cc68614dSXin LI #360 CMake: Create libexpatw.{dll,so} and expatw.pc (with emphasis 601cc68614dSXin LI on suffix "w") with -DEXPAT_CHAR_TYPE=(ushort|wchar_t) 602cc68614dSXin LI #360 CMake: Detect and deny unsupported build combinations 603cc68614dSXin LI involving -DEXPAT_CHAR_TYPE=(ushort|wchar_t) 604cc68614dSXin LI #360 CMake: Install pre-compiled shipped xmlwf.1 manpage in case 605cc68614dSXin LI of -DEXPAT_BUILD_DOCS=OFF 606cc68614dSXin LI #375 #380 #419 CMake: Fix use of Expat by means of add_subdirectory 607cc68614dSXin LI #407 #408 CMake: Keep expat target name constant at "expat" 608cc68614dSXin LI (i.e. refrain from using the target name to control 609cc68614dSXin LI build artifact filenames) 610cc68614dSXin LI #385 CMake: Fix compilation with -DEXPAT_SHARED_LIBS=OFF for 611cc68614dSXin LI Windows 612cc68614dSXin LI CMake: Expose man page compilation as target "xmlwf-manpage" 613cc68614dSXin LI #413 #414 CMake: Introduce option EXPAT_BUILD_PKGCONFIG 614cc68614dSXin LI to control generation of pkg-config file "expat.pc" 615cc68614dSXin LI #424 CMake: Add minimalistic support for building binary packages 616cc68614dSXin LI with CMake target "package"; based on CPack 617cc68614dSXin LI #366 CMake: Add option -DEXPAT_OSSFUZZ_BUILD=(ON|OFF) with 618cc68614dSXin LI default OFF to build fuzzer code against OSS-Fuzz and 619cc68614dSXin LI related environment variable LIB_FUZZING_ENGINE 620cc68614dSXin LI #354 Fix testsuite for -DEXPAT_DTD=OFF and -DEXPAT_NS=OFF, each 621cc68614dSXin LI #354 #355 .. 622cc68614dSXin LI #356 #412 Address compiler warnings 623cc68614dSXin LI #368 #369 Address pngcheck warnings with doc/*.png images 624cc68614dSXin LI #425 Version info bumped from 7:11:6 to 7:12:6 625cc68614dSXin LI 626cc68614dSXin LI Special thanks to: 627cc68614dSXin LI asavah 628cc68614dSXin LI Ben Wagner 629cc68614dSXin LI Bhargava Shastry 630cc68614dSXin LI Frank Landgraf 631cc68614dSXin LI Jeffrey Walton 632cc68614dSXin LI Joe Orton 633cc68614dSXin LI Kleber Tarcísio 634cc68614dSXin LI Ma Lin 635cc68614dSXin LI Maciej Sroczyński 636cc68614dSXin LI Mohammed Khajapasha 637cc68614dSXin LI Vadim Zeitlin 638cc68614dSXin LI and 639cc68614dSXin LI Cppcheck 2.0 and the Cppcheck team 640cc68614dSXin LI 641cc68614dSXin LIRelease 2.2.9 Wed September 25 2019 6426b2c1e49SXin LI Other changes: 6436b2c1e49SXin LI examples: Drop executable bits from elements.c 6446b2c1e49SXin LI #349 Windows: Change the name of the Windows DLLs from expat*.dll 6456b2c1e49SXin LI to libexpat*.dll once more (regression from 2.2.8, first 6466b2c1e49SXin LI fixed in 1.95.3, issue #61 on SourceForge today, 6476b2c1e49SXin LI was issue #432456 back then); needs a fix due 6486b2c1e49SXin LI case-insensitive file systems on Windows and the fact that 6496b2c1e49SXin LI Perl's XML::Parser::Expat compiles into Expat.dll. 6506b2c1e49SXin LI #347 Windows: Only define _CRT_RAND_S if not defined 6516b2c1e49SXin LI Version info bumped from 7:10:6 to 7:11:6 6526b2c1e49SXin LI 6536b2c1e49SXin LI Special thanks to: 6546b2c1e49SXin LI Ben Wagner 6556b2c1e49SXin LI 656cc68614dSXin LIRelease 2.2.8 Fri September 13 2019 6576b2c1e49SXin LI Security fixes: 6586b2c1e49SXin LI #317 #318 CVE-2019-15903 -- Fix heap overflow triggered by 6596b2c1e49SXin LI XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber), 6606b2c1e49SXin LI and deny internal entities closing the doctype; 6616b2c1e49SXin LI fixed in commit c20b758c332d9a13afbbb276d30db1d183a85d43 6626b2c1e49SXin LI 6636b2c1e49SXin LI Bug fixes: 6646b2c1e49SXin LI #240 Fix cases where XML_StopParser did not have any effect 6656b2c1e49SXin LI when called from inside of an end element handler 6666b2c1e49SXin LI #341 xmlwf: Fix exit code for operation without "-d DIRECTORY"; 6676b2c1e49SXin LI previously, only "-d DIRECTORY" would give you a proper 6686b2c1e49SXin LI exit code: 6696b2c1e49SXin LI # xmlwf -d . <<<'<not well-formed>' 2>/dev/null ; echo $? 6706b2c1e49SXin LI 2 6716b2c1e49SXin LI # xmlwf <<<'<not well-formed>' 2>/dev/null ; echo $? 6726b2c1e49SXin LI 0 6736b2c1e49SXin LI Now both cases return exit code 2. 6746b2c1e49SXin LI 6756b2c1e49SXin LI Other changes: 6766b2c1e49SXin LI #299 #302 Windows: Replace LoadLibrary hack to access 6776b2c1e49SXin LI unofficial API function SystemFunction036 (RtlGenRandom) 6786b2c1e49SXin LI by using official API function rand_s (needs WinXP+) 6796b2c1e49SXin LI #325 Windows: Drop support for Visual Studio <=7.1/2003 6806b2c1e49SXin LI and document supported compilers in README.md 6816b2c1e49SXin LI #286 Windows: Remove COM code from xmlwf; in case it turns 6826b2c1e49SXin LI out needed later, there will be a dedicated repository 6836b2c1e49SXin LI below https://github.com/libexpat/ for that code 6846b2c1e49SXin LI #322 Windows: Remove explicit MSVC solution and project files. 6856b2c1e49SXin LI You can generate Visual Studio solution files through 6866b2c1e49SXin LI CMake, e.g.: cmake -G"Visual Studio 15 2017" . 6876b2c1e49SXin LI #338 xmlwf: Make "xmlwf -h" help output more friendly 6886b2c1e49SXin LI #339 examples: Improve elements.c 6896b2c1e49SXin LI #244 #264 Autotools: Add argument --enable-xml-attr-info 6906b2c1e49SXin LI #239 #301 Autotools: Add arguments 6916b2c1e49SXin LI --with-getrandom 6926b2c1e49SXin LI --without-getrandom 6936b2c1e49SXin LI --with-sys-getrandom 6946b2c1e49SXin LI --without-sys-getrandom 6956b2c1e49SXin LI #312 #343 Autotools: Fix linking issues with "./configure LD=clang" 6966b2c1e49SXin LI Autotools: Fix "make run-xmltest" for out-of-source builds 6976b2c1e49SXin LI #329 #336 CMake: Pull all options from Expat <=2.2.7 into namespace 6986b2c1e49SXin LI prefix EXPAT_ with the exception of DOCBOOK_TO_MAN: 6996b2c1e49SXin LI - BUILD_doc -> EXPAT_BUILD_DOCS (plural) 7006b2c1e49SXin LI - BUILD_examples -> EXPAT_BUILD_EXAMPLES 7016b2c1e49SXin LI - BUILD_shared -> EXPAT_SHARED_LIBS 7026b2c1e49SXin LI - BUILD_tests -> EXPAT_BUILD_TESTS 7036b2c1e49SXin LI - BUILD_tools -> EXPAT_BUILD_TOOLS 7046b2c1e49SXin LI - DOCBOOK_TO_MAN -> DOCBOOK_TO_MAN (unchanged) 7056b2c1e49SXin LI - INSTALL -> EXPAT_ENABLE_INSTALL 7066b2c1e49SXin LI - MSVC_USE_STATIC_CRT -> EXPAT_MSVC_STATIC_CRT 7076b2c1e49SXin LI - USE_libbsd -> EXPAT_WITH_LIBBSD 7086b2c1e49SXin LI - WARNINGS_AS_ERRORS -> EXPAT_WARNINGS_AS_ERRORS 7096b2c1e49SXin LI - XML_CONTEXT_BYTES -> EXPAT_CONTEXT_BYTES 7106b2c1e49SXin LI - XML_DEV_URANDOM -> EXPAT_DEV_URANDOM 7116b2c1e49SXin LI - XML_DTD -> EXPAT_DTD 7126b2c1e49SXin LI - XML_NS -> EXPAT_NS 7136b2c1e49SXin LI - XML_UNICODE -> EXPAT_CHAR_TYPE=ushort (!) 7146b2c1e49SXin LI - XML_UNICODE_WCHAR_T -> EXPAT_CHAR_TYPE=wchar_t (!) 7156b2c1e49SXin LI #244 #264 CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF), 7166b2c1e49SXin LI default OFF 7176b2c1e49SXin LI #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), 7186b2c1e49SXin LI default OFF 7196b2c1e49SXin LI #328 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), 7206b2c1e49SXin LI default OFF 7216b2c1e49SXin LI #239 #277 CMake: Add arguments 7226b2c1e49SXin LI -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO 7236b2c1e49SXin LI -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO 7246b2c1e49SXin LI #326 CMake: Install expat_config.h to include directory 7256b2c1e49SXin LI #326 CMake: Generate and install configuration files for 7266b2c1e49SXin LI future find_package(expat [..] CONFIG [..]) 7276b2c1e49SXin LI CMake: Now produces a summary of applied configuration 7286b2c1e49SXin LI CMake: Require C++ compiler only when tests are enabled 7296b2c1e49SXin LI #330 CMake: Fix compilation for 16bit character types, 7306b2c1e49SXin LI i.e. ex -DXML_UNICODE=ON (and ex -DXML_UNICODE_WCHAR_T=ON) 7316b2c1e49SXin LI #265 CMake: Fix linking with MinGW 7326b2c1e49SXin LI #330 CMake: Add full support for MinGW; to enable, use 7336b2c1e49SXin LI -DCMAKE_TOOLCHAIN_FILE=[expat]/cmake/mingw-toolchain.cmake 7346b2c1e49SXin LI #330 CMake: Port "make run-xmltest" from GNU Autotools to CMake 7356b2c1e49SXin LI #316 CMake: Windows: Make binary postfix match MSVC 7366b2c1e49SXin LI Old: expat[d].lib 7376b2c1e49SXin LI New: expat[w][d][MD|MT].lib 7386b2c1e49SXin LI CMake: Migrate files from Windows to Unix line endings 7396b2c1e49SXin LI #308 CMake: Integrate OSS-Fuzz fuzzers, option 7406b2c1e49SXin LI -DEXPAT_BUILD_FUZZERS=(ON|OFF), default OFF 7416b2c1e49SXin LI #14 Drop an OpenVMS support leftover 7426b2c1e49SXin LI #235 #268 .. 7436b2c1e49SXin LI #270 #310 .. 7446b2c1e49SXin LI #313 #331 #333 Address compiler warnings 7456b2c1e49SXin LI #282 #283 .. 7466b2c1e49SXin LI #284 #285 Address cppcheck warnings 7476b2c1e49SXin LI #294 #295 Address Clang Static Analyzer warnings 7486b2c1e49SXin LI #24 #293 Mass-apply clang-format 9 (and ensure conformance during CI) 7496b2c1e49SXin LI Version info bumped from 7:9:6 to 7:10:6 7506b2c1e49SXin LI 7516b2c1e49SXin LI Special thanks to: 7526b2c1e49SXin LI David Loffredo 7536b2c1e49SXin LI Joonun Jang 7546b2c1e49SXin LI Kishore Kunche 7556b2c1e49SXin LI Marco Maggi 7566b2c1e49SXin LI Mitch Phillips 757cc68614dSXin LI Mohammed Khajapasha 7586b2c1e49SXin LI Rolf Ade 7596b2c1e49SXin LI xantares 7606b2c1e49SXin LI Zhongyuan Zhou 7616b2c1e49SXin LI 7626b2c1e49SXin LIRelease 2.2.7 Wed June 19 2019 7636b2c1e49SXin LI Security fixes: 7646b2c1e49SXin LI #186 #262 CVE-2018-20843 -- Fix extraction of namespace prefixes from 7656b2c1e49SXin LI XML names; XML names with multiple colons could end up in 7666b2c1e49SXin LI the wrong namespace, and take a high amount of RAM and CPU 7676b2c1e49SXin LI resources while processing, opening the door to 7686b2c1e49SXin LI use for denial-of-service attacks 7696b2c1e49SXin LI 7706b2c1e49SXin LI Other changes: 7716b2c1e49SXin LI #195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop 7726b2c1e49SXin LI exporting non-API symbols 7736b2c1e49SXin LI #227 Autotools: Add --without-examples and --without-tests 7746b2c1e49SXin LI #228 Autotools: Modernize configure.ac 7756b2c1e49SXin LI #245 #246 Autotools: Fix check for -fvisibility=hidden for Clang 7766b2c1e49SXin LI #247 #248 Autotools: Fix compilation for lack of docbook2x-man 7776b2c1e49SXin LI #236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives 7786b2c1e49SXin LI #212 CMake: Make libdir of pkgconfig expat.pc support multilib 7796b2c1e49SXin LI #158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR 7806b2c1e49SXin LI #219 Remove fallback to bcopy, assume that memmove(3) exists 7816b2c1e49SXin LI #257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD) 7826b2c1e49SXin LI #243 Windows: Fix syntax of .def module definition files 7836b2c1e49SXin LI Version info bumped from 7:8:6 to 7:9:6 7846b2c1e49SXin LI 7856b2c1e49SXin LI Special thanks to: 7866b2c1e49SXin LI Benjamin Peterson 7876b2c1e49SXin LI Caolán McNamara 7886b2c1e49SXin LI Hanno Böck 7896b2c1e49SXin LI KangLin 7906b2c1e49SXin LI Kishore Kunche 7916b2c1e49SXin LI Marco Maggi 7926b2c1e49SXin LI Rhodri James 7936b2c1e49SXin LI Sebastian Dröge 7946b2c1e49SXin LI userwithuid 7956b2c1e49SXin LI Yury Gribov 7966b2c1e49SXin LI 7970a48773fSEric van GyzenRelease 2.2.6 Sun August 12 2018 7980a48773fSEric van Gyzen Bug fixes: 7990a48773fSEric van Gyzen #170 #206 Avoid doing arithmetic with NULL pointers in XML_GetBuffer 8000a48773fSEric van Gyzen #204 #205 Fix 2.2.5 regression with suspend-resume while parsing 8010a48773fSEric van Gyzen a document like '<root/>' 8020a48773fSEric van Gyzen 8030a48773fSEric van Gyzen Other changes: 8040a48773fSEric van Gyzen #165 #168 Autotools: Fix docbook-related configure syntax error 8050a48773fSEric van Gyzen #166 Autotools: Avoid grep option `-q` for Solaris 8060a48773fSEric van Gyzen #167 Autotools: Support 8070a48773fSEric van Gyzen ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation" 8080a48773fSEric van Gyzen #159 #167 Autotools: Support DOCBOOK_TO_MAN command which produces 8090a48773fSEric van Gyzen xmlwf.1 rather than XMLWF.1; also covers case insensitive 8100a48773fSEric van Gyzen file systems 8110a48773fSEric van Gyzen #181 Autotools: Drop -rpath option passed to libtool 8120a48773fSEric van Gyzen #188 Autotools: Detect and deny SGML docbook2man as ours is XML 8130a48773fSEric van Gyzen #188 Autotools/CMake: Support command db2x_docbook2man as well 8140a48773fSEric van Gyzen #174 CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF 8150a48773fSEric van Gyzen #184 #185 CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF 8160a48773fSEric van Gyzen #207 #208 CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T, 8170a48773fSEric van Gyzen both defaulting to OFF 8180a48773fSEric van Gyzen #175 CMake: Prefer check_symbol_exists over check_function_exists 8190a48773fSEric van Gyzen #176 CMake: Create the same pkg-config file as with GNU Autotools 8200a48773fSEric van Gyzen #178 #179 CMake: Use GNUInstallDirs module to set proper defaults for 8210a48773fSEric van Gyzen install directories 8220a48773fSEric van Gyzen #208 CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM 8230a48773fSEric van Gyzen #180 Windows: Fix compilation of test suite for Visual Studio 2008 8240a48773fSEric van Gyzen #131 #173 #202 Address compiler warnings 8250a48773fSEric van Gyzen #187 #190 #200 Fix miscellaneous typos 8260a48773fSEric van Gyzen Version info bumped from 7:7:6 to 7:8:6 8270a48773fSEric van Gyzen 8280a48773fSEric van Gyzen Special thanks to: 8290a48773fSEric van Gyzen Anton Maklakov 8300a48773fSEric van Gyzen Benjamin Peterson 8310a48773fSEric van Gyzen Brad King 8320a48773fSEric van Gyzen Franek Korta 8330a48773fSEric van Gyzen Frank Rast 8340a48773fSEric van Gyzen Joe Orton 8350a48773fSEric van Gyzen luzpaz 8360a48773fSEric van Gyzen Pedro Vicente 8370a48773fSEric van Gyzen Rainer Jung 8380a48773fSEric van Gyzen Rhodri James 8390a48773fSEric van Gyzen Rolf Ade 8400a48773fSEric van Gyzen Rolf Eike Beer 8410a48773fSEric van Gyzen Thomas Beutlich 8420a48773fSEric van Gyzen Tomasz Kłoczko 8430a48773fSEric van Gyzen 8440a48773fSEric van GyzenRelease 2.2.5 Tue October 31 2017 8450a48773fSEric van Gyzen Bug fixes: 8460a48773fSEric van Gyzen #8 If the parser runs out of memory, make sure its internal 8470a48773fSEric van Gyzen state reflects the memory it actually has, not the memory 8480a48773fSEric van Gyzen it wanted to have. 8490a48773fSEric van Gyzen #11 The default handler wasn't being called when it should for 8500a48773fSEric van Gyzen a SYSTEM or PUBLIC doctype if an entity declaration handler 8510a48773fSEric van Gyzen was registered. 8520a48773fSEric van Gyzen #137 #138 Fix a case of mistakenly reported parsing success where 8530a48773fSEric van Gyzen XML_StopParser was called from an element handler 8540a48773fSEric van Gyzen #162 Function XML_ErrorString was returning NULL rather than 8550a48773fSEric van Gyzen a message for code XML_ERROR_INVALID_ARGUMENT 8560a48773fSEric van Gyzen introduced with release 2.2.1 8570a48773fSEric van Gyzen 8580a48773fSEric van Gyzen Other changes: 8590a48773fSEric van Gyzen #106 xmlwf: Add argument -N adding notation declarations 8600a48773fSEric van Gyzen #75 #106 Test suite: Resolve expected failure cases where xmlwf 8610a48773fSEric van Gyzen output was incomplete 8620a48773fSEric van Gyzen #127 Windows: Fix test suite compilation 8630a48773fSEric van Gyzen #126 #127 Windows: Fix compilation for Visual Studio 2012 8640a48773fSEric van Gyzen Windows: Upgrade shipped project files to Visual Studio 2017 8650a48773fSEric van Gyzen #33 #132 tests: Mass-fix compilation for XML_UNICODE_WCHAR_T 8660a48773fSEric van Gyzen #129 examples: Fix compilation for XML_UNICODE_WCHAR_T 8670a48773fSEric van Gyzen #130 benchmark: Fix compilation for XML_UNICODE_WCHAR_T 8680a48773fSEric van Gyzen #144 xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs 8690a48773fSEric van Gyzen Windows or MinGW for 2-byte wchar_t 8700a48773fSEric van Gyzen #9 Address two Clang Static Analyzer false positives 8710a48773fSEric van Gyzen #59 Resolve troublesome macros hiding parser struct membership 8720a48773fSEric van Gyzen and dereferencing that pointer 8730a48773fSEric van Gyzen #6 Resolve superfluous internal malloc/realloc switch 8740a48773fSEric van Gyzen #153 #155 Improve docbook2x-man detection 8750a48773fSEric van Gyzen #160 Undefine NDEBUG in the test suite (rather than rejecting it) 8760a48773fSEric van Gyzen #161 Address compiler warnings 8770a48773fSEric van Gyzen Version info bumped from 7:6:6 to 7:7:6 8780a48773fSEric van Gyzen 8790a48773fSEric van Gyzen Special thanks to: 8800a48773fSEric van Gyzen Benbuck Nason 8810a48773fSEric van Gyzen Hans Wennborg 8820a48773fSEric van Gyzen José Gutiérrez de la Concha 8830a48773fSEric van Gyzen Pedro Monreal Gonzalez 8840a48773fSEric van Gyzen Rhodri James 8850a48773fSEric van Gyzen Rolf Ade 8860a48773fSEric van Gyzen Stephen Groat 8870a48773fSEric van Gyzen and 8880a48773fSEric van Gyzen Core Infrastructure Initiative 8890a48773fSEric van Gyzen 8900a48773fSEric van GyzenRelease 2.2.4 Sat August 19 2017 8910a48773fSEric van Gyzen Bug fixes: 8920a48773fSEric van Gyzen #115 Fix copying of partial characters for UTF-8 input 8930a48773fSEric van Gyzen 8940a48773fSEric van Gyzen Other changes: 8950a48773fSEric van Gyzen #109 Fix "make check" for non-x86 architectures that default 8960a48773fSEric van Gyzen to unsigned type char (-128..127 rather than 0..255) 8970a48773fSEric van Gyzen #109 coverage.sh: Cover -funsigned-char 8980a48773fSEric van Gyzen Autotools: Introduce --without-xmlwf argument 8990a48773fSEric van Gyzen #65 Autotools: Replace handwritten Makefile with GNU Automake 9000a48773fSEric van Gyzen #43 CMake: Auto-detect high quality entropy extractors, add new 9010a48773fSEric van Gyzen option USE_libbsd=ON to use arc4random_buf of libbsd 9020a48773fSEric van Gyzen #74 CMake: Add -fno-strict-aliasing only where supported 9030a48773fSEric van Gyzen #114 CMake: Always honor manually set BUILD_* options 9040a48773fSEric van Gyzen #114 CMake: Compile man page if docbook2x-man is available, only 9050a48773fSEric van Gyzen #117 Include file tests/xmltest.log.expected in source tarball 9060a48773fSEric van Gyzen (required for "make run-xmltest") 9070a48773fSEric van Gyzen #117 Include (existing) Visual Studio 2013 files in source tarball 9080a48773fSEric van Gyzen Improve test suite error output 9090a48773fSEric van Gyzen #111 Fix some typos in documentation 9100a48773fSEric van Gyzen Version info bumped from 7:5:6 to 7:6:6 9110a48773fSEric van Gyzen 9120a48773fSEric van Gyzen Special thanks to: 9130a48773fSEric van Gyzen Jakub Wilk 9140a48773fSEric van Gyzen Joe Orton 9150a48773fSEric van Gyzen Lin Tian 9160a48773fSEric van Gyzen Rolf Eike Beer 9170a48773fSEric van Gyzen 9180a48773fSEric van GyzenRelease 2.2.3 Wed August 2 2017 9190a48773fSEric van Gyzen Security fixes: 9200a48773fSEric van Gyzen #82 CVE-2017-11742 -- Windows: Fix DLL hijacking vulnerability 9210a48773fSEric van Gyzen using Steve Holme's LoadLibrary wrapper for/of cURL 9220a48773fSEric van Gyzen 9230a48773fSEric van Gyzen Bug fixes: 9240a48773fSEric van Gyzen #85 Fix a dangling pointer issue related to realloc 9250a48773fSEric van Gyzen 9260a48773fSEric van Gyzen Other changes: 9270a48773fSEric van Gyzen Increase code coverage 9280a48773fSEric van Gyzen #91 Linux: Allow getrandom to fail if nonblocking pool has not 9290a48773fSEric van Gyzen yet been initialized and read /dev/urandom then, instead. 9300a48773fSEric van Gyzen This is in line with what recent Python does. 9310a48773fSEric van Gyzen #81 Pre-10.7/Lion macOS: Support entropy from arc4random 9320a48773fSEric van Gyzen #86 Check that a UTF-16 encoding in an XML declaration has the 9330a48773fSEric van Gyzen right endianness 9340a48773fSEric van Gyzen #4 #5 #7 Recover correctly when some reallocations fail 9350a48773fSEric van Gyzen Repair "./configure && make" for systems without any 9360a48773fSEric van Gyzen provider of high quality entropy 9370a48773fSEric van Gyzen and try reading /dev/urandom on those 9380a48773fSEric van Gyzen Ensure that user-defined character encodings have converter 9390a48773fSEric van Gyzen functions when they are needed 9400a48773fSEric van Gyzen Fix mis-leading description of argument -c in xmlwf.1 9410a48773fSEric van Gyzen Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__) 9420a48773fSEric van Gyzen for CloudABI 9430a48773fSEric van Gyzen #100 Fix use of SIPHASH_MAIN in siphash.h 9440a48773fSEric van Gyzen #23 Test suite: Fix memory leaks 9450a48773fSEric van Gyzen Version info bumped from 7:4:6 to 7:5:6 9460a48773fSEric van Gyzen 9470a48773fSEric van Gyzen Special thanks to: 9480a48773fSEric van Gyzen Chanho Park 9490a48773fSEric van Gyzen Joe Orton 9500a48773fSEric van Gyzen Pascal Cuoq 9510a48773fSEric van Gyzen Rhodri James 9520a48773fSEric van Gyzen Simon McVittie 9530a48773fSEric van Gyzen Vadim Zeitlin 9540a48773fSEric van Gyzen Viktor Szakats 9550a48773fSEric van Gyzen and 9560a48773fSEric van Gyzen Core Infrastructure Initiative 9570a48773fSEric van Gyzen 9580a48773fSEric van GyzenRelease 2.2.2 Wed July 12 2017 9590a48773fSEric van Gyzen Security fixes: 9600a48773fSEric van Gyzen #43 Protect against compilation without any source of high 9610a48773fSEric van Gyzen quality entropy enabled, e.g. with CMake build system; 9620a48773fSEric van Gyzen commit ff0207e6076e9828e536b8d9cd45c9c92069b895 9630a48773fSEric van Gyzen #60 Windows with _UNICODE: 9640a48773fSEric van Gyzen Unintended use of LoadLibraryW with a non-wide string 9650a48773fSEric van Gyzen resulted in failure to load advapi32.dll and degradation 9660a48773fSEric van Gyzen in quality of used entropy when compiled with _UNICODE for 9670a48773fSEric van Gyzen Windows; you can launch existing binaries with 9680a48773fSEric van Gyzen EXPAT_ENTROPY_DEBUG=1 in the environment to inspect the 9690a48773fSEric van Gyzen quality of entropy used during runtime; commits 9700a48773fSEric van Gyzen * 95b95032f907ef1cd17ee7a9a1768010a825d61d 9710a48773fSEric van Gyzen * 73a5a2e9c081f49f2d775cf7ced864158b68dc80 9720a48773fSEric van Gyzen [MOX-006] Fix non-NULL parser parameter validation in XML_Parse; 9730a48773fSEric van Gyzen resulted in NULL dereference, previously; 9740a48773fSEric van Gyzen commit ac256dafdffc9622ab0dc2c62fcecb0dfcfa71fe 9750a48773fSEric van Gyzen 9760a48773fSEric van Gyzen Bug fixes: 9770a48773fSEric van Gyzen #69 Fix improper use of unsigned long long integer literals 9780a48773fSEric van Gyzen 9790a48773fSEric van Gyzen Other changes: 9800a48773fSEric van Gyzen #73 Start requiring a C99 compiler 9810a48773fSEric van Gyzen #49 Fix "==" Bashism in configure script 9820a48773fSEric van Gyzen #50 Fix too eager getrandom detection for Debian GNU/kFreeBSD 9830a48773fSEric van Gyzen #52 and macOS 9840a48773fSEric van Gyzen #51 Address lack of stdint.h in Visual Studio 2003 to 2008 9850a48773fSEric van Gyzen #58 Address compile warnings 9860a48773fSEric van Gyzen #68 Fix "./buildconf.sh && ./configure" for some versions 9870a48773fSEric van Gyzen of Dash for /bin/sh 9880a48773fSEric van Gyzen #72 CMake: Ease use of Expat in context of a parent project 9890a48773fSEric van Gyzen with multiple CMakeLists.txt files 9900a48773fSEric van Gyzen #72 CMake: Resolve mistaken executable permissions 9910a48773fSEric van Gyzen #76 Address compile warning with -DNDEBUG (not recommended!) 9920a48773fSEric van Gyzen #77 Address compile warning about macro redefinition 9930a48773fSEric van Gyzen 9940a48773fSEric van Gyzen Special thanks to: 9950a48773fSEric van Gyzen Alexander Bluhm 9960a48773fSEric van Gyzen Ben Boeckel 9970a48773fSEric van Gyzen Cătălin Răceanu 9980a48773fSEric van Gyzen Kerin Millar 9990a48773fSEric van Gyzen László Böszörményi 10000a48773fSEric van Gyzen S. P. Zeidler 10010a48773fSEric van Gyzen Segev Finer 10020a48773fSEric van Gyzen Václav Slavík 10030a48773fSEric van Gyzen Victor Stinner 10040a48773fSEric van Gyzen Viktor Szakats 10050a48773fSEric van Gyzen and 10060a48773fSEric van Gyzen Radically Open Security 10070a48773fSEric van Gyzen 10080a48773fSEric van GyzenRelease 2.2.1 Sat June 17 2017 10090a48773fSEric van Gyzen Security fixes: 10100a48773fSEric van Gyzen CVE-2017-9233 -- External entity infinite loop DoS 10110a48773fSEric van Gyzen Details: https://libexpat.github.io/doc/cve-2017-9233/ 10120a48773fSEric van Gyzen Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f 10130a48773fSEric van Gyzen [MOX-002] CVE-2016-9063 -- Detect integer overflow; commit 10140a48773fSEric van Gyzen d4f735b88d9932bd5039df2335eefdd0723dbe20 10150a48773fSEric van Gyzen (Fixed version of existing downstream patches!) 10160a48773fSEric van Gyzen (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off 10170a48773fSEric van Gyzen longer tag names; commits 10180a48773fSEric van Gyzen * 896b6c1fd3b842f377d1b62135dccf0a579cf65d 10190a48773fSEric van Gyzen * af507cef2c93cb8d40062a0abe43a4f4e9158fb2 10200a48773fSEric van Gyzen #16 * 0dbbf43fdb20f593ddf4fa1ff67288000dd4a7fd 10210a48773fSEric van Gyzen #25 More integer overflow detection (function poolGrow); commits 10220a48773fSEric van Gyzen * 810b74e4703dcfdd8f404e3cb177d44684775143 10230a48773fSEric van Gyzen * 44178553f3539ce69d34abee77a05e879a7982ac 10240a48773fSEric van Gyzen [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; commits 10250a48773fSEric van Gyzen * 4be2cb5afcc018d996f34bbbce6374b7befad47f 10260a48773fSEric van Gyzen * 7e5b71b748491b6e459e5c9a1d090820f94544d8 10270a48773fSEric van Gyzen [MOX-005] #30 Use high quality entropy for hash initialization: 10280a48773fSEric van Gyzen * arc4random_buf on BSD, systems with libbsd 10290a48773fSEric van Gyzen (when configured with --with-libbsd), CloudABI 10300a48773fSEric van Gyzen * RtlGenRandom on Windows XP / Server 2003 and later 10310a48773fSEric van Gyzen * getrandom on Linux 3.17+ 10320a48773fSEric van Gyzen In a way, that's still part of CVE-2016-5300. 10330a48773fSEric van Gyzen https://github.com/libexpat/libexpat/pull/30/commits 10340a48773fSEric van Gyzen [MOX-005] For the low quality entropy extraction fallback code, 10350a48773fSEric van Gyzen the parser instance address can no longer leak, commit 10360a48773fSEric van Gyzen 04ad658bd3079dd15cb60fc67087900f0ff4b083 10370a48773fSEric van Gyzen [MOX-003] Prevent use of uninitialised variable; commit 10380a48773fSEric van Gyzen [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b 10390a48773fSEric van Gyzen Add missing parameter validation to public API functions 10400a48773fSEric van Gyzen and dedicated error code XML_ERROR_INVALID_ARGUMENT: 10410a48773fSEric van Gyzen [MOX-006] * NULL checks; commits 10420a48773fSEric van Gyzen * d37f74b2b7149a3a95a680c4c4cd2a451a51d60a (merge/many) 10430a48773fSEric van Gyzen * 9ed727064b675b7180c98cb3d4f75efba6966681 10440a48773fSEric van Gyzen * 6a747c837c50114dfa413994e07c0ba477be4534 10450a48773fSEric van Gyzen * Negative length (XML_Parse); commit 10460a48773fSEric van Gyzen [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f 10470a48773fSEric van Gyzen [MOX-001] #35 Change hash algorithm to William Ahern's version of SipHash 10480a48773fSEric van Gyzen to go further with fixing CVE-2012-0876. 10490a48773fSEric van Gyzen https://github.com/libexpat/libexpat/pull/39/commits 10500a48773fSEric van Gyzen 10510a48773fSEric van Gyzen Bug fixes: 10520a48773fSEric van Gyzen #32 Fix sharing of hash salt across parsers; 10530a48773fSEric van Gyzen relevant where XML_ExternalEntityParserCreate is called 10540a48773fSEric van Gyzen prior to XML_Parse, in particular (e.g. FBReader) 10550a48773fSEric van Gyzen #28 xmlwf: Auto-disable use of memory-mapping (and parsing 10560a48773fSEric van Gyzen as a single chunk) for files larger than ~1 GB (2^30 bytes) 10570a48773fSEric van Gyzen rather than failing with error "out of memory" 10580a48773fSEric van Gyzen #3 Fix double free after malloc failure in DTD code; commit 10590a48773fSEric van Gyzen 7ae9c3d3af433cd4defe95234eae7dc8ed15637f 10600a48773fSEric van Gyzen #17 Fix memory leak on parser error for unbound XML attribute 10610a48773fSEric van Gyzen prefix with new namespaces defined in the same tag; 10620a48773fSEric van Gyzen found by Google's OSS-Fuzz; commits 10630a48773fSEric van Gyzen * 16f87daae5a16132e479e4f71862128c7a915c73 10640a48773fSEric van Gyzen * b47dbc9745932c160893d433220e462bd605f8cd 10650a48773fSEric van Gyzen xmlwf on Windows: Add missing calls to CloseHandle 10660a48773fSEric van Gyzen 10670a48773fSEric van Gyzen New features: 10680a48773fSEric van Gyzen #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1 10690a48773fSEric van Gyzen for runtime debugging of entropy extraction 10700a48773fSEric van Gyzen 10710a48773fSEric van Gyzen Other changes: 10720a48773fSEric van Gyzen Increase code coverage 10730a48773fSEric van Gyzen #33 Reject use of XML_UNICODE_WCHAR_T with sizeof(wchar_t) != 2; 10740a48773fSEric van Gyzen XML_UNICODE_WCHAR_T was never meant to be used outside 10750a48773fSEric van Gyzen of Windows; 4-byte wchar_t is common on Linux 10760a48773fSEric van Gyzen (SF.net) #538 Start using -fno-strict-aliasing 10770a48773fSEric van Gyzen (SF.net) #540 Support compilation against cloudlibc of CloudABI 10780a48773fSEric van Gyzen Allow MinGW cross-compilation 10790a48773fSEric van Gyzen (SF.net) #534 CMake: Introduce option "BUILD_doc" (enabled by default) 10800a48773fSEric van Gyzen to bypass compilation of the xmlwf.1 man page 10810a48773fSEric van Gyzen (SF.net) pr2 CMake: Introduce option "INSTALL" (enabled by default) 10820a48773fSEric van Gyzen to bypass installation of expat files 10830a48773fSEric van Gyzen CMake: Fix ninja support 10840a48773fSEric van Gyzen Autotools: Add parameters --enable-xml-context [COUNT] 10850a48773fSEric van Gyzen and --disable-xml-context; default of context of 1024 10860a48773fSEric van Gyzen bytes enabled unchanged 10870a48773fSEric van Gyzen #14 Drop AmigaOS 4.x code and includes 10880a48773fSEric van Gyzen #14 Drop ancient build systems: 10890a48773fSEric van Gyzen * Borland C++ Builder 10900a48773fSEric van Gyzen * OpenVMS 10910a48773fSEric van Gyzen * Open Watcom 10920a48773fSEric van Gyzen * Visual Studio 6.0 10930a48773fSEric van Gyzen * Pre-X Mac OS (MPW Makefile) 10940a48773fSEric van Gyzen If you happen to rely on some of these, please get in 10950a48773fSEric van Gyzen touch for joining with maintenance. 10960a48773fSEric van Gyzen #10 Move from WIN32 to _WIN32 10970a48773fSEric van Gyzen #13 Fix "make run-xmltest" order instability 10980a48773fSEric van Gyzen Address compile warnings 10990a48773fSEric van Gyzen Bump version info from 7:2:6 to 7:3:6 11000a48773fSEric van Gyzen Add AUTHORS file 11010a48773fSEric van Gyzen 11020a48773fSEric van Gyzen Infrastructure: 11030a48773fSEric van Gyzen #1 Migrate from SourceForge to GitHub (except downloads): 11040a48773fSEric van Gyzen https://github.com/libexpat/ 11050a48773fSEric van Gyzen #1 Re-create http://libexpat.org/ project website 11060a48773fSEric van Gyzen Start utilizing Travis CI 11070a48773fSEric van Gyzen 11080a48773fSEric van Gyzen Special thanks to: 11090a48773fSEric van Gyzen Andy Wang 11100a48773fSEric van Gyzen Don Lewis 11110a48773fSEric van Gyzen Ed Schouten 11120a48773fSEric van Gyzen Karl Waclawek 11130a48773fSEric van Gyzen Pascal Cuoq 11140a48773fSEric van Gyzen Rhodri James 11150a48773fSEric van Gyzen Sergei Nikulov 11160a48773fSEric van Gyzen Tobias Taschner 11170a48773fSEric van Gyzen Viktor Szakats 11180a48773fSEric van Gyzen and 11190a48773fSEric van Gyzen Core Infrastructure Initiative 11200a48773fSEric van Gyzen Mozilla Foundation (MOSS Track 3: Secure Open Source) 11210a48773fSEric van Gyzen Radically Open Security 11220a48773fSEric van Gyzen 1123be8aff81SXin LIRelease 2.2.0 Tue June 21 2016 1124be8aff81SXin LI Security fixes: 1125be8aff81SXin LI #537 CVE-2016-0718 -- Fix crash on malformed input 1126be8aff81SXin LI CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 / 1127be8aff81SXin LI CVE-2015-2716 introduced with Expat 2.1.1 1128be8aff81SXin LI #499 CVE-2016-5300 -- Use more entropy for hash initialization 1129be8aff81SXin LI than the original fix to CVE-2012-0876 1130be8aff81SXin LI #519 CVE-2012-6702 -- Resolve troublesome internal call to srand 1131be8aff81SXin LI that was introduced with Expat 2.1.0 1132be8aff81SXin LI when addressing CVE-2012-0876 (issue #496) 1133be8aff81SXin LI 1134be8aff81SXin LI Bug fixes: 1135be8aff81SXin LI Fix uninitialized reads of size 1 1136be8aff81SXin LI (e.g. in little2_updatePosition) 1137be8aff81SXin LI Fix detection of UTF-8 character boundaries 1138be8aff81SXin LI 1139be8aff81SXin LI Other changes: 1140be8aff81SXin LI #532 Fix compilation for Visual Studio 2010 (keyword "C99") 1141be8aff81SXin LI Autotools: Resolve use of "$<" to better support bmake 1142be8aff81SXin LI Autotools: Add QA script "qa.sh" (and make target "qa") 1143be8aff81SXin LI Autotools: Respect CXXFLAGS if given 1144be8aff81SXin LI Autotools: Fix "make run-xmltest" 1145be8aff81SXin LI Autotools: Have "make run-xmltest" check for expected output 1146be8aff81SXin LI p90 CMake: Fix static build (BUILD_shared=OFF) on Windows 1147be8aff81SXin LI #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass 1148be8aff81SXin LI #323 CMake: Add suffix "d" to differentiate debug from release 1149be8aff81SXin LI CMake: Define WIN32 with CMake on Windows 1150be8aff81SXin LI Annotate memory allocators for GCC 1151be8aff81SXin LI Address all currently known compile warnings 1152be8aff81SXin LI Make sure that API symbols remain visible despite 1153be8aff81SXin LI -fvisibility=hidden 1154be8aff81SXin LI Remove executable flag from source files 1155be8aff81SXin LI Resolve COMPILED_FROM_DSP in favor of WIN32 1156be8aff81SXin LI 1157be8aff81SXin LI Special thanks to: 1158be8aff81SXin LI Björn Lindahl 1159be8aff81SXin LI Christian Heimes 1160be8aff81SXin LI Cristian Rodríguez 1161be8aff81SXin LI Daniel Krügler 1162be8aff81SXin LI Gustavo Grieco 1163be8aff81SXin LI Karl Waclawek 1164be8aff81SXin LI László Böszörményi 1165be8aff81SXin LI Marco Grassi 1166be8aff81SXin LI Pascal Cuoq 1167be8aff81SXin LI Sergei Nikulov 1168be8aff81SXin LI Thomas Beutlich 1169be8aff81SXin LI Warren Young 1170be8aff81SXin LI Yann Droneaud 1171be8aff81SXin LI 1172be8aff81SXin LIRelease 2.1.1 Sat March 12 2016 1173be8aff81SXin LI Security fixes: 1174be8aff81SXin LI #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer 1175be8aff81SXin LI 1176be8aff81SXin LI Bug fixes: 1177be8aff81SXin LI #502: Fix potential null pointer dereference 1178be8aff81SXin LI #520: Symbol XML_SetHashSalt was not exported 1179be8aff81SXin LI Output of "xmlwf -h" was incomplete 1180be8aff81SXin LI 1181be8aff81SXin LI Other changes: 1182be8aff81SXin LI #503: Document behavior of calling XML_SetHashSalt with salt 0 1183be8aff81SXin LI Minor improvements to man page xmlwf(1) 1184be8aff81SXin LI Improvements to the experimental CMake build system 1185be8aff81SXin LI libtool now invoked with --verbose 1186be8aff81SXin LI 1187e3466a89SXin LIRelease 2.1.0 Sat March 24 2012 11880a48773fSEric van Gyzen - Security fixes: 11890a48773fSEric van Gyzen #2958794: CVE-2012-1148 - Memory leak in poolGrow. 11900a48773fSEric van Gyzen #2895533: CVE-2012-1147 - Resource leak in readfilemap.c. 11910a48773fSEric van Gyzen #3496608: CVE-2012-0876 - Hash DOS attack. 11920a48773fSEric van Gyzen #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8(). 11930a48773fSEric van Gyzen #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences. 1194e3466a89SXin LI - Bug Fixes: 1195e3466a89SXin LI #1742315: Harmful XML_ParserCreateNS suggestion. 1196e3466a89SXin LI #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3. 1197e3466a89SXin LI #1983953, 2517952, 2517962, 2649838: 1198e3466a89SXin LI Build modifications using autoreconf instead of buildconf.sh. 1199e3466a89SXin LI #2815947, #2884086: OBJEXT and EXEEXT support while building. 1200e3466a89SXin LI #2517938: xmlwf should return non-zero exit status if not well-formed. 1201e3466a89SXin LI #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml. 1202e3466a89SXin LI #2855609: Dangling positionPtr after error. 1203e3466a89SXin LI #2990652: CMake support. 1204e3466a89SXin LI #3010819: UNEXPECTED_STATE with a trailing "%" in entity value. 12050a48773fSEric van Gyzen #3206497: Uninitialized memory returned from XML_Parse. 1206e3466a89SXin LI #3287849: make check fails on mingw-w64. 1207e3466a89SXin LI - Patches: 1208e3466a89SXin LI #1749198: pkg-config support. 1209e3466a89SXin LI #3010222: Fix for bug #3010819. 1210e3466a89SXin LI #3312568: CMake support. 1211e3466a89SXin LI #3446384: Report byte offsets for attr names and values. 1212e3466a89SXin LI - New Features / API changes: 1213be8aff81SXin LI Added new API member XML_SetHashSalt() that allows setting an initial 1214e3466a89SXin LI value (salt) for hash calculations. This is part of the fix for 1215e3466a89SXin LI bug #3496608 to randomize hash parameters. 1216e3466a89SXin LI When compiled with XML_ATTR_INFO defined, adds new API member 1217e3466a89SXin LI XML_GetAttributeInfo() that allows retrieving the byte 1218e3466a89SXin LI offsets for attribute names and values (patch #3446384). 1219e3466a89SXin LI Added CMake build system. 1220e3466a89SXin LI See bug #2990652 and patch #3312568. 1221e3466a89SXin LI Added run-benchmark target to Makefile.in - relies on testdata module 1222e3466a89SXin LI present in the same relative location as in the repository. 1223e3466a89SXin LI 1224220ed979SColeman KaneRelease 2.0.1 Tue June 5 2007 1225e3466a89SXin LI - Fixed bugs #1515266, #1515600: The character data handler's calling 1226220ed979SColeman Kane of XML_StopParser() was not handled properly; if the parser was 1227220ed979SColeman Kane stopped and the handler set to NULL, the parser would segfault. 1228220ed979SColeman Kane - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed 1229220ed979SColeman Kane some character constants to be ASCII encoded. 1230220ed979SColeman Kane - Minor cleanups of the test harness. 1231220ed979SColeman Kane - Fixed xmlwf bug #1513566: "out of memory" error on file size zero. 1232220ed979SColeman Kane - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call. 1233220ed979SColeman Kane - Fixes and improvements for Windows platform: 1234e3466a89SXin LI bugs #1409451, #1476160, #1548182, #1602769, #1717322. 1235220ed979SColeman Kane - Build fixes for various platforms: 1236220ed979SColeman Kane HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180. 1237220ed979SColeman Kane All Unix: #1554618 (refreshed config.sub/config.guess). 1238220ed979SColeman Kane #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT, 1239220ed979SColeman Kane without relying on GNU-Make specific features. 1240220ed979SColeman Kane #1647805: Patched configure.in to work better with Intel compiler. 1241220ed979SColeman Kane - Fixes to Makefile.in to have make check work correctly: 1242220ed979SColeman Kane bugs #1408143, #1535603, #1536684. 1243220ed979SColeman Kane - Added Open Watcom support: patch #1523242. 1244220ed979SColeman Kane 1245220ed979SColeman KaneRelease 2.0.0 Wed Jan 11 2006 1246220ed979SColeman Kane - We no longer use the "check" library for C unit testing; we 1247220ed979SColeman Kane always use the (partial) internal implementation of the API. 1248220ed979SColeman Kane - Report XML_NS setting via XML_GetFeatureList(). 1249220ed979SColeman Kane - Fixed headers for use from C++. 1250220ed979SColeman Kane - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber() 1251220ed979SColeman Kane now return unsigned integers. 1252220ed979SColeman Kane - Added XML_LARGE_SIZE switch to enable 64-bit integers for 1253220ed979SColeman Kane byte indexes and line/column numbers. 1254220ed979SColeman Kane - Updated to use libtool 1.5.22 (the most recent). 1255220ed979SColeman Kane - Added support for AmigaOS. 1256e3466a89SXin LI - Some mostly minor bug fixes. SF issues include: #1006708, 1257e3466a89SXin LI #1021776, #1023646, #1114960, #1156398, #1221160, #1271642. 1258220ed979SColeman Kane 1259220ed979SColeman KaneRelease 1.95.8 Fri Jul 23 2004 1260220ed979SColeman Kane - Major new feature: suspend/resume. Handlers can now request 1261220ed979SColeman Kane that a parse be suspended for later resumption or aborted 1262220ed979SColeman Kane altogether. See "Temporarily Stopping Parsing" in the 1263220ed979SColeman Kane documentation for more details. 1264220ed979SColeman Kane - Some mostly minor bug fixes, but compilation should no 1265220ed979SColeman Kane longer generate warnings on most platforms. SF issues 1266e3466a89SXin LI include: #827319, #840173, #846309, #888329, #896188, #923913, 1267e3466a89SXin LI #928113, #961698, #985192. 1268220ed979SColeman Kane 1269220ed979SColeman KaneRelease 1.95.7 Mon Oct 20 2003 1270220ed979SColeman Kane - Fixed enum XML_Status issue (reported on SourceForge many 1271220ed979SColeman Kane times), so compilers that are properly picky will be happy. 1272220ed979SColeman Kane - Introduced an XMLCALL macro to control the calling 1273220ed979SColeman Kane convention used by the Expat API; this macro should be used 1274220ed979SColeman Kane to annotate prototypes and definitions of callback 1275220ed979SColeman Kane implementations in code compiled with a calling convention 1276220ed979SColeman Kane other than the default convention for the host platform. 1277220ed979SColeman Kane - Improved ability to build without the configure-generated 1278220ed979SColeman Kane expat_config.h header. This is useful for applications 1279220ed979SColeman Kane which embed Expat rather than linking in the library. 1280e3466a89SXin LI - Fixed a variety of bugs: see SF issues #458907, #609603, 1281e3466a89SXin LI #676844, #679754, #692878, #692964, #695401, #699323, #699487, 1282e3466a89SXin LI #820946. 1283220ed979SColeman Kane - Improved hash table lookups. 1284220ed979SColeman Kane - Added more regression tests and improved documentation. 1285220ed979SColeman Kane 1286220ed979SColeman KaneRelease 1.95.6 Tue Jan 28 2003 1287220ed979SColeman Kane - Added XML_FreeContentModel(). 1288220ed979SColeman Kane - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree(). 1289e3466a89SXin LI - Fixed a variety of bugs: see SF issues #615606, #616863, 1290e3466a89SXin LI #618199, #653180, #673791. 1291220ed979SColeman Kane - Enhanced the regression test suite. 1292e3466a89SXin LI - Man page improvements: includes SF issue #632146. 1293220ed979SColeman Kane 12945bb6a25fSPoul-Henning KampRelease 1.95.5 Fri Sep 6 2002 12955bb6a25fSPoul-Henning Kamp - Added XML_UseForeignDTD() for improved SAX2 support. 12965bb6a25fSPoul-Henning Kamp - Added XML_GetFeatureList(). 12975bb6a25fSPoul-Henning Kamp - Defined XML_Bool type and the values XML_TRUE and XML_FALSE. 12985bb6a25fSPoul-Henning Kamp - Use an incomplete struct instead of a void* for the parser 12995bb6a25fSPoul-Henning Kamp (may not retain). 13005bb6a25fSPoul-Henning Kamp - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected. 13015bb6a25fSPoul-Henning Kamp - Finally fixed bug where default handler would report DTD 13025bb6a25fSPoul-Henning Kamp events that were already handled by another handler. 1303220ed979SColeman Kane Initial patch contributed by Darryl Miles. 13045bb6a25fSPoul-Henning Kamp - Removed unnecessary DllMain() function that caused static 13055bb6a25fSPoul-Henning Kamp linking into a DLL to be difficult. 13065bb6a25fSPoul-Henning Kamp - Added VC++ projects for building static libraries. 13075bb6a25fSPoul-Henning Kamp - Reduced line-length for all source code and headers to be 13085bb6a25fSPoul-Henning Kamp no longer than 80 characters, to help with AS/400 support. 13095bb6a25fSPoul-Henning Kamp - Reduced memory copying during parsing (SF patch #600964). 1310e3466a89SXin LI - Fixed a variety of bugs: see SF issues #580793, #434664, 1311e3466a89SXin LI #483514, #580503, #581069, #584041, #584183, #584832, #585537, 1312e3466a89SXin LI #596555, #596678, #598352, #598944, #599715, #600479, #600971. 13135bb6a25fSPoul-Henning Kamp 13145bb6a25fSPoul-Henning KampRelease 1.95.4 Fri Jul 12 2002 13155bb6a25fSPoul-Henning Kamp - Added support for VMS, contributed by Craig Berry. See 13165bb6a25fSPoul-Henning Kamp vms/README.vms for more information. 13175bb6a25fSPoul-Henning Kamp - Added Mac OS (classic) support, with a makefile for MPW, 13185bb6a25fSPoul-Henning Kamp contributed by Thomas Wegner and Daryle Walker. 13195bb6a25fSPoul-Henning Kamp - Added Borland C++ Builder 5 / BCC 5.5 support, contributed 13205bb6a25fSPoul-Henning Kamp by Patrick McConnell (SF patch #538032). 1321e3466a89SXin LI - Fixed a variety of bugs: see SF issues #441449, #563184, 1322e3466a89SXin LI #564342, #566334, #566901, #569461, #570263, #575168, #579196. 13235bb6a25fSPoul-Henning Kamp - Made skippedEntityHandler conform to SAX2 (see source comment) 13245bb6a25fSPoul-Henning Kamp - Re-implemented WFC: Entity Declared from XML 1.0 spec and 13255bb6a25fSPoul-Henning Kamp added a new error "entity declared in parameter entity": 1326e3466a89SXin LI see SF bug report #569461 and SF patch #578161 13275bb6a25fSPoul-Henning Kamp - Re-implemented section 5.1 from XML 1.0 spec: 1328e3466a89SXin LI see SF bug report #570263 and SF patch #578161 13295bb6a25fSPoul-Henning Kamp 13305bb6a25fSPoul-Henning KampRelease 1.95.3 Mon Jun 3 2002 13315bb6a25fSPoul-Henning Kamp - Added a project to the MSVC workspace to create a wchar_t 13325bb6a25fSPoul-Henning Kamp version of the library; the DLLs are named libexpatw.dll. 13335bb6a25fSPoul-Henning Kamp - Changed the name of the Windows DLLs from expat.dll to 13345bb6a25fSPoul-Henning Kamp libexpat.dll; this fixes SF bug #432456. 13355bb6a25fSPoul-Henning Kamp - Added the XML_ParserReset() API function. 13365bb6a25fSPoul-Henning Kamp - Fixed XML_SetReturnNSTriplet() to work for element names. 13375bb6a25fSPoul-Henning Kamp - Made the XML_UNICODE builds usable (thanks, Karl!). 13385bb6a25fSPoul-Henning Kamp - Allow xmlwf to read from standard input. 13395bb6a25fSPoul-Henning Kamp - Install a man page for xmlwf on Unix systems. 1340e3466a89SXin LI - Fixed many bugs; see SF bug reports #231864, #461380, #464837, 1341e3466a89SXin LI #466885, #469226, #477667, #484419, #487840, #494749, #496505, 1342e3466a89SXin LI #547350. Other bugs which we can't test as easily may also 13435bb6a25fSPoul-Henning Kamp have been fixed, especially in the area of build support. 13445bb6a25fSPoul-Henning Kamp 13455bb6a25fSPoul-Henning KampRelease 1.95.2 Fri Jul 27 2001 13465bb6a25fSPoul-Henning Kamp - More changes to make MSVC happy with the build; add a single 13475bb6a25fSPoul-Henning Kamp workspace to support both the library and xmlwf application. 13485bb6a25fSPoul-Henning Kamp - Added a Windows installer for Windows users; includes 13495bb6a25fSPoul-Henning Kamp xmlwf.exe. 13505bb6a25fSPoul-Henning Kamp - Added compile-time constants that can be used to determine the 13515bb6a25fSPoul-Henning Kamp Expat version 13525bb6a25fSPoul-Henning Kamp - Removed a lot of GNU-specific dependencies to aide portability 13535bb6a25fSPoul-Henning Kamp among the various Unix flavors. 13545bb6a25fSPoul-Henning Kamp - Fix the UTF-8 BOM bug. 13555bb6a25fSPoul-Henning Kamp - Cleaned up warning messages for several compilers. 13565bb6a25fSPoul-Henning Kamp - Added the -Wall, -Wstrict-prototypes options for GCC. 13575bb6a25fSPoul-Henning Kamp 13585bb6a25fSPoul-Henning KampRelease 1.95.1 Sun Oct 22 15:11:36 EDT 2000 13595bb6a25fSPoul-Henning Kamp - Changes to get expat to build under Microsoft compiler 13605bb6a25fSPoul-Henning Kamp - Removed all aborts and instead return an UNEXPECTED_STATE error. 13615bb6a25fSPoul-Henning Kamp - Fixed a bug where a stray '%' in an entity value would cause an 13625bb6a25fSPoul-Henning Kamp abort. 13635bb6a25fSPoul-Henning Kamp - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for 13645bb6a25fSPoul-Henning Kamp finding this oversight. 13655bb6a25fSPoul-Henning Kamp - Changed default patterns in lib/Makefile.in to fit non-GNU makes 13665bb6a25fSPoul-Henning Kamp Thanks to robin@unrated.net for reporting and providing an 13675bb6a25fSPoul-Henning Kamp account to test on. 13685bb6a25fSPoul-Henning Kamp - The reference had the wrong label for XML_SetStartNamespaceDecl. 13695bb6a25fSPoul-Henning Kamp Reported by an anonymous user. 13705bb6a25fSPoul-Henning Kamp 13715bb6a25fSPoul-Henning KampRelease 1.95.0 Fri Sep 29 2000 13725bb6a25fSPoul-Henning Kamp - XML_ParserCreate_MM 13735bb6a25fSPoul-Henning Kamp Allows you to set a memory management suite to replace the 13745bb6a25fSPoul-Henning Kamp standard malloc,realloc, and free. 13755bb6a25fSPoul-Henning Kamp - XML_SetReturnNSTriplet 13765bb6a25fSPoul-Henning Kamp If you turn this feature on when namespace processing is in 13775bb6a25fSPoul-Henning Kamp effect, then qualified, prefixed element and attribute names 13785bb6a25fSPoul-Henning Kamp are returned as "uri|name|prefix" where '|' is whatever 13795bb6a25fSPoul-Henning Kamp separator character is used in namespace processing. 13805bb6a25fSPoul-Henning Kamp - Merged in features from perl-expat 13815bb6a25fSPoul-Henning Kamp o XML_SetElementDeclHandler 13825bb6a25fSPoul-Henning Kamp o XML_SetAttlistDeclHandler 13835bb6a25fSPoul-Henning Kamp o XML_SetXmlDeclHandler 13845bb6a25fSPoul-Henning Kamp o XML_SetEntityDeclHandler 13855bb6a25fSPoul-Henning Kamp o StartDoctypeDeclHandler takes 3 additional parameters: 13865bb6a25fSPoul-Henning Kamp sysid, pubid, has_internal_subset 13875bb6a25fSPoul-Henning Kamp o Many paired handler setters (like XML_SetElementHandler) 13885bb6a25fSPoul-Henning Kamp now have corresponding individual handler setters 13895bb6a25fSPoul-Henning Kamp o XML_GetInputContext for getting the input context of 13905bb6a25fSPoul-Henning Kamp the current parse position. 13915bb6a25fSPoul-Henning Kamp - Added reference material 13925bb6a25fSPoul-Henning Kamp - Packaged into a distribution that builds a sharable library 1393