Changes revision 302305
1Release 2.2.0 Tue June 21 2016 2 Security fixes: 3 #537 CVE-2016-0718 -- Fix crash on malformed input 4 CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 / 5 CVE-2015-2716 introduced with Expat 2.1.1 6 #499 CVE-2016-5300 -- Use more entropy for hash initialization 7 than the original fix to CVE-2012-0876 8 #519 CVE-2012-6702 -- Resolve troublesome internal call to srand 9 that was introduced with Expat 2.1.0 10 when addressing CVE-2012-0876 (issue #496) 11 12 Bug fixes: 13 Fix uninitialized reads of size 1 14 (e.g. in little2_updatePosition) 15 Fix detection of UTF-8 character boundaries 16 17 Other changes: 18 #532 Fix compilation for Visual Studio 2010 (keyword "C99") 19 Autotools: Resolve use of "$<" to better support bmake 20 Autotools: Add QA script "qa.sh" (and make target "qa") 21 Autotools: Respect CXXFLAGS if given 22 Autotools: Fix "make run-xmltest" 23 Autotools: Have "make run-xmltest" check for expected output 24 p90 CMake: Fix static build (BUILD_shared=OFF) on Windows 25 #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass 26 #323 CMake: Add suffix "d" to differentiate debug from release 27 CMake: Define WIN32 with CMake on Windows 28 Annotate memory allocators for GCC 29 Address all currently known compile warnings 30 Make sure that API symbols remain visible despite 31 -fvisibility=hidden 32 Remove executable flag from source files 33 Resolve COMPILED_FROM_DSP in favor of WIN32 34 35 Special thanks to: 36 Bj��rn Lindahl 37 Christian Heimes 38 Cristian Rodr��guez 39 Daniel Kr��gler 40 Gustavo Grieco 41 Karl Waclawek 42 L��szl�� B��sz��rm��nyi 43 Marco Grassi 44 Pascal Cuoq 45 Sergei Nikulov 46 Thomas Beutlich 47 Warren Young 48 Yann Droneaud 49 50Release 2.1.1 Sat March 12 2016 51 Security fixes: 52 #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer 53 54 Bug fixes: 55 #502: Fix potential null pointer dereference 56 #520: Symbol XML_SetHashSalt was not exported 57 Output of "xmlwf -h" was incomplete 58 59 Other changes: 60 #503: Document behavior of calling XML_SetHashSalt with salt 0 61 Minor improvements to man page xmlwf(1) 62 Improvements to the experimental CMake build system 63 libtool now invoked with --verbose 64 65Release 2.1.0 Sat March 24 2012 66 - Bug Fixes: 67 #1742315: Harmful XML_ParserCreateNS suggestion. 68 #2895533: CVE-2012-1147 - Resource leak in readfilemap.c. 69 #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3. 70 #1983953, 2517952, 2517962, 2649838: 71 Build modifications using autoreconf instead of buildconf.sh. 72 #2815947, #2884086: OBJEXT and EXEEXT support while building. 73 #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences. 74 #2517938: xmlwf should return non-zero exit status if not well-formed. 75 #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml. 76 #2855609: Dangling positionPtr after error. 77 #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8(). 78 #2958794: CVE-2012-1148 - Memory leak in poolGrow. 79 #2990652: CMake support. 80 #3010819: UNEXPECTED_STATE with a trailing "%" in entity value. 81 #3206497: Unitialized memory returned from XML_Parse. 82 #3287849: make check fails on mingw-w64. 83 #3496608: CVE-2012-0876 - Hash DOS attack. 84 - Patches: 85 #1749198: pkg-config support. 86 #3010222: Fix for bug #3010819. 87 #3312568: CMake support. 88 #3446384: Report byte offsets for attr names and values. 89 - New Features / API changes: 90 Added new API member XML_SetHashSalt() that allows setting an initial 91 value (salt) for hash calculations. This is part of the fix for 92 bug #3496608 to randomize hash parameters. 93 When compiled with XML_ATTR_INFO defined, adds new API member 94 XML_GetAttributeInfo() that allows retrieving the byte 95 offsets for attribute names and values (patch #3446384). 96 Added CMake build system. 97 See bug #2990652 and patch #3312568. 98 Added run-benchmark target to Makefile.in - relies on testdata module 99 present in the same relative location as in the repository. 100 101Release 2.0.1 Tue June 5 2007 102 - Fixed bugs #1515266, #1515600: The character data handler's calling 103 of XML_StopParser() was not handled properly; if the parser was 104 stopped and the handler set to NULL, the parser would segfault. 105 - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed 106 some character constants to be ASCII encoded. 107 - Minor cleanups of the test harness. 108 - Fixed xmlwf bug #1513566: "out of memory" error on file size zero. 109 - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call. 110 - Fixes and improvements for Windows platform: 111 bugs #1409451, #1476160, #1548182, #1602769, #1717322. 112 - Build fixes for various platforms: 113 HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180. 114 All Unix: #1554618 (refreshed config.sub/config.guess). 115 #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT, 116 without relying on GNU-Make specific features. 117 #1647805: Patched configure.in to work better with Intel compiler. 118 - Fixes to Makefile.in to have make check work correctly: 119 bugs #1408143, #1535603, #1536684. 120 - Added Open Watcom support: patch #1523242. 121 122Release 2.0.0 Wed Jan 11 2006 123 - We no longer use the "check" library for C unit testing; we 124 always use the (partial) internal implementation of the API. 125 - Report XML_NS setting via XML_GetFeatureList(). 126 - Fixed headers for use from C++. 127 - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber() 128 now return unsigned integers. 129 - Added XML_LARGE_SIZE switch to enable 64-bit integers for 130 byte indexes and line/column numbers. 131 - Updated to use libtool 1.5.22 (the most recent). 132 - Added support for AmigaOS. 133 - Some mostly minor bug fixes. SF issues include: #1006708, 134 #1021776, #1023646, #1114960, #1156398, #1221160, #1271642. 135 136Release 1.95.8 Fri Jul 23 2004 137 - Major new feature: suspend/resume. Handlers can now request 138 that a parse be suspended for later resumption or aborted 139 altogether. See "Temporarily Stopping Parsing" in the 140 documentation for more details. 141 - Some mostly minor bug fixes, but compilation should no 142 longer generate warnings on most platforms. SF issues 143 include: #827319, #840173, #846309, #888329, #896188, #923913, 144 #928113, #961698, #985192. 145 146Release 1.95.7 Mon Oct 20 2003 147 - Fixed enum XML_Status issue (reported on SourceForge many 148 times), so compilers that are properly picky will be happy. 149 - Introduced an XMLCALL macro to control the calling 150 convention used by the Expat API; this macro should be used 151 to annotate prototypes and definitions of callback 152 implementations in code compiled with a calling convention 153 other than the default convention for the host platform. 154 - Improved ability to build without the configure-generated 155 expat_config.h header. This is useful for applications 156 which embed Expat rather than linking in the library. 157 - Fixed a variety of bugs: see SF issues #458907, #609603, 158 #676844, #679754, #692878, #692964, #695401, #699323, #699487, 159 #820946. 160 - Improved hash table lookups. 161 - Added more regression tests and improved documentation. 162 163Release 1.95.6 Tue Jan 28 2003 164 - Added XML_FreeContentModel(). 165 - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree(). 166 - Fixed a variety of bugs: see SF issues #615606, #616863, 167 #618199, #653180, #673791. 168 - Enhanced the regression test suite. 169 - Man page improvements: includes SF issue #632146. 170 171Release 1.95.5 Fri Sep 6 2002 172 - Added XML_UseForeignDTD() for improved SAX2 support. 173 - Added XML_GetFeatureList(). 174 - Defined XML_Bool type and the values XML_TRUE and XML_FALSE. 175 - Use an incomplete struct instead of a void* for the parser 176 (may not retain). 177 - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected. 178 - Finally fixed bug where default handler would report DTD 179 events that were already handled by another handler. 180 Initial patch contributed by Darryl Miles. 181 - Removed unnecessary DllMain() function that caused static 182 linking into a DLL to be difficult. 183 - Added VC++ projects for building static libraries. 184 - Reduced line-length for all source code and headers to be 185 no longer than 80 characters, to help with AS/400 support. 186 - Reduced memory copying during parsing (SF patch #600964). 187 - Fixed a variety of bugs: see SF issues #580793, #434664, 188 #483514, #580503, #581069, #584041, #584183, #584832, #585537, 189 #596555, #596678, #598352, #598944, #599715, #600479, #600971. 190 191Release 1.95.4 Fri Jul 12 2002 192 - Added support for VMS, contributed by Craig Berry. See 193 vms/README.vms for more information. 194 - Added Mac OS (classic) support, with a makefile for MPW, 195 contributed by Thomas Wegner and Daryle Walker. 196 - Added Borland C++ Builder 5 / BCC 5.5 support, contributed 197 by Patrick McConnell (SF patch #538032). 198 - Fixed a variety of bugs: see SF issues #441449, #563184, 199 #564342, #566334, #566901, #569461, #570263, #575168, #579196. 200 - Made skippedEntityHandler conform to SAX2 (see source comment) 201 - Re-implemented WFC: Entity Declared from XML 1.0 spec and 202 added a new error "entity declared in parameter entity": 203 see SF bug report #569461 and SF patch #578161 204 - Re-implemented section 5.1 from XML 1.0 spec: 205 see SF bug report #570263 and SF patch #578161 206 207Release 1.95.3 Mon Jun 3 2002 208 - Added a project to the MSVC workspace to create a wchar_t 209 version of the library; the DLLs are named libexpatw.dll. 210 - Changed the name of the Windows DLLs from expat.dll to 211 libexpat.dll; this fixes SF bug #432456. 212 - Added the XML_ParserReset() API function. 213 - Fixed XML_SetReturnNSTriplet() to work for element names. 214 - Made the XML_UNICODE builds usable (thanks, Karl!). 215 - Allow xmlwf to read from standard input. 216 - Install a man page for xmlwf on Unix systems. 217 - Fixed many bugs; see SF bug reports #231864, #461380, #464837, 218 #466885, #469226, #477667, #484419, #487840, #494749, #496505, 219 #547350. Other bugs which we can't test as easily may also 220 have been fixed, especially in the area of build support. 221 222Release 1.95.2 Fri Jul 27 2001 223 - More changes to make MSVC happy with the build; add a single 224 workspace to support both the library and xmlwf application. 225 - Added a Windows installer for Windows users; includes 226 xmlwf.exe. 227 - Added compile-time constants that can be used to determine the 228 Expat version 229 - Removed a lot of GNU-specific dependencies to aide portability 230 among the various Unix flavors. 231 - Fix the UTF-8 BOM bug. 232 - Cleaned up warning messages for several compilers. 233 - Added the -Wall, -Wstrict-prototypes options for GCC. 234 235Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000 236 - Changes to get expat to build under Microsoft compiler 237 - Removed all aborts and instead return an UNEXPECTED_STATE error. 238 - Fixed a bug where a stray '%' in an entity value would cause an 239 abort. 240 - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for 241 finding this oversight. 242 - Changed default patterns in lib/Makefile.in to fit non-GNU makes 243 Thanks to robin@unrated.net for reporting and providing an 244 account to test on. 245 - The reference had the wrong label for XML_SetStartNamespaceDecl. 246 Reported by an anonymous user. 247 248Release 1.95.0 Fri Sep 29 2000 249 - XML_ParserCreate_MM 250 Allows you to set a memory management suite to replace the 251 standard malloc,realloc, and free. 252 - XML_SetReturnNSTriplet 253 If you turn this feature on when namespace processing is in 254 effect, then qualified, prefixed element and attribute names 255 are returned as "uri|name|prefix" where '|' is whatever 256 separator character is used in namespace processing. 257 - Merged in features from perl-expat 258 o XML_SetElementDeclHandler 259 o XML_SetAttlistDeclHandler 260 o XML_SetXmlDeclHandler 261 o XML_SetEntityDeclHandler 262 o StartDoctypeDeclHandler takes 3 additional parameters: 263 sysid, pubid, has_internal_subset 264 o Many paired handler setters (like XML_SetElementHandler) 265 now have corresponding individual handler setters 266 o XML_GetInputContext for getting the input context of 267 the current parse position. 268 - Added reference material 269 - Packaged into a distribution that builds a sharable library 270