123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390 |
- NOTE: We are looking for help with a few things:
- https://github.com/libexpat/libexpat/labels/help%20wanted
- If you can help, please get in touch. Thanks!
- Release 2.2.1 Sat June 17 2017
- Security fixes:
- CVE-2017-9233 -- External entity infinite loop DoS
- Details: https://libexpat.github.io/doc/cve-2017-9233/
- Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f
- [MOX-002] CVE-2016-9063 -- Detect integer overflow; commit
- d4f735b88d9932bd5039df2335eefdd0723dbe20
- (Fixed version of existing downstream patches!)
- (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off
- longer tag names; commits
- * 896b6c1fd3b842f377d1b62135dccf0a579cf65d
- * af507cef2c93cb8d40062a0abe43a4f4e9158fb2
- #16 * 0dbbf43fdb20f593ddf4fa1ff67288000dd4a7fd
- #25 More integer overflow detection (function poolGrow); commits
- * 810b74e4703dcfdd8f404e3cb177d44684775143
- * 44178553f3539ce69d34abee77a05e879a7982ac
- [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; commits
- * 4be2cb5afcc018d996f34bbbce6374b7befad47f
- * 7e5b71b748491b6e459e5c9a1d090820f94544d8
- [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, commit
- 04ad658bd3079dd15cb60fc67087900f0ff4b083
- [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
- * d37f74b2b7149a3a95a680c4c4cd2a451a51d60a (merge/many)
- * 9ed727064b675b7180c98cb3d4f75efba6966681
- * 6a747c837c50114dfa413994e07c0ba477be4534
- * 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
- * 16f87daae5a16132e479e4f71862128c7a915c73
- * b47dbc9745932c160893d433220e462bd605f8cd
- xmlwf on Windows: Add missing calls to CloseHandle
- New features:
- #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1
- for runtime debugging of entropy extraction
- Other changes:
- Increase code coverage
- #33 Reject use of XML_UNICODE_WCHAR_T with sizeof(wchar_t) != 2;
- XML_UNICODE_WCHAR_T was never meant to be used outside
- of Windows; 4-byte wchar_t is common on Linux
- (SF.net) #538 Start using -fno-strict-aliasing
- (SF.net) #540 Support compilation against cloudlibc of CloudABI
- Allow MinGW cross-compilation
- (SF.net) #534 CMake: Introduce option "BUILD_doc" (enabled by default)
- to bypass compilation of the xmlwf.1 man page
- (SF.net) pr2 CMake: Introduce option "INSTALL" (enabled by default)
- to bypass installation of expat files
- CMake: Fix ninja support
- Autotools: Add parameters --enable-xml-context [COUNT]
- and --disable-xml-context; default of context of 1024
- bytes enabled unchanged
- #14 Drop AmigaOS 4.x code and includes
- #14 Drop ancient build systems:
- * Borland C++ Builder
- * OpenVMS
- * Open Watcom
- * Visual Studio 6.0
- * Pre-X Mac OS (MPW Makefile)
- If you happen to rely on some of these, please get in
- touch for joining with maintenance.
- #10 Move from WIN32 to _WIN32
- #13 Fix "make run-xmltest" order instability
- Address compile warnings
- Bump version info from 7:2:6 to 7:3:6
- Add AUTHORS file
- Infrastructure:
- #1 Migrate from SourceForge to GitHub (except downloads):
- https://github.com/libexpat/
- #1 Re-create http://libexpat.org/ project website
- Start utilizing Travis CI
- Special thanks to:
- Andy Wang
- Don Lewis
- Ed Schouten
- Karl Waclawek
- Pascal Cuoq
- Rhodri James
- Sergei Nikulov
- Tobias Taschner
- Viktor Szakats
- and
- Core Infrastructure Initiative
- Mozilla Foundation (MOSS Track 3: Secure Open Source)
- Radically Open Security
- Release 2.2.0 Tue June 21 2016
- Security fixes:
- #537 CVE-2016-0718 -- Fix crash on malformed input
- CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 /
- CVE-2015-2716 introduced with Expat 2.1.1
- #499 CVE-2016-5300 -- Use more entropy for hash initialization
- than the original fix to CVE-2012-0876
- #519 CVE-2012-6702 -- Resolve troublesome internal call to srand
- that was introduced with Expat 2.1.0
- when addressing CVE-2012-0876 (issue #496)
- Bug fixes:
- Fix uninitialized reads of size 1
- (e.g. in little2_updatePosition)
- Fix detection of UTF-8 character boundaries
- Other changes:
- #532 Fix compilation for Visual Studio 2010 (keyword "C99")
- Autotools: Resolve use of "$<" to better support bmake
- Autotools: Add QA script "qa.sh" (and make target "qa")
- Autotools: Respect CXXFLAGS if given
- Autotools: Fix "make run-xmltest"
- Autotools: Have "make run-xmltest" check for expected output
- p90 CMake: Fix static build (BUILD_shared=OFF) on Windows
- #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass
- #323 CMake: Add suffix "d" to differentiate debug from release
- CMake: Define WIN32 with CMake on Windows
- Annotate memory allocators for GCC
- Address all currently known compile warnings
- Make sure that API symbols remain visible despite
- -fvisibility=hidden
- Remove executable flag from source files
- Resolve COMPILED_FROM_DSP in favor of WIN32
- Special thanks to:
- Björn Lindahl
- Christian Heimes
- Cristian Rodríguez
- Daniel Krügler
- Gustavo Grieco
- Karl Waclawek
- László Böszörményi
- Marco Grassi
- Pascal Cuoq
- Sergei Nikulov
- Thomas Beutlich
- Warren Young
- Yann Droneaud
- Release 2.1.1 Sat March 12 2016
- Security fixes:
- #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer
- Bug fixes:
- #502: Fix potential null pointer dereference
- #520: Symbol XML_SetHashSalt was not exported
- Output of "xmlwf -h" was incomplete
- Other changes:
- #503: Document behavior of calling XML_SetHashSalt with salt 0
- Minor improvements to man page xmlwf(1)
- Improvements to the experimental CMake build system
- libtool now invoked with --verbose
- Release 2.1.0 Sat March 24 2012
- - Security fixes:
- #2958794: CVE-2012-1148 - Memory leak in poolGrow.
- #2895533: CVE-2012-1147 - Resource leak in readfilemap.c.
- #3496608: CVE-2012-0876 - Hash DOS attack.
- #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8().
- #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences.
- - Bug Fixes:
- #1742315: Harmful XML_ParserCreateNS suggestion.
- #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.
- #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.
- #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.
- - 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 initial
- 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.
-
- Release 2.0.1 Tue June 5 2007
- - 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.
- Release 2.0.0 Wed Jan 11 2006
- - We no longer use the "check" library for C unit testing; we
- always use the (partial) internal implementation of the API.
- - Report XML_NS setting via XML_GetFeatureList().
- - Fixed headers for use from C++.
- - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
- now return unsigned integers.
- - Added XML_LARGE_SIZE switch to enable 64-bit integers for
- byte indexes and line/column numbers.
- - Updated to use libtool 1.5.22 (the most recent).
- - Added support for AmigaOS.
- - Some mostly minor bug fixes. SF issues include: #1006708,
- #1021776, #1023646, #1114960, #1156398, #1221160, #1271642.
- Release 1.95.8 Fri Jul 23 2004
- - Major new feature: suspend/resume. Handlers can now request
- that a parse be suspended for later resumption or aborted
- altogether. See "Temporarily Stopping Parsing" in the
- documentation for more details.
- - Some mostly minor bug fixes, but compilation should no
- longer generate warnings on most platforms. SF issues
- include: #827319, #840173, #846309, #888329, #896188, #923913,
- #928113, #961698, #985192.
- Release 1.95.7 Mon Oct 20 2003
- - Fixed enum XML_Status issue (reported on SourceForge many
- times), so compilers that are properly picky will be happy.
- - Introduced an XMLCALL macro to control the calling
- convention used by the Expat API; this macro should be used
- to annotate prototypes and definitions of callback
- implementations in code compiled with a calling convention
- other than the default convention for the host platform.
- - 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.
- - Fixed a variety of bugs: see SF issues #458907, #609603,
- #676844, #679754, #692878, #692964, #695401, #699323, #699487,
- #820946.
- - Improved hash table lookups.
- - Added more regression tests and improved documentation.
- Release 1.95.6 Tue Jan 28 2003
- - Added XML_FreeContentModel().
- - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree().
- - Fixed a variety of bugs: see SF issues #615606, #616863,
- #618199, #653180, #673791.
- - Enhanced the regression test suite.
- - Man page improvements: includes SF issue #632146.
- Release 1.95.5 Fri Sep 6 2002
- - Added XML_UseForeignDTD() for improved SAX2 support.
- - Added XML_GetFeatureList().
- - Defined XML_Bool type and the values XML_TRUE and XML_FALSE.
- - Use an incomplete struct instead of a void* for the parser
- (may not retain).
- - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected.
- - Finally fixed bug where default handler would report DTD
- events that were already handled by another handler.
- Initial patch contributed by Darryl Miles.
- - Removed unnecessary DllMain() function that caused static
- linking into a DLL to be difficult.
- - Added VC++ projects for building static libraries.
- - Reduced line-length for all source code and headers to be
- no longer than 80 characters, to help with AS/400 support.
- - Reduced memory copying during parsing (SF patch #600964).
- - Fixed a variety of bugs: see SF issues #580793, #434664,
- #483514, #580503, #581069, #584041, #584183, #584832, #585537,
- #596555, #596678, #598352, #598944, #599715, #600479, #600971.
- Release 1.95.4 Fri Jul 12 2002
- - Added support for VMS, contributed by Craig Berry. See
- vms/README.vms for more information.
- - Added Mac OS (classic) support, with a makefile for MPW,
- contributed by Thomas Wegner and Daryle Walker.
- - Added Borland C++ Builder 5 / BCC 5.5 support, contributed
- by Patrick McConnell (SF patch #538032).
- - Fixed a variety of bugs: see SF issues #441449, #563184,
- #564342, #566334, #566901, #569461, #570263, #575168, #579196.
- - Made skippedEntityHandler conform to SAX2 (see source comment)
- - Re-implemented WFC: Entity Declared from XML 1.0 spec and
- added a new error "entity declared in parameter entity":
- see SF bug report #569461 and SF patch #578161
- - Re-implemented section 5.1 from XML 1.0 spec:
- see SF bug report #570263 and SF patch #578161
- Release 1.95.3 Mon Jun 3 2002
- - Added a project to the MSVC workspace to create a wchar_t
- version of the library; the DLLs are named libexpatw.dll.
- - Changed the name of the Windows DLLs from expat.dll to
- libexpat.dll; this fixes SF bug #432456.
- - Added the XML_ParserReset() API function.
- - Fixed XML_SetReturnNSTriplet() to work for element names.
- - Made the XML_UNICODE builds usable (thanks, Karl!).
- - Allow xmlwf to read from standard input.
- - Install a man page for xmlwf on Unix systems.
- - Fixed many bugs; see SF bug reports #231864, #461380, #464837,
- #466885, #469226, #477667, #484419, #487840, #494749, #496505,
- #547350. Other bugs which we can't test as easily may also
- have been fixed, especially in the area of build support.
- Release 1.95.2 Fri Jul 27 2001
- - More changes to make MSVC happy with the build; add a single
- workspace to support both the library and xmlwf application.
- - Added a Windows installer for Windows users; includes
- xmlwf.exe.
- - Added compile-time constants that can be used to determine the
- Expat version
- - Removed a lot of GNU-specific dependencies to aide portability
- among the various Unix flavors.
- - Fix the UTF-8 BOM bug.
- - Cleaned up warning messages for several compilers.
- - Added the -Wall, -Wstrict-prototypes options for GCC.
- Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000
- - Changes to get expat to build under Microsoft compiler
- - Removed all aborts and instead return an UNEXPECTED_STATE error.
- - Fixed a bug where a stray '%' in an entity value would cause an
- abort.
- - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for
- finding this oversight.
- - Changed default patterns in lib/Makefile.in to fit non-GNU makes
- Thanks to robin@unrated.net for reporting and providing an
- account to test on.
- - The reference had the wrong label for XML_SetStartNamespaceDecl.
- Reported by an anonymous user.
- Release 1.95.0 Fri Sep 29 2000
- - XML_ParserCreate_MM
- Allows you to set a memory management suite to replace the
- standard malloc,realloc, and free.
- - XML_SetReturnNSTriplet
- If you turn this feature on when namespace processing is in
- effect, then qualified, prefixed element and attribute names
- are returned as "uri|name|prefix" where '|' is whatever
- separator character is used in namespace processing.
- - Merged in features from perl-expat
- o XML_SetElementDeclHandler
- o XML_SetAttlistDeclHandler
- o XML_SetXmlDeclHandler
- o XML_SetEntityDeclHandler
- o StartDoctypeDeclHandler takes 3 additional parameters:
- sysid, pubid, has_internal_subset
- o Many paired handler setters (like XML_SetElementHandler)
- now have corresponding individual handler setters
- o XML_GetInputContext for getting the input context of
- the current parse position.
- - Added reference material
- - Packaged into a distribution that builds a sharable library
|