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*cc68614dSXin LIRelease 2.4.3 Sun January 16 2022 6*cc68614dSXin LI Security fixes: 7*cc68614dSXin LI #531 #534 CVE-2021-45960 -- Fix issues with left shifts by >=29 places 8*cc68614dSXin LI resulting in 9*cc68614dSXin LI a) realloc acting as free 10*cc68614dSXin LI b) realloc allocating too few bytes 11*cc68614dSXin LI c) undefined behavior 12*cc68614dSXin LI depending on architecture and precise value 13*cc68614dSXin LI for XML documents with >=2^27+1 prefixed attributes 14*cc68614dSXin LI on a single XML tag a la 15*cc68614dSXin LI "<r xmlns:a='[..]' a:a123='[..]' [..] />" 16*cc68614dSXin LI where XML_ParserCreateNS is used to create the parser 17*cc68614dSXin LI (which needs argument "-n" when running xmlwf). 18*cc68614dSXin LI Impact is denial of service, or more. 19*cc68614dSXin LI #532 #538 CVE-2021-46143 (ZDI-CAN-16157) -- Fix integer overflow 20*cc68614dSXin LI on variable m_groupSize in function doProlog leading 21*cc68614dSXin LI to realloc acting as free. 22*cc68614dSXin LI Impact is denial of service or more. 23*cc68614dSXin LI #539 CVE-2022-22822 to CVE-2022-22827 -- Prevent integer overflows 24*cc68614dSXin LI near memory allocation at multiple places. Mitre assigned 25*cc68614dSXin LI a dedicated CVE for each involved internal C function: 26*cc68614dSXin LI - CVE-2022-22822 for function addBinding 27*cc68614dSXin LI - CVE-2022-22823 for function build_model 28*cc68614dSXin LI - CVE-2022-22824 for function defineAttribute 29*cc68614dSXin LI - CVE-2022-22825 for function lookup 30*cc68614dSXin LI - CVE-2022-22826 for function nextScaffoldPart 31*cc68614dSXin LI - CVE-2022-22827 for function storeAtts 32*cc68614dSXin LI Impact is denial of service or more. 33*cc68614dSXin LI 34*cc68614dSXin LI Other changes: 35*cc68614dSXin LI #535 CMake: Make call to file(GENERATE [..]) work for CMake <3.19 36*cc68614dSXin LI #541 Autotools|CMake: MinGW: Make run.sh(.in) work for Cygwin 37*cc68614dSXin LI and MSYS2 by not going through Wine on these platforms 38*cc68614dSXin LI #527 #528 Address compiler warnings 39*cc68614dSXin LI #533 #543 Version info bumped from 9:2:8 to 9:3:8; 40*cc68614dSXin LI see https://verbump.de/ for what these numbers do 41*cc68614dSXin LI 42*cc68614dSXin LI Infrastructure: 43*cc68614dSXin LI #536 CI: Check for realistic minimum CMake version 44*cc68614dSXin LI #529 #539 CI: Cover compilation with -m32 45*cc68614dSXin LI #529 CI: Store coverage reports as artifacts for download 46*cc68614dSXin LI #528 CI: Upgrade Clang from 11 to 13 47*cc68614dSXin LI 48*cc68614dSXin LI Special thanks to: 49*cc68614dSXin LI An anonymous whitehat 50*cc68614dSXin LI Christopher Degawa 51*cc68614dSXin LI J. Peter Mugaas 52*cc68614dSXin LI Tyson Smith 53*cc68614dSXin LI and 54*cc68614dSXin LI GCC Farm Project 55*cc68614dSXin LI Trend Micro Zero Day Initiative 56*cc68614dSXin LI 57*cc68614dSXin LIRelease 2.4.2 Sun December 19 2021 58*cc68614dSXin LI Other changes: 59*cc68614dSXin LI #509 #510 Link againgst libm for function "isnan" 60*cc68614dSXin LI #513 #514 Include expat_config.h as early as possible 61*cc68614dSXin LI #498 Autotools: Include files with release archives: 62*cc68614dSXin LI - buildconf.sh 63*cc68614dSXin LI - fuzz/*.c 64*cc68614dSXin LI #507 #519 Autotools: Sync CMake templates 65*cc68614dSXin LI #495 #524 CMake: MinGW: Fix pkg-config section "Libs" for 66*cc68614dSXin LI - non-release build types (e.g. -DCMAKE_BUILD_TYPE=Debug) 67*cc68614dSXin LI - multi-config CMake generators (e.g. Ninja Multi-Config) 68*cc68614dSXin LI #502 #503 docs: Document that function XML_GetBuffer may return NULL 69*cc68614dSXin LI when asking for a buffer of 0 (zero) bytes size 70*cc68614dSXin LI #522 #523 docs: Fix return value docs for both 71*cc68614dSXin LI XML_SetBillionLaughsAttackProtection* functions 72*cc68614dSXin LI #525 #526 Version info bumped from 9:1:8 to 9:2:8; 73*cc68614dSXin LI see https://verbump.de/ for what these numbers do 74*cc68614dSXin LI 75*cc68614dSXin LI Special thanks to: 76*cc68614dSXin LI Dong-hee Na 77*cc68614dSXin LI Joergen Ibsen 78*cc68614dSXin LI Kai Pastor 79*cc68614dSXin LI 80*cc68614dSXin LIRelease 2.4.1 Sun May 23 2021 81*cc68614dSXin LI Bug fixes: 82*cc68614dSXin LI #488 #490 Autotools: Fix installed header expat_config.h for multilib 83*cc68614dSXin LI systems; regression introduced in 2.4.0 by pull request #486 84*cc68614dSXin LI 85*cc68614dSXin LI Other changes: 86*cc68614dSXin LI #491 #492 Version info bumped from 9:0:8 to 9:1:8; 87*cc68614dSXin LI see https://verbump.de/ for what these numbers do 88*cc68614dSXin LI 89*cc68614dSXin LI Special thanks to: 90*cc68614dSXin LI Gentoo's QA check "multilib_check_headers" 91*cc68614dSXin LI 92*cc68614dSXin LIRelease 2.4.0 Sun May 23 2021 93*cc68614dSXin LI Security fixes: 94*cc68614dSXin LI #34 #466 #484 CVE-2013-0340/CWE-776 -- Protect against billion laughs attacks 95*cc68614dSXin LI (denial-of-service; flavors targeting CPU time or RAM or both, 96*cc68614dSXin LI leveraging general entities or parameter entities or both) 97*cc68614dSXin LI by tracking and limiting the input amplification factor 98*cc68614dSXin LI (<amplification> := (<direct> + <indirect>) / <direct>). 99*cc68614dSXin LI By conservative default, amplification up to a factor of 100.0 100*cc68614dSXin LI is tolerated and rejection only starts after 8 MiB of output bytes 101*cc68614dSXin LI (=<direct> + <indirect>) have been processed. 102*cc68614dSXin LI The fix adds the following to the API: 103*cc68614dSXin LI - A new error code XML_ERROR_AMPLIFICATION_LIMIT_BREACH to 104*cc68614dSXin LI signals this specific condition. 105*cc68614dSXin LI - Two new API functions .. 106*cc68614dSXin LI - XML_SetBillionLaughsAttackProtectionMaximumAmplification and 107*cc68614dSXin LI - XML_SetBillionLaughsAttackProtectionActivationThreshold 108*cc68614dSXin LI .. to further tighten billion laughs protection parameters 109*cc68614dSXin LI when desired. Please see file "doc/reference.html" for details. 110*cc68614dSXin LI If you ever need to increase the defaults for non-attack XML 111*cc68614dSXin LI payload, please file a bug report with libexpat. 112*cc68614dSXin LI - Two new XML_FEATURE_* constants .. 113*cc68614dSXin LI - that can be queried using the XML_GetFeatureList function, and 114*cc68614dSXin LI - that are shown in "xmlwf -v" output. 115*cc68614dSXin LI - Two new environment variable switches .. 116*cc68614dSXin LI - EXPAT_ACCOUNTING_DEBUG=(0|1|2|3) and 117*cc68614dSXin LI - EXPAT_ENTITY_DEBUG=(0|1) 118*cc68614dSXin LI .. for runtime debugging of accounting and entity processing. 119*cc68614dSXin LI Specific behavior of these values may change in the future. 120*cc68614dSXin LI - Two new command line arguments "-a FACTOR" and "-b BYTES" 121*cc68614dSXin LI for xmlwf to further tighten billion laughs protection 122*cc68614dSXin LI parameters when desired. 123*cc68614dSXin LI If you ever need to increase the defaults for non-attack XML 124*cc68614dSXin LI payload, please file a bug report with libexpat. 125*cc68614dSXin LI 126*cc68614dSXin LI Bug fixes: 127*cc68614dSXin LI #332 #470 For (non-default) compilation with -DEXPAT_MIN_SIZE=ON (CMake) 128*cc68614dSXin LI or CPPFLAGS=-DXML_MIN_SIZE (GNU Autotools): Fix segfault 129*cc68614dSXin LI for UTF-16 payloads containing CDATA sections. 130*cc68614dSXin LI #485 #486 Autotools: Fix generated CMake files for non-64bit and 131*cc68614dSXin LI non-Linux platforms (e.g. macOS and MinGW in particular) 132*cc68614dSXin LI that were introduced with release 2.3.0 133*cc68614dSXin LI 134*cc68614dSXin LI Other changes: 135*cc68614dSXin LI #468 #469 xmlwf: Improve help output and the xmlwf man page 136*cc68614dSXin LI #463 xmlwf: Improve maintainability through some refactoring 137*cc68614dSXin LI #477 xmlwf: Fix man page DocBook validity 138*cc68614dSXin LI #458 #459 CMake: Support absolute paths for both CMAKE_INSTALL_LIBDIR 139*cc68614dSXin LI and CMAKE_INSTALL_INCLUDEDIR 140*cc68614dSXin LI #471 #481 CMake: Add support for standard variable BUILD_SHARED_LIBS 141*cc68614dSXin LI #457 Unexpose symbol _INTERNAL_trim_to_complete_utf8_characters 142*cc68614dSXin LI #467 Resolve macro HAVE_EXPAT_CONFIG_H 143*cc68614dSXin LI #472 Delete unused legacy helper file "conftools/PrintPath" 144*cc68614dSXin LI #473 #483 Improve attribution 145*cc68614dSXin LI #464 #465 #477 doc/reference.html: Fix XHTML validity 146*cc68614dSXin LI #475 #478 doc/reference.html: Replace the 90s look by OK.css 147*cc68614dSXin LI #479 Version info bumped from 8:0:7 to 9:0:8 148*cc68614dSXin LI due to addition of new symbols and error codes; 149*cc68614dSXin LI see https://verbump.de/ for what these numbers do 150*cc68614dSXin LI 151*cc68614dSXin LI Infrastructure: 152*cc68614dSXin LI #456 CI: Enable periodic runs 153*cc68614dSXin LI #457 CI: Start covering the list of exported symbols 154*cc68614dSXin LI #474 CI: Isolate coverage task 155*cc68614dSXin LI #476 #482 CI: Adapt to breaking changes in image "ubuntu-18.04" 156*cc68614dSXin LI #477 CI: Cover well-formedness and DocBook/XHTML validity 157*cc68614dSXin LI of doc/reference.html and doc/xmlwf.xml 158*cc68614dSXin LI 159*cc68614dSXin LI Special thanks to: 160*cc68614dSXin LI Dimitry Andric 161*cc68614dSXin LI Eero Helenius 162*cc68614dSXin LI Nick Wellnhofer 163*cc68614dSXin LI Rhodri James 164*cc68614dSXin LI Tomas Korbar 165*cc68614dSXin LI Yury Gribov 166*cc68614dSXin LI and 167*cc68614dSXin LI Clang LeakSan 168*cc68614dSXin LI JetBrains 169*cc68614dSXin LI OSS-Fuzz 170*cc68614dSXin LI 171*cc68614dSXin LIRelease 2.3.0 Thu March 25 2021 172*cc68614dSXin LI Bug fixes: 173*cc68614dSXin LI #438 When calling XML_ParseBuffer without a prior successful call to 174*cc68614dSXin LI XML_GetBuffer as a user, no longer trigger undefined behavior 175*cc68614dSXin LI (by adding an integer to a NULL pointer) but rather return 176*cc68614dSXin LI XML_STATUS_ERROR and set the error code to (new) code 177*cc68614dSXin LI XML_ERROR_NO_BUFFER. Found by UBSan (UndefinedBehaviorSanitizer) 178*cc68614dSXin LI of Clang 11 (but not Clang 9). 179*cc68614dSXin LI #444 xmlwf: Exit status 2 was used for both: 180*cc68614dSXin LI - malformed input files (documented) and 181*cc68614dSXin LI - invalid command-line arguments (undocumented). 182*cc68614dSXin LI The case of invalid command-line arguments now 183*cc68614dSXin LI has its own exit status 4, resolving the ambiguity. 184*cc68614dSXin LI 185*cc68614dSXin LI Other changes: 186*cc68614dSXin LI #439 xmlwf: Add argument -k to allow continuing after 187*cc68614dSXin LI non-fatal errors 188*cc68614dSXin LI #439 xmlwf: Add section about exit status to the -h help output 189*cc68614dSXin LI #422 #426 #447 Windows: Drop support for Visual Studio <=14.0/2015 190*cc68614dSXin LI #434 Windows: CMake: Detect unsupported Visual Studio at 191*cc68614dSXin LI configure time (rather than at compile time) 192*cc68614dSXin LI #382 #428 testrunner: Make verbose mode (argument "-v") report 193*cc68614dSXin LI about passed tests, and make default mode report about 194*cc68614dSXin LI failures, as well. 195*cc68614dSXin LI #442 CMake: Call "enable_language(CXX)" prior to tinkering 196*cc68614dSXin LI with CMAKE_CXX_* variables 197*cc68614dSXin LI #448 Document use of libexpat from a CMake-based project 198*cc68614dSXin LI #451 Autotools: Install CMake files as generated by CMake 3.19.6 199*cc68614dSXin LI so that users with "find_package(expat [..] CONFIG [..])" 200*cc68614dSXin LI are served on distributions that are *not* using the CMake 201*cc68614dSXin LI build system inside for libexpat packaging 202*cc68614dSXin LI #436 #437 Autotools: Drop obsolescent macro AC_HEADER_STDC 203*cc68614dSXin LI #450 #452 Autotools: Resolve use of obsolete macro AC_CONFIG_HEADER 204*cc68614dSXin LI #441 Address compiler warnings 205*cc68614dSXin LI #443 Version info bumped from 7:12:6 to 8:0:7 206*cc68614dSXin LI due to addition of error code XML_ERROR_NO_BUFFER 207*cc68614dSXin LI (see https://verbump.de/ for what these numbers do) 208*cc68614dSXin LI 209*cc68614dSXin LI Infrastructure: 210*cc68614dSXin LI #435 #446 Replace Travis CI by GitHub Actions 211*cc68614dSXin LI 212*cc68614dSXin LI Special thanks to: 213*cc68614dSXin LI Alexander Richardson 214*cc68614dSXin LI Oleksandr Popovych 215*cc68614dSXin LI Thomas Beutlich 216*cc68614dSXin LI Tim Bray 217*cc68614dSXin LI and 218*cc68614dSXin LI Clang LeakSan, Clang 11 UBSan and the Clang team 219*cc68614dSXin LI 220*cc68614dSXin LIRelease 2.2.10 Sat October 3 2020 221*cc68614dSXin LI Bug fixes: 222*cc68614dSXin LI #390 #395 #398 Fix undefined behavior during parsing caused by 223*cc68614dSXin LI pointer arithmetic with NULL pointers 224*cc68614dSXin LI #404 #405 Fix reading uninitialized variable during parsing 225*cc68614dSXin LI #406 xmlwf: Add missing check for malloc NULL return 226*cc68614dSXin LI 227*cc68614dSXin LI Other changes: 228*cc68614dSXin LI #396 Windows: Drop support for Visual Studio <=8.0/2005 229*cc68614dSXin LI #409 Windows: Add missing file "Changes" to the installer 230*cc68614dSXin LI to fix compilation with CMake from installed sources 231*cc68614dSXin LI #403 xmlwf: Document exit codes in xmlwf manpage and 232*cc68614dSXin LI exit with code 3 (rather than code 1) for output errors 233*cc68614dSXin LI when used with "-d DIRECTORY" 234*cc68614dSXin LI #356 #359 MinGW: Provide declaration of rand_s for mingwrt <5.3.0 235*cc68614dSXin LI #383 #392 Autotools: Use -Werror while configure tests the compiler 236*cc68614dSXin LI for supported compile flags to avoid false positives 237*cc68614dSXin LI #383 #393 #394 Autotools: Improve handling of user (C|CPP|CXX|LD)FLAGS, 238*cc68614dSXin LI e.g. ensure that they have the last word over flags added 239*cc68614dSXin LI while running ./configure 240*cc68614dSXin LI #360 CMake: Create libexpatw.{dll,so} and expatw.pc (with emphasis 241*cc68614dSXin LI on suffix "w") with -DEXPAT_CHAR_TYPE=(ushort|wchar_t) 242*cc68614dSXin LI #360 CMake: Detect and deny unsupported build combinations 243*cc68614dSXin LI involving -DEXPAT_CHAR_TYPE=(ushort|wchar_t) 244*cc68614dSXin LI #360 CMake: Install pre-compiled shipped xmlwf.1 manpage in case 245*cc68614dSXin LI of -DEXPAT_BUILD_DOCS=OFF 246*cc68614dSXin LI #375 #380 #419 CMake: Fix use of Expat by means of add_subdirectory 247*cc68614dSXin LI #407 #408 CMake: Keep expat target name constant at "expat" 248*cc68614dSXin LI (i.e. refrain from using the target name to control 249*cc68614dSXin LI build artifact filenames) 250*cc68614dSXin LI #385 CMake: Fix compilation with -DEXPAT_SHARED_LIBS=OFF for 251*cc68614dSXin LI Windows 252*cc68614dSXin LI CMake: Expose man page compilation as target "xmlwf-manpage" 253*cc68614dSXin LI #413 #414 CMake: Introduce option EXPAT_BUILD_PKGCONFIG 254*cc68614dSXin LI to control generation of pkg-config file "expat.pc" 255*cc68614dSXin LI #424 CMake: Add minimalistic support for building binary packages 256*cc68614dSXin LI with CMake target "package"; based on CPack 257*cc68614dSXin LI #366 CMake: Add option -DEXPAT_OSSFUZZ_BUILD=(ON|OFF) with 258*cc68614dSXin LI default OFF to build fuzzer code against OSS-Fuzz and 259*cc68614dSXin LI related environment variable LIB_FUZZING_ENGINE 260*cc68614dSXin LI #354 Fix testsuite for -DEXPAT_DTD=OFF and -DEXPAT_NS=OFF, each 261*cc68614dSXin LI #354 #355 .. 262*cc68614dSXin LI #356 #412 Address compiler warnings 263*cc68614dSXin LI #368 #369 Address pngcheck warnings with doc/*.png images 264*cc68614dSXin LI #425 Version info bumped from 7:11:6 to 7:12:6 265*cc68614dSXin LI 266*cc68614dSXin LI Special thanks to: 267*cc68614dSXin LI asavah 268*cc68614dSXin LI Ben Wagner 269*cc68614dSXin LI Bhargava Shastry 270*cc68614dSXin LI Frank Landgraf 271*cc68614dSXin LI Jeffrey Walton 272*cc68614dSXin LI Joe Orton 273*cc68614dSXin LI Kleber Tarcísio 274*cc68614dSXin LI Ma Lin 275*cc68614dSXin LI Maciej Sroczyński 276*cc68614dSXin LI Mohammed Khajapasha 277*cc68614dSXin LI Vadim Zeitlin 278*cc68614dSXin LI and 279*cc68614dSXin LI Cppcheck 2.0 and the Cppcheck team 280*cc68614dSXin LI 281*cc68614dSXin LIRelease 2.2.9 Wed September 25 2019 2826b2c1e49SXin LI Other changes: 2836b2c1e49SXin LI examples: Drop executable bits from elements.c 2846b2c1e49SXin LI #349 Windows: Change the name of the Windows DLLs from expat*.dll 2856b2c1e49SXin LI to libexpat*.dll once more (regression from 2.2.8, first 2866b2c1e49SXin LI fixed in 1.95.3, issue #61 on SourceForge today, 2876b2c1e49SXin LI was issue #432456 back then); needs a fix due 2886b2c1e49SXin LI case-insensitive file systems on Windows and the fact that 2896b2c1e49SXin LI Perl's XML::Parser::Expat compiles into Expat.dll. 2906b2c1e49SXin LI #347 Windows: Only define _CRT_RAND_S if not defined 2916b2c1e49SXin LI Version info bumped from 7:10:6 to 7:11:6 2926b2c1e49SXin LI 2936b2c1e49SXin LI Special thanks to: 2946b2c1e49SXin LI Ben Wagner 2956b2c1e49SXin LI 296*cc68614dSXin LIRelease 2.2.8 Fri September 13 2019 2976b2c1e49SXin LI Security fixes: 2986b2c1e49SXin LI #317 #318 CVE-2019-15903 -- Fix heap overflow triggered by 2996b2c1e49SXin LI XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber), 3006b2c1e49SXin LI and deny internal entities closing the doctype; 3016b2c1e49SXin LI fixed in commit c20b758c332d9a13afbbb276d30db1d183a85d43 3026b2c1e49SXin LI 3036b2c1e49SXin LI Bug fixes: 3046b2c1e49SXin LI #240 Fix cases where XML_StopParser did not have any effect 3056b2c1e49SXin LI when called from inside of an end element handler 3066b2c1e49SXin LI #341 xmlwf: Fix exit code for operation without "-d DIRECTORY"; 3076b2c1e49SXin LI previously, only "-d DIRECTORY" would give you a proper 3086b2c1e49SXin LI exit code: 3096b2c1e49SXin LI # xmlwf -d . <<<'<not well-formed>' 2>/dev/null ; echo $? 3106b2c1e49SXin LI 2 3116b2c1e49SXin LI # xmlwf <<<'<not well-formed>' 2>/dev/null ; echo $? 3126b2c1e49SXin LI 0 3136b2c1e49SXin LI Now both cases return exit code 2. 3146b2c1e49SXin LI 3156b2c1e49SXin LI Other changes: 3166b2c1e49SXin LI #299 #302 Windows: Replace LoadLibrary hack to access 3176b2c1e49SXin LI unofficial API function SystemFunction036 (RtlGenRandom) 3186b2c1e49SXin LI by using official API function rand_s (needs WinXP+) 3196b2c1e49SXin LI #325 Windows: Drop support for Visual Studio <=7.1/2003 3206b2c1e49SXin LI and document supported compilers in README.md 3216b2c1e49SXin LI #286 Windows: Remove COM code from xmlwf; in case it turns 3226b2c1e49SXin LI out needed later, there will be a dedicated repository 3236b2c1e49SXin LI below https://github.com/libexpat/ for that code 3246b2c1e49SXin LI #322 Windows: Remove explicit MSVC solution and project files. 3256b2c1e49SXin LI You can generate Visual Studio solution files through 3266b2c1e49SXin LI CMake, e.g.: cmake -G"Visual Studio 15 2017" . 3276b2c1e49SXin LI #338 xmlwf: Make "xmlwf -h" help output more friendly 3286b2c1e49SXin LI #339 examples: Improve elements.c 3296b2c1e49SXin LI #244 #264 Autotools: Add argument --enable-xml-attr-info 3306b2c1e49SXin LI #239 #301 Autotools: Add arguments 3316b2c1e49SXin LI --with-getrandom 3326b2c1e49SXin LI --without-getrandom 3336b2c1e49SXin LI --with-sys-getrandom 3346b2c1e49SXin LI --without-sys-getrandom 3356b2c1e49SXin LI #312 #343 Autotools: Fix linking issues with "./configure LD=clang" 3366b2c1e49SXin LI Autotools: Fix "make run-xmltest" for out-of-source builds 3376b2c1e49SXin LI #329 #336 CMake: Pull all options from Expat <=2.2.7 into namespace 3386b2c1e49SXin LI prefix EXPAT_ with the exception of DOCBOOK_TO_MAN: 3396b2c1e49SXin LI - BUILD_doc -> EXPAT_BUILD_DOCS (plural) 3406b2c1e49SXin LI - BUILD_examples -> EXPAT_BUILD_EXAMPLES 3416b2c1e49SXin LI - BUILD_shared -> EXPAT_SHARED_LIBS 3426b2c1e49SXin LI - BUILD_tests -> EXPAT_BUILD_TESTS 3436b2c1e49SXin LI - BUILD_tools -> EXPAT_BUILD_TOOLS 3446b2c1e49SXin LI - DOCBOOK_TO_MAN -> DOCBOOK_TO_MAN (unchanged) 3456b2c1e49SXin LI - INSTALL -> EXPAT_ENABLE_INSTALL 3466b2c1e49SXin LI - MSVC_USE_STATIC_CRT -> EXPAT_MSVC_STATIC_CRT 3476b2c1e49SXin LI - USE_libbsd -> EXPAT_WITH_LIBBSD 3486b2c1e49SXin LI - WARNINGS_AS_ERRORS -> EXPAT_WARNINGS_AS_ERRORS 3496b2c1e49SXin LI - XML_CONTEXT_BYTES -> EXPAT_CONTEXT_BYTES 3506b2c1e49SXin LI - XML_DEV_URANDOM -> EXPAT_DEV_URANDOM 3516b2c1e49SXin LI - XML_DTD -> EXPAT_DTD 3526b2c1e49SXin LI - XML_NS -> EXPAT_NS 3536b2c1e49SXin LI - XML_UNICODE -> EXPAT_CHAR_TYPE=ushort (!) 3546b2c1e49SXin LI - XML_UNICODE_WCHAR_T -> EXPAT_CHAR_TYPE=wchar_t (!) 3556b2c1e49SXin LI #244 #264 CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF), 3566b2c1e49SXin LI default OFF 3576b2c1e49SXin LI #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF), 3586b2c1e49SXin LI default OFF 3596b2c1e49SXin LI #328 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF), 3606b2c1e49SXin LI default OFF 3616b2c1e49SXin LI #239 #277 CMake: Add arguments 3626b2c1e49SXin LI -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO 3636b2c1e49SXin LI -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO 3646b2c1e49SXin LI #326 CMake: Install expat_config.h to include directory 3656b2c1e49SXin LI #326 CMake: Generate and install configuration files for 3666b2c1e49SXin LI future find_package(expat [..] CONFIG [..]) 3676b2c1e49SXin LI CMake: Now produces a summary of applied configuration 3686b2c1e49SXin LI CMake: Require C++ compiler only when tests are enabled 3696b2c1e49SXin LI #330 CMake: Fix compilation for 16bit character types, 3706b2c1e49SXin LI i.e. ex -DXML_UNICODE=ON (and ex -DXML_UNICODE_WCHAR_T=ON) 3716b2c1e49SXin LI #265 CMake: Fix linking with MinGW 3726b2c1e49SXin LI #330 CMake: Add full support for MinGW; to enable, use 3736b2c1e49SXin LI -DCMAKE_TOOLCHAIN_FILE=[expat]/cmake/mingw-toolchain.cmake 3746b2c1e49SXin LI #330 CMake: Port "make run-xmltest" from GNU Autotools to CMake 3756b2c1e49SXin LI #316 CMake: Windows: Make binary postfix match MSVC 3766b2c1e49SXin LI Old: expat[d].lib 3776b2c1e49SXin LI New: expat[w][d][MD|MT].lib 3786b2c1e49SXin LI CMake: Migrate files from Windows to Unix line endings 3796b2c1e49SXin LI #308 CMake: Integrate OSS-Fuzz fuzzers, option 3806b2c1e49SXin LI -DEXPAT_BUILD_FUZZERS=(ON|OFF), default OFF 3816b2c1e49SXin LI #14 Drop an OpenVMS support leftover 3826b2c1e49SXin LI #235 #268 .. 3836b2c1e49SXin LI #270 #310 .. 3846b2c1e49SXin LI #313 #331 #333 Address compiler warnings 3856b2c1e49SXin LI #282 #283 .. 3866b2c1e49SXin LI #284 #285 Address cppcheck warnings 3876b2c1e49SXin LI #294 #295 Address Clang Static Analyzer warnings 3886b2c1e49SXin LI #24 #293 Mass-apply clang-format 9 (and ensure conformance during CI) 3896b2c1e49SXin LI Version info bumped from 7:9:6 to 7:10:6 3906b2c1e49SXin LI 3916b2c1e49SXin LI Special thanks to: 3926b2c1e49SXin LI David Loffredo 3936b2c1e49SXin LI Joonun Jang 3946b2c1e49SXin LI Kishore Kunche 3956b2c1e49SXin LI Marco Maggi 3966b2c1e49SXin LI Mitch Phillips 397*cc68614dSXin LI Mohammed Khajapasha 3986b2c1e49SXin LI Rolf Ade 3996b2c1e49SXin LI xantares 4006b2c1e49SXin LI Zhongyuan Zhou 4016b2c1e49SXin LI 4026b2c1e49SXin LIRelease 2.2.7 Wed June 19 2019 4036b2c1e49SXin LI Security fixes: 4046b2c1e49SXin LI #186 #262 CVE-2018-20843 -- Fix extraction of namespace prefixes from 4056b2c1e49SXin LI XML names; XML names with multiple colons could end up in 4066b2c1e49SXin LI the wrong namespace, and take a high amount of RAM and CPU 4076b2c1e49SXin LI resources while processing, opening the door to 4086b2c1e49SXin LI use for denial-of-service attacks 4096b2c1e49SXin LI 4106b2c1e49SXin LI Other changes: 4116b2c1e49SXin LI #195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop 4126b2c1e49SXin LI exporting non-API symbols 4136b2c1e49SXin LI #227 Autotools: Add --without-examples and --without-tests 4146b2c1e49SXin LI #228 Autotools: Modernize configure.ac 4156b2c1e49SXin LI #245 #246 Autotools: Fix check for -fvisibility=hidden for Clang 4166b2c1e49SXin LI #247 #248 Autotools: Fix compilation for lack of docbook2x-man 4176b2c1e49SXin LI #236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives 4186b2c1e49SXin LI #212 CMake: Make libdir of pkgconfig expat.pc support multilib 4196b2c1e49SXin LI #158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR 4206b2c1e49SXin LI #219 Remove fallback to bcopy, assume that memmove(3) exists 4216b2c1e49SXin LI #257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD) 4226b2c1e49SXin LI #243 Windows: Fix syntax of .def module definition files 4236b2c1e49SXin LI Version info bumped from 7:8:6 to 7:9:6 4246b2c1e49SXin LI 4256b2c1e49SXin LI Special thanks to: 4266b2c1e49SXin LI Benjamin Peterson 4276b2c1e49SXin LI Caolán McNamara 4286b2c1e49SXin LI Hanno Böck 4296b2c1e49SXin LI KangLin 4306b2c1e49SXin LI Kishore Kunche 4316b2c1e49SXin LI Marco Maggi 4326b2c1e49SXin LI Rhodri James 4336b2c1e49SXin LI Sebastian Dröge 4346b2c1e49SXin LI userwithuid 4356b2c1e49SXin LI Yury Gribov 4366b2c1e49SXin LI 4370a48773fSEric van GyzenRelease 2.2.6 Sun August 12 2018 4380a48773fSEric van Gyzen Bug fixes: 4390a48773fSEric van Gyzen #170 #206 Avoid doing arithmetic with NULL pointers in XML_GetBuffer 4400a48773fSEric van Gyzen #204 #205 Fix 2.2.5 regression with suspend-resume while parsing 4410a48773fSEric van Gyzen a document like '<root/>' 4420a48773fSEric van Gyzen 4430a48773fSEric van Gyzen Other changes: 4440a48773fSEric van Gyzen #165 #168 Autotools: Fix docbook-related configure syntax error 4450a48773fSEric van Gyzen #166 Autotools: Avoid grep option `-q` for Solaris 4460a48773fSEric van Gyzen #167 Autotools: Support 4470a48773fSEric van Gyzen ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation" 4480a48773fSEric van Gyzen #159 #167 Autotools: Support DOCBOOK_TO_MAN command which produces 4490a48773fSEric van Gyzen xmlwf.1 rather than XMLWF.1; also covers case insensitive 4500a48773fSEric van Gyzen file systems 4510a48773fSEric van Gyzen #181 Autotools: Drop -rpath option passed to libtool 4520a48773fSEric van Gyzen #188 Autotools: Detect and deny SGML docbook2man as ours is XML 4530a48773fSEric van Gyzen #188 Autotools/CMake: Support command db2x_docbook2man as well 4540a48773fSEric van Gyzen #174 CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF 4550a48773fSEric van Gyzen #184 #185 CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF 4560a48773fSEric van Gyzen #207 #208 CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T, 4570a48773fSEric van Gyzen both defaulting to OFF 4580a48773fSEric van Gyzen #175 CMake: Prefer check_symbol_exists over check_function_exists 4590a48773fSEric van Gyzen #176 CMake: Create the same pkg-config file as with GNU Autotools 4600a48773fSEric van Gyzen #178 #179 CMake: Use GNUInstallDirs module to set proper defaults for 4610a48773fSEric van Gyzen install directories 4620a48773fSEric van Gyzen #208 CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM 4630a48773fSEric van Gyzen #180 Windows: Fix compilation of test suite for Visual Studio 2008 4640a48773fSEric van Gyzen #131 #173 #202 Address compiler warnings 4650a48773fSEric van Gyzen #187 #190 #200 Fix miscellaneous typos 4660a48773fSEric van Gyzen Version info bumped from 7:7:6 to 7:8:6 4670a48773fSEric van Gyzen 4680a48773fSEric van Gyzen Special thanks to: 4690a48773fSEric van Gyzen Anton Maklakov 4700a48773fSEric van Gyzen Benjamin Peterson 4710a48773fSEric van Gyzen Brad King 4720a48773fSEric van Gyzen Franek Korta 4730a48773fSEric van Gyzen Frank Rast 4740a48773fSEric van Gyzen Joe Orton 4750a48773fSEric van Gyzen luzpaz 4760a48773fSEric van Gyzen Pedro Vicente 4770a48773fSEric van Gyzen Rainer Jung 4780a48773fSEric van Gyzen Rhodri James 4790a48773fSEric van Gyzen Rolf Ade 4800a48773fSEric van Gyzen Rolf Eike Beer 4810a48773fSEric van Gyzen Thomas Beutlich 4820a48773fSEric van Gyzen Tomasz Kłoczko 4830a48773fSEric van Gyzen 4840a48773fSEric van GyzenRelease 2.2.5 Tue October 31 2017 4850a48773fSEric van Gyzen Bug fixes: 4860a48773fSEric van Gyzen #8 If the parser runs out of memory, make sure its internal 4870a48773fSEric van Gyzen state reflects the memory it actually has, not the memory 4880a48773fSEric van Gyzen it wanted to have. 4890a48773fSEric van Gyzen #11 The default handler wasn't being called when it should for 4900a48773fSEric van Gyzen a SYSTEM or PUBLIC doctype if an entity declaration handler 4910a48773fSEric van Gyzen was registered. 4920a48773fSEric van Gyzen #137 #138 Fix a case of mistakenly reported parsing success where 4930a48773fSEric van Gyzen XML_StopParser was called from an element handler 4940a48773fSEric van Gyzen #162 Function XML_ErrorString was returning NULL rather than 4950a48773fSEric van Gyzen a message for code XML_ERROR_INVALID_ARGUMENT 4960a48773fSEric van Gyzen introduced with release 2.2.1 4970a48773fSEric van Gyzen 4980a48773fSEric van Gyzen Other changes: 4990a48773fSEric van Gyzen #106 xmlwf: Add argument -N adding notation declarations 5000a48773fSEric van Gyzen #75 #106 Test suite: Resolve expected failure cases where xmlwf 5010a48773fSEric van Gyzen output was incomplete 5020a48773fSEric van Gyzen #127 Windows: Fix test suite compilation 5030a48773fSEric van Gyzen #126 #127 Windows: Fix compilation for Visual Studio 2012 5040a48773fSEric van Gyzen Windows: Upgrade shipped project files to Visual Studio 2017 5050a48773fSEric van Gyzen #33 #132 tests: Mass-fix compilation for XML_UNICODE_WCHAR_T 5060a48773fSEric van Gyzen #129 examples: Fix compilation for XML_UNICODE_WCHAR_T 5070a48773fSEric van Gyzen #130 benchmark: Fix compilation for XML_UNICODE_WCHAR_T 5080a48773fSEric van Gyzen #144 xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs 5090a48773fSEric van Gyzen Windows or MinGW for 2-byte wchar_t 5100a48773fSEric van Gyzen #9 Address two Clang Static Analyzer false positives 5110a48773fSEric van Gyzen #59 Resolve troublesome macros hiding parser struct membership 5120a48773fSEric van Gyzen and dereferencing that pointer 5130a48773fSEric van Gyzen #6 Resolve superfluous internal malloc/realloc switch 5140a48773fSEric van Gyzen #153 #155 Improve docbook2x-man detection 5150a48773fSEric van Gyzen #160 Undefine NDEBUG in the test suite (rather than rejecting it) 5160a48773fSEric van Gyzen #161 Address compiler warnings 5170a48773fSEric van Gyzen Version info bumped from 7:6:6 to 7:7:6 5180a48773fSEric van Gyzen 5190a48773fSEric van Gyzen Special thanks to: 5200a48773fSEric van Gyzen Benbuck Nason 5210a48773fSEric van Gyzen Hans Wennborg 5220a48773fSEric van Gyzen José Gutiérrez de la Concha 5230a48773fSEric van Gyzen Pedro Monreal Gonzalez 5240a48773fSEric van Gyzen Rhodri James 5250a48773fSEric van Gyzen Rolf Ade 5260a48773fSEric van Gyzen Stephen Groat 5270a48773fSEric van Gyzen and 5280a48773fSEric van Gyzen Core Infrastructure Initiative 5290a48773fSEric van Gyzen 5300a48773fSEric van GyzenRelease 2.2.4 Sat August 19 2017 5310a48773fSEric van Gyzen Bug fixes: 5320a48773fSEric van Gyzen #115 Fix copying of partial characters for UTF-8 input 5330a48773fSEric van Gyzen 5340a48773fSEric van Gyzen Other changes: 5350a48773fSEric van Gyzen #109 Fix "make check" for non-x86 architectures that default 5360a48773fSEric van Gyzen to unsigned type char (-128..127 rather than 0..255) 5370a48773fSEric van Gyzen #109 coverage.sh: Cover -funsigned-char 5380a48773fSEric van Gyzen Autotools: Introduce --without-xmlwf argument 5390a48773fSEric van Gyzen #65 Autotools: Replace handwritten Makefile with GNU Automake 5400a48773fSEric van Gyzen #43 CMake: Auto-detect high quality entropy extractors, add new 5410a48773fSEric van Gyzen option USE_libbsd=ON to use arc4random_buf of libbsd 5420a48773fSEric van Gyzen #74 CMake: Add -fno-strict-aliasing only where supported 5430a48773fSEric van Gyzen #114 CMake: Always honor manually set BUILD_* options 5440a48773fSEric van Gyzen #114 CMake: Compile man page if docbook2x-man is available, only 5450a48773fSEric van Gyzen #117 Include file tests/xmltest.log.expected in source tarball 5460a48773fSEric van Gyzen (required for "make run-xmltest") 5470a48773fSEric van Gyzen #117 Include (existing) Visual Studio 2013 files in source tarball 5480a48773fSEric van Gyzen Improve test suite error output 5490a48773fSEric van Gyzen #111 Fix some typos in documentation 5500a48773fSEric van Gyzen Version info bumped from 7:5:6 to 7:6:6 5510a48773fSEric van Gyzen 5520a48773fSEric van Gyzen Special thanks to: 5530a48773fSEric van Gyzen Jakub Wilk 5540a48773fSEric van Gyzen Joe Orton 5550a48773fSEric van Gyzen Lin Tian 5560a48773fSEric van Gyzen Rolf Eike Beer 5570a48773fSEric van Gyzen 5580a48773fSEric van GyzenRelease 2.2.3 Wed August 2 2017 5590a48773fSEric van Gyzen Security fixes: 5600a48773fSEric van Gyzen #82 CVE-2017-11742 -- Windows: Fix DLL hijacking vulnerability 5610a48773fSEric van Gyzen using Steve Holme's LoadLibrary wrapper for/of cURL 5620a48773fSEric van Gyzen 5630a48773fSEric van Gyzen Bug fixes: 5640a48773fSEric van Gyzen #85 Fix a dangling pointer issue related to realloc 5650a48773fSEric van Gyzen 5660a48773fSEric van Gyzen Other changes: 5670a48773fSEric van Gyzen Increase code coverage 5680a48773fSEric van Gyzen #91 Linux: Allow getrandom to fail if nonblocking pool has not 5690a48773fSEric van Gyzen yet been initialized and read /dev/urandom then, instead. 5700a48773fSEric van Gyzen This is in line with what recent Python does. 5710a48773fSEric van Gyzen #81 Pre-10.7/Lion macOS: Support entropy from arc4random 5720a48773fSEric van Gyzen #86 Check that a UTF-16 encoding in an XML declaration has the 5730a48773fSEric van Gyzen right endianness 5740a48773fSEric van Gyzen #4 #5 #7 Recover correctly when some reallocations fail 5750a48773fSEric van Gyzen Repair "./configure && make" for systems without any 5760a48773fSEric van Gyzen provider of high quality entropy 5770a48773fSEric van Gyzen and try reading /dev/urandom on those 5780a48773fSEric van Gyzen Ensure that user-defined character encodings have converter 5790a48773fSEric van Gyzen functions when they are needed 5800a48773fSEric van Gyzen Fix mis-leading description of argument -c in xmlwf.1 5810a48773fSEric van Gyzen Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__) 5820a48773fSEric van Gyzen for CloudABI 5830a48773fSEric van Gyzen #100 Fix use of SIPHASH_MAIN in siphash.h 5840a48773fSEric van Gyzen #23 Test suite: Fix memory leaks 5850a48773fSEric van Gyzen Version info bumped from 7:4:6 to 7:5:6 5860a48773fSEric van Gyzen 5870a48773fSEric van Gyzen Special thanks to: 5880a48773fSEric van Gyzen Chanho Park 5890a48773fSEric van Gyzen Joe Orton 5900a48773fSEric van Gyzen Pascal Cuoq 5910a48773fSEric van Gyzen Rhodri James 5920a48773fSEric van Gyzen Simon McVittie 5930a48773fSEric van Gyzen Vadim Zeitlin 5940a48773fSEric van Gyzen Viktor Szakats 5950a48773fSEric van Gyzen and 5960a48773fSEric van Gyzen Core Infrastructure Initiative 5970a48773fSEric van Gyzen 5980a48773fSEric van GyzenRelease 2.2.2 Wed July 12 2017 5990a48773fSEric van Gyzen Security fixes: 6000a48773fSEric van Gyzen #43 Protect against compilation without any source of high 6010a48773fSEric van Gyzen quality entropy enabled, e.g. with CMake build system; 6020a48773fSEric van Gyzen commit ff0207e6076e9828e536b8d9cd45c9c92069b895 6030a48773fSEric van Gyzen #60 Windows with _UNICODE: 6040a48773fSEric van Gyzen Unintended use of LoadLibraryW with a non-wide string 6050a48773fSEric van Gyzen resulted in failure to load advapi32.dll and degradation 6060a48773fSEric van Gyzen in quality of used entropy when compiled with _UNICODE for 6070a48773fSEric van Gyzen Windows; you can launch existing binaries with 6080a48773fSEric van Gyzen EXPAT_ENTROPY_DEBUG=1 in the environment to inspect the 6090a48773fSEric van Gyzen quality of entropy used during runtime; commits 6100a48773fSEric van Gyzen * 95b95032f907ef1cd17ee7a9a1768010a825d61d 6110a48773fSEric van Gyzen * 73a5a2e9c081f49f2d775cf7ced864158b68dc80 6120a48773fSEric van Gyzen [MOX-006] Fix non-NULL parser parameter validation in XML_Parse; 6130a48773fSEric van Gyzen resulted in NULL dereference, previously; 6140a48773fSEric van Gyzen commit ac256dafdffc9622ab0dc2c62fcecb0dfcfa71fe 6150a48773fSEric van Gyzen 6160a48773fSEric van Gyzen Bug fixes: 6170a48773fSEric van Gyzen #69 Fix improper use of unsigned long long integer literals 6180a48773fSEric van Gyzen 6190a48773fSEric van Gyzen Other changes: 6200a48773fSEric van Gyzen #73 Start requiring a C99 compiler 6210a48773fSEric van Gyzen #49 Fix "==" Bashism in configure script 6220a48773fSEric van Gyzen #50 Fix too eager getrandom detection for Debian GNU/kFreeBSD 6230a48773fSEric van Gyzen #52 and macOS 6240a48773fSEric van Gyzen #51 Address lack of stdint.h in Visual Studio 2003 to 2008 6250a48773fSEric van Gyzen #58 Address compile warnings 6260a48773fSEric van Gyzen #68 Fix "./buildconf.sh && ./configure" for some versions 6270a48773fSEric van Gyzen of Dash for /bin/sh 6280a48773fSEric van Gyzen #72 CMake: Ease use of Expat in context of a parent project 6290a48773fSEric van Gyzen with multiple CMakeLists.txt files 6300a48773fSEric van Gyzen #72 CMake: Resolve mistaken executable permissions 6310a48773fSEric van Gyzen #76 Address compile warning with -DNDEBUG (not recommended!) 6320a48773fSEric van Gyzen #77 Address compile warning about macro redefinition 6330a48773fSEric van Gyzen 6340a48773fSEric van Gyzen Special thanks to: 6350a48773fSEric van Gyzen Alexander Bluhm 6360a48773fSEric van Gyzen Ben Boeckel 6370a48773fSEric van Gyzen Cătălin Răceanu 6380a48773fSEric van Gyzen Kerin Millar 6390a48773fSEric van Gyzen László Böszörményi 6400a48773fSEric van Gyzen S. P. Zeidler 6410a48773fSEric van Gyzen Segev Finer 6420a48773fSEric van Gyzen Václav Slavík 6430a48773fSEric van Gyzen Victor Stinner 6440a48773fSEric van Gyzen Viktor Szakats 6450a48773fSEric van Gyzen and 6460a48773fSEric van Gyzen Radically Open Security 6470a48773fSEric van Gyzen 6480a48773fSEric van GyzenRelease 2.2.1 Sat June 17 2017 6490a48773fSEric van Gyzen Security fixes: 6500a48773fSEric van Gyzen CVE-2017-9233 -- External entity infinite loop DoS 6510a48773fSEric van Gyzen Details: https://libexpat.github.io/doc/cve-2017-9233/ 6520a48773fSEric van Gyzen Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f 6530a48773fSEric van Gyzen [MOX-002] CVE-2016-9063 -- Detect integer overflow; commit 6540a48773fSEric van Gyzen d4f735b88d9932bd5039df2335eefdd0723dbe20 6550a48773fSEric van Gyzen (Fixed version of existing downstream patches!) 6560a48773fSEric van Gyzen (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off 6570a48773fSEric van Gyzen longer tag names; commits 6580a48773fSEric van Gyzen * 896b6c1fd3b842f377d1b62135dccf0a579cf65d 6590a48773fSEric van Gyzen * af507cef2c93cb8d40062a0abe43a4f4e9158fb2 6600a48773fSEric van Gyzen #16 * 0dbbf43fdb20f593ddf4fa1ff67288000dd4a7fd 6610a48773fSEric van Gyzen #25 More integer overflow detection (function poolGrow); commits 6620a48773fSEric van Gyzen * 810b74e4703dcfdd8f404e3cb177d44684775143 6630a48773fSEric van Gyzen * 44178553f3539ce69d34abee77a05e879a7982ac 6640a48773fSEric van Gyzen [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; commits 6650a48773fSEric van Gyzen * 4be2cb5afcc018d996f34bbbce6374b7befad47f 6660a48773fSEric van Gyzen * 7e5b71b748491b6e459e5c9a1d090820f94544d8 6670a48773fSEric van Gyzen [MOX-005] #30 Use high quality entropy for hash initialization: 6680a48773fSEric van Gyzen * arc4random_buf on BSD, systems with libbsd 6690a48773fSEric van Gyzen (when configured with --with-libbsd), CloudABI 6700a48773fSEric van Gyzen * RtlGenRandom on Windows XP / Server 2003 and later 6710a48773fSEric van Gyzen * getrandom on Linux 3.17+ 6720a48773fSEric van Gyzen In a way, that's still part of CVE-2016-5300. 6730a48773fSEric van Gyzen https://github.com/libexpat/libexpat/pull/30/commits 6740a48773fSEric van Gyzen [MOX-005] For the low quality entropy extraction fallback code, 6750a48773fSEric van Gyzen the parser instance address can no longer leak, commit 6760a48773fSEric van Gyzen 04ad658bd3079dd15cb60fc67087900f0ff4b083 6770a48773fSEric van Gyzen [MOX-003] Prevent use of uninitialised variable; commit 6780a48773fSEric van Gyzen [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b 6790a48773fSEric van Gyzen Add missing parameter validation to public API functions 6800a48773fSEric van Gyzen and dedicated error code XML_ERROR_INVALID_ARGUMENT: 6810a48773fSEric van Gyzen [MOX-006] * NULL checks; commits 6820a48773fSEric van Gyzen * d37f74b2b7149a3a95a680c4c4cd2a451a51d60a (merge/many) 6830a48773fSEric van Gyzen * 9ed727064b675b7180c98cb3d4f75efba6966681 6840a48773fSEric van Gyzen * 6a747c837c50114dfa413994e07c0ba477be4534 6850a48773fSEric van Gyzen * Negative length (XML_Parse); commit 6860a48773fSEric van Gyzen [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f 6870a48773fSEric van Gyzen [MOX-001] #35 Change hash algorithm to William Ahern's version of SipHash 6880a48773fSEric van Gyzen to go further with fixing CVE-2012-0876. 6890a48773fSEric van Gyzen https://github.com/libexpat/libexpat/pull/39/commits 6900a48773fSEric van Gyzen 6910a48773fSEric van Gyzen Bug fixes: 6920a48773fSEric van Gyzen #32 Fix sharing of hash salt across parsers; 6930a48773fSEric van Gyzen relevant where XML_ExternalEntityParserCreate is called 6940a48773fSEric van Gyzen prior to XML_Parse, in particular (e.g. FBReader) 6950a48773fSEric van Gyzen #28 xmlwf: Auto-disable use of memory-mapping (and parsing 6960a48773fSEric van Gyzen as a single chunk) for files larger than ~1 GB (2^30 bytes) 6970a48773fSEric van Gyzen rather than failing with error "out of memory" 6980a48773fSEric van Gyzen #3 Fix double free after malloc failure in DTD code; commit 6990a48773fSEric van Gyzen 7ae9c3d3af433cd4defe95234eae7dc8ed15637f 7000a48773fSEric van Gyzen #17 Fix memory leak on parser error for unbound XML attribute 7010a48773fSEric van Gyzen prefix with new namespaces defined in the same tag; 7020a48773fSEric van Gyzen found by Google's OSS-Fuzz; commits 7030a48773fSEric van Gyzen * 16f87daae5a16132e479e4f71862128c7a915c73 7040a48773fSEric van Gyzen * b47dbc9745932c160893d433220e462bd605f8cd 7050a48773fSEric van Gyzen xmlwf on Windows: Add missing calls to CloseHandle 7060a48773fSEric van Gyzen 7070a48773fSEric van Gyzen New features: 7080a48773fSEric van Gyzen #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1 7090a48773fSEric van Gyzen for runtime debugging of entropy extraction 7100a48773fSEric van Gyzen 7110a48773fSEric van Gyzen Other changes: 7120a48773fSEric van Gyzen Increase code coverage 7130a48773fSEric van Gyzen #33 Reject use of XML_UNICODE_WCHAR_T with sizeof(wchar_t) != 2; 7140a48773fSEric van Gyzen XML_UNICODE_WCHAR_T was never meant to be used outside 7150a48773fSEric van Gyzen of Windows; 4-byte wchar_t is common on Linux 7160a48773fSEric van Gyzen (SF.net) #538 Start using -fno-strict-aliasing 7170a48773fSEric van Gyzen (SF.net) #540 Support compilation against cloudlibc of CloudABI 7180a48773fSEric van Gyzen Allow MinGW cross-compilation 7190a48773fSEric van Gyzen (SF.net) #534 CMake: Introduce option "BUILD_doc" (enabled by default) 7200a48773fSEric van Gyzen to bypass compilation of the xmlwf.1 man page 7210a48773fSEric van Gyzen (SF.net) pr2 CMake: Introduce option "INSTALL" (enabled by default) 7220a48773fSEric van Gyzen to bypass installation of expat files 7230a48773fSEric van Gyzen CMake: Fix ninja support 7240a48773fSEric van Gyzen Autotools: Add parameters --enable-xml-context [COUNT] 7250a48773fSEric van Gyzen and --disable-xml-context; default of context of 1024 7260a48773fSEric van Gyzen bytes enabled unchanged 7270a48773fSEric van Gyzen #14 Drop AmigaOS 4.x code and includes 7280a48773fSEric van Gyzen #14 Drop ancient build systems: 7290a48773fSEric van Gyzen * Borland C++ Builder 7300a48773fSEric van Gyzen * OpenVMS 7310a48773fSEric van Gyzen * Open Watcom 7320a48773fSEric van Gyzen * Visual Studio 6.0 7330a48773fSEric van Gyzen * Pre-X Mac OS (MPW Makefile) 7340a48773fSEric van Gyzen If you happen to rely on some of these, please get in 7350a48773fSEric van Gyzen touch for joining with maintenance. 7360a48773fSEric van Gyzen #10 Move from WIN32 to _WIN32 7370a48773fSEric van Gyzen #13 Fix "make run-xmltest" order instability 7380a48773fSEric van Gyzen Address compile warnings 7390a48773fSEric van Gyzen Bump version info from 7:2:6 to 7:3:6 7400a48773fSEric van Gyzen Add AUTHORS file 7410a48773fSEric van Gyzen 7420a48773fSEric van Gyzen Infrastructure: 7430a48773fSEric van Gyzen #1 Migrate from SourceForge to GitHub (except downloads): 7440a48773fSEric van Gyzen https://github.com/libexpat/ 7450a48773fSEric van Gyzen #1 Re-create http://libexpat.org/ project website 7460a48773fSEric van Gyzen Start utilizing Travis CI 7470a48773fSEric van Gyzen 7480a48773fSEric van Gyzen Special thanks to: 7490a48773fSEric van Gyzen Andy Wang 7500a48773fSEric van Gyzen Don Lewis 7510a48773fSEric van Gyzen Ed Schouten 7520a48773fSEric van Gyzen Karl Waclawek 7530a48773fSEric van Gyzen Pascal Cuoq 7540a48773fSEric van Gyzen Rhodri James 7550a48773fSEric van Gyzen Sergei Nikulov 7560a48773fSEric van Gyzen Tobias Taschner 7570a48773fSEric van Gyzen Viktor Szakats 7580a48773fSEric van Gyzen and 7590a48773fSEric van Gyzen Core Infrastructure Initiative 7600a48773fSEric van Gyzen Mozilla Foundation (MOSS Track 3: Secure Open Source) 7610a48773fSEric van Gyzen Radically Open Security 7620a48773fSEric van Gyzen 763be8aff81SXin LIRelease 2.2.0 Tue June 21 2016 764be8aff81SXin LI Security fixes: 765be8aff81SXin LI #537 CVE-2016-0718 -- Fix crash on malformed input 766be8aff81SXin LI CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 / 767be8aff81SXin LI CVE-2015-2716 introduced with Expat 2.1.1 768be8aff81SXin LI #499 CVE-2016-5300 -- Use more entropy for hash initialization 769be8aff81SXin LI than the original fix to CVE-2012-0876 770be8aff81SXin LI #519 CVE-2012-6702 -- Resolve troublesome internal call to srand 771be8aff81SXin LI that was introduced with Expat 2.1.0 772be8aff81SXin LI when addressing CVE-2012-0876 (issue #496) 773be8aff81SXin LI 774be8aff81SXin LI Bug fixes: 775be8aff81SXin LI Fix uninitialized reads of size 1 776be8aff81SXin LI (e.g. in little2_updatePosition) 777be8aff81SXin LI Fix detection of UTF-8 character boundaries 778be8aff81SXin LI 779be8aff81SXin LI Other changes: 780be8aff81SXin LI #532 Fix compilation for Visual Studio 2010 (keyword "C99") 781be8aff81SXin LI Autotools: Resolve use of "$<" to better support bmake 782be8aff81SXin LI Autotools: Add QA script "qa.sh" (and make target "qa") 783be8aff81SXin LI Autotools: Respect CXXFLAGS if given 784be8aff81SXin LI Autotools: Fix "make run-xmltest" 785be8aff81SXin LI Autotools: Have "make run-xmltest" check for expected output 786be8aff81SXin LI p90 CMake: Fix static build (BUILD_shared=OFF) on Windows 787be8aff81SXin LI #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass 788be8aff81SXin LI #323 CMake: Add suffix "d" to differentiate debug from release 789be8aff81SXin LI CMake: Define WIN32 with CMake on Windows 790be8aff81SXin LI Annotate memory allocators for GCC 791be8aff81SXin LI Address all currently known compile warnings 792be8aff81SXin LI Make sure that API symbols remain visible despite 793be8aff81SXin LI -fvisibility=hidden 794be8aff81SXin LI Remove executable flag from source files 795be8aff81SXin LI Resolve COMPILED_FROM_DSP in favor of WIN32 796be8aff81SXin LI 797be8aff81SXin LI Special thanks to: 798be8aff81SXin LI Björn Lindahl 799be8aff81SXin LI Christian Heimes 800be8aff81SXin LI Cristian Rodríguez 801be8aff81SXin LI Daniel Krügler 802be8aff81SXin LI Gustavo Grieco 803be8aff81SXin LI Karl Waclawek 804be8aff81SXin LI László Böszörményi 805be8aff81SXin LI Marco Grassi 806be8aff81SXin LI Pascal Cuoq 807be8aff81SXin LI Sergei Nikulov 808be8aff81SXin LI Thomas Beutlich 809be8aff81SXin LI Warren Young 810be8aff81SXin LI Yann Droneaud 811be8aff81SXin LI 812be8aff81SXin LIRelease 2.1.1 Sat March 12 2016 813be8aff81SXin LI Security fixes: 814be8aff81SXin LI #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer 815be8aff81SXin LI 816be8aff81SXin LI Bug fixes: 817be8aff81SXin LI #502: Fix potential null pointer dereference 818be8aff81SXin LI #520: Symbol XML_SetHashSalt was not exported 819be8aff81SXin LI Output of "xmlwf -h" was incomplete 820be8aff81SXin LI 821be8aff81SXin LI Other changes: 822be8aff81SXin LI #503: Document behavior of calling XML_SetHashSalt with salt 0 823be8aff81SXin LI Minor improvements to man page xmlwf(1) 824be8aff81SXin LI Improvements to the experimental CMake build system 825be8aff81SXin LI libtool now invoked with --verbose 826be8aff81SXin LI 827e3466a89SXin LIRelease 2.1.0 Sat March 24 2012 8280a48773fSEric van Gyzen - Security fixes: 8290a48773fSEric van Gyzen #2958794: CVE-2012-1148 - Memory leak in poolGrow. 8300a48773fSEric van Gyzen #2895533: CVE-2012-1147 - Resource leak in readfilemap.c. 8310a48773fSEric van Gyzen #3496608: CVE-2012-0876 - Hash DOS attack. 8320a48773fSEric van Gyzen #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8(). 8330a48773fSEric van Gyzen #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences. 834e3466a89SXin LI - Bug Fixes: 835e3466a89SXin LI #1742315: Harmful XML_ParserCreateNS suggestion. 836e3466a89SXin LI #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3. 837e3466a89SXin LI #1983953, 2517952, 2517962, 2649838: 838e3466a89SXin LI Build modifications using autoreconf instead of buildconf.sh. 839e3466a89SXin LI #2815947, #2884086: OBJEXT and EXEEXT support while building. 840e3466a89SXin LI #2517938: xmlwf should return non-zero exit status if not well-formed. 841e3466a89SXin LI #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml. 842e3466a89SXin LI #2855609: Dangling positionPtr after error. 843e3466a89SXin LI #2990652: CMake support. 844e3466a89SXin LI #3010819: UNEXPECTED_STATE with a trailing "%" in entity value. 8450a48773fSEric van Gyzen #3206497: Uninitialized memory returned from XML_Parse. 846e3466a89SXin LI #3287849: make check fails on mingw-w64. 847e3466a89SXin LI - Patches: 848e3466a89SXin LI #1749198: pkg-config support. 849e3466a89SXin LI #3010222: Fix for bug #3010819. 850e3466a89SXin LI #3312568: CMake support. 851e3466a89SXin LI #3446384: Report byte offsets for attr names and values. 852e3466a89SXin LI - New Features / API changes: 853be8aff81SXin LI Added new API member XML_SetHashSalt() that allows setting an initial 854e3466a89SXin LI value (salt) for hash calculations. This is part of the fix for 855e3466a89SXin LI bug #3496608 to randomize hash parameters. 856e3466a89SXin LI When compiled with XML_ATTR_INFO defined, adds new API member 857e3466a89SXin LI XML_GetAttributeInfo() that allows retrieving the byte 858e3466a89SXin LI offsets for attribute names and values (patch #3446384). 859e3466a89SXin LI Added CMake build system. 860e3466a89SXin LI See bug #2990652 and patch #3312568. 861e3466a89SXin LI Added run-benchmark target to Makefile.in - relies on testdata module 862e3466a89SXin LI present in the same relative location as in the repository. 863e3466a89SXin LI 864220ed979SColeman KaneRelease 2.0.1 Tue June 5 2007 865e3466a89SXin LI - Fixed bugs #1515266, #1515600: The character data handler's calling 866220ed979SColeman Kane of XML_StopParser() was not handled properly; if the parser was 867220ed979SColeman Kane stopped and the handler set to NULL, the parser would segfault. 868220ed979SColeman Kane - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed 869220ed979SColeman Kane some character constants to be ASCII encoded. 870220ed979SColeman Kane - Minor cleanups of the test harness. 871220ed979SColeman Kane - Fixed xmlwf bug #1513566: "out of memory" error on file size zero. 872220ed979SColeman Kane - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call. 873220ed979SColeman Kane - Fixes and improvements for Windows platform: 874e3466a89SXin LI bugs #1409451, #1476160, #1548182, #1602769, #1717322. 875220ed979SColeman Kane - Build fixes for various platforms: 876220ed979SColeman Kane HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180. 877220ed979SColeman Kane All Unix: #1554618 (refreshed config.sub/config.guess). 878220ed979SColeman Kane #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT, 879220ed979SColeman Kane without relying on GNU-Make specific features. 880220ed979SColeman Kane #1647805: Patched configure.in to work better with Intel compiler. 881220ed979SColeman Kane - Fixes to Makefile.in to have make check work correctly: 882220ed979SColeman Kane bugs #1408143, #1535603, #1536684. 883220ed979SColeman Kane - Added Open Watcom support: patch #1523242. 884220ed979SColeman Kane 885220ed979SColeman KaneRelease 2.0.0 Wed Jan 11 2006 886220ed979SColeman Kane - We no longer use the "check" library for C unit testing; we 887220ed979SColeman Kane always use the (partial) internal implementation of the API. 888220ed979SColeman Kane - Report XML_NS setting via XML_GetFeatureList(). 889220ed979SColeman Kane - Fixed headers for use from C++. 890220ed979SColeman Kane - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber() 891220ed979SColeman Kane now return unsigned integers. 892220ed979SColeman Kane - Added XML_LARGE_SIZE switch to enable 64-bit integers for 893220ed979SColeman Kane byte indexes and line/column numbers. 894220ed979SColeman Kane - Updated to use libtool 1.5.22 (the most recent). 895220ed979SColeman Kane - Added support for AmigaOS. 896e3466a89SXin LI - Some mostly minor bug fixes. SF issues include: #1006708, 897e3466a89SXin LI #1021776, #1023646, #1114960, #1156398, #1221160, #1271642. 898220ed979SColeman Kane 899220ed979SColeman KaneRelease 1.95.8 Fri Jul 23 2004 900220ed979SColeman Kane - Major new feature: suspend/resume. Handlers can now request 901220ed979SColeman Kane that a parse be suspended for later resumption or aborted 902220ed979SColeman Kane altogether. See "Temporarily Stopping Parsing" in the 903220ed979SColeman Kane documentation for more details. 904220ed979SColeman Kane - Some mostly minor bug fixes, but compilation should no 905220ed979SColeman Kane longer generate warnings on most platforms. SF issues 906e3466a89SXin LI include: #827319, #840173, #846309, #888329, #896188, #923913, 907e3466a89SXin LI #928113, #961698, #985192. 908220ed979SColeman Kane 909220ed979SColeman KaneRelease 1.95.7 Mon Oct 20 2003 910220ed979SColeman Kane - Fixed enum XML_Status issue (reported on SourceForge many 911220ed979SColeman Kane times), so compilers that are properly picky will be happy. 912220ed979SColeman Kane - Introduced an XMLCALL macro to control the calling 913220ed979SColeman Kane convention used by the Expat API; this macro should be used 914220ed979SColeman Kane to annotate prototypes and definitions of callback 915220ed979SColeman Kane implementations in code compiled with a calling convention 916220ed979SColeman Kane other than the default convention for the host platform. 917220ed979SColeman Kane - Improved ability to build without the configure-generated 918220ed979SColeman Kane expat_config.h header. This is useful for applications 919220ed979SColeman Kane which embed Expat rather than linking in the library. 920e3466a89SXin LI - Fixed a variety of bugs: see SF issues #458907, #609603, 921e3466a89SXin LI #676844, #679754, #692878, #692964, #695401, #699323, #699487, 922e3466a89SXin LI #820946. 923220ed979SColeman Kane - Improved hash table lookups. 924220ed979SColeman Kane - Added more regression tests and improved documentation. 925220ed979SColeman Kane 926220ed979SColeman KaneRelease 1.95.6 Tue Jan 28 2003 927220ed979SColeman Kane - Added XML_FreeContentModel(). 928220ed979SColeman Kane - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree(). 929e3466a89SXin LI - Fixed a variety of bugs: see SF issues #615606, #616863, 930e3466a89SXin LI #618199, #653180, #673791. 931220ed979SColeman Kane - Enhanced the regression test suite. 932e3466a89SXin LI - Man page improvements: includes SF issue #632146. 933220ed979SColeman Kane 9345bb6a25fSPoul-Henning KampRelease 1.95.5 Fri Sep 6 2002 9355bb6a25fSPoul-Henning Kamp - Added XML_UseForeignDTD() for improved SAX2 support. 9365bb6a25fSPoul-Henning Kamp - Added XML_GetFeatureList(). 9375bb6a25fSPoul-Henning Kamp - Defined XML_Bool type and the values XML_TRUE and XML_FALSE. 9385bb6a25fSPoul-Henning Kamp - Use an incomplete struct instead of a void* for the parser 9395bb6a25fSPoul-Henning Kamp (may not retain). 9405bb6a25fSPoul-Henning Kamp - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected. 9415bb6a25fSPoul-Henning Kamp - Finally fixed bug where default handler would report DTD 9425bb6a25fSPoul-Henning Kamp events that were already handled by another handler. 943220ed979SColeman Kane Initial patch contributed by Darryl Miles. 9445bb6a25fSPoul-Henning Kamp - Removed unnecessary DllMain() function that caused static 9455bb6a25fSPoul-Henning Kamp linking into a DLL to be difficult. 9465bb6a25fSPoul-Henning Kamp - Added VC++ projects for building static libraries. 9475bb6a25fSPoul-Henning Kamp - Reduced line-length for all source code and headers to be 9485bb6a25fSPoul-Henning Kamp no longer than 80 characters, to help with AS/400 support. 9495bb6a25fSPoul-Henning Kamp - Reduced memory copying during parsing (SF patch #600964). 950e3466a89SXin LI - Fixed a variety of bugs: see SF issues #580793, #434664, 951e3466a89SXin LI #483514, #580503, #581069, #584041, #584183, #584832, #585537, 952e3466a89SXin LI #596555, #596678, #598352, #598944, #599715, #600479, #600971. 9535bb6a25fSPoul-Henning Kamp 9545bb6a25fSPoul-Henning KampRelease 1.95.4 Fri Jul 12 2002 9555bb6a25fSPoul-Henning Kamp - Added support for VMS, contributed by Craig Berry. See 9565bb6a25fSPoul-Henning Kamp vms/README.vms for more information. 9575bb6a25fSPoul-Henning Kamp - Added Mac OS (classic) support, with a makefile for MPW, 9585bb6a25fSPoul-Henning Kamp contributed by Thomas Wegner and Daryle Walker. 9595bb6a25fSPoul-Henning Kamp - Added Borland C++ Builder 5 / BCC 5.5 support, contributed 9605bb6a25fSPoul-Henning Kamp by Patrick McConnell (SF patch #538032). 961e3466a89SXin LI - Fixed a variety of bugs: see SF issues #441449, #563184, 962e3466a89SXin LI #564342, #566334, #566901, #569461, #570263, #575168, #579196. 9635bb6a25fSPoul-Henning Kamp - Made skippedEntityHandler conform to SAX2 (see source comment) 9645bb6a25fSPoul-Henning Kamp - Re-implemented WFC: Entity Declared from XML 1.0 spec and 9655bb6a25fSPoul-Henning Kamp added a new error "entity declared in parameter entity": 966e3466a89SXin LI see SF bug report #569461 and SF patch #578161 9675bb6a25fSPoul-Henning Kamp - Re-implemented section 5.1 from XML 1.0 spec: 968e3466a89SXin LI see SF bug report #570263 and SF patch #578161 9695bb6a25fSPoul-Henning Kamp 9705bb6a25fSPoul-Henning KampRelease 1.95.3 Mon Jun 3 2002 9715bb6a25fSPoul-Henning Kamp - Added a project to the MSVC workspace to create a wchar_t 9725bb6a25fSPoul-Henning Kamp version of the library; the DLLs are named libexpatw.dll. 9735bb6a25fSPoul-Henning Kamp - Changed the name of the Windows DLLs from expat.dll to 9745bb6a25fSPoul-Henning Kamp libexpat.dll; this fixes SF bug #432456. 9755bb6a25fSPoul-Henning Kamp - Added the XML_ParserReset() API function. 9765bb6a25fSPoul-Henning Kamp - Fixed XML_SetReturnNSTriplet() to work for element names. 9775bb6a25fSPoul-Henning Kamp - Made the XML_UNICODE builds usable (thanks, Karl!). 9785bb6a25fSPoul-Henning Kamp - Allow xmlwf to read from standard input. 9795bb6a25fSPoul-Henning Kamp - Install a man page for xmlwf on Unix systems. 980e3466a89SXin LI - Fixed many bugs; see SF bug reports #231864, #461380, #464837, 981e3466a89SXin LI #466885, #469226, #477667, #484419, #487840, #494749, #496505, 982e3466a89SXin LI #547350. Other bugs which we can't test as easily may also 9835bb6a25fSPoul-Henning Kamp have been fixed, especially in the area of build support. 9845bb6a25fSPoul-Henning Kamp 9855bb6a25fSPoul-Henning KampRelease 1.95.2 Fri Jul 27 2001 9865bb6a25fSPoul-Henning Kamp - More changes to make MSVC happy with the build; add a single 9875bb6a25fSPoul-Henning Kamp workspace to support both the library and xmlwf application. 9885bb6a25fSPoul-Henning Kamp - Added a Windows installer for Windows users; includes 9895bb6a25fSPoul-Henning Kamp xmlwf.exe. 9905bb6a25fSPoul-Henning Kamp - Added compile-time constants that can be used to determine the 9915bb6a25fSPoul-Henning Kamp Expat version 9925bb6a25fSPoul-Henning Kamp - Removed a lot of GNU-specific dependencies to aide portability 9935bb6a25fSPoul-Henning Kamp among the various Unix flavors. 9945bb6a25fSPoul-Henning Kamp - Fix the UTF-8 BOM bug. 9955bb6a25fSPoul-Henning Kamp - Cleaned up warning messages for several compilers. 9965bb6a25fSPoul-Henning Kamp - Added the -Wall, -Wstrict-prototypes options for GCC. 9975bb6a25fSPoul-Henning Kamp 9985bb6a25fSPoul-Henning KampRelease 1.95.1 Sun Oct 22 15:11:36 EDT 2000 9995bb6a25fSPoul-Henning Kamp - Changes to get expat to build under Microsoft compiler 10005bb6a25fSPoul-Henning Kamp - Removed all aborts and instead return an UNEXPECTED_STATE error. 10015bb6a25fSPoul-Henning Kamp - Fixed a bug where a stray '%' in an entity value would cause an 10025bb6a25fSPoul-Henning Kamp abort. 10035bb6a25fSPoul-Henning Kamp - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for 10045bb6a25fSPoul-Henning Kamp finding this oversight. 10055bb6a25fSPoul-Henning Kamp - Changed default patterns in lib/Makefile.in to fit non-GNU makes 10065bb6a25fSPoul-Henning Kamp Thanks to robin@unrated.net for reporting and providing an 10075bb6a25fSPoul-Henning Kamp account to test on. 10085bb6a25fSPoul-Henning Kamp - The reference had the wrong label for XML_SetStartNamespaceDecl. 10095bb6a25fSPoul-Henning Kamp Reported by an anonymous user. 10105bb6a25fSPoul-Henning Kamp 10115bb6a25fSPoul-Henning KampRelease 1.95.0 Fri Sep 29 2000 10125bb6a25fSPoul-Henning Kamp - XML_ParserCreate_MM 10135bb6a25fSPoul-Henning Kamp Allows you to set a memory management suite to replace the 10145bb6a25fSPoul-Henning Kamp standard malloc,realloc, and free. 10155bb6a25fSPoul-Henning Kamp - XML_SetReturnNSTriplet 10165bb6a25fSPoul-Henning Kamp If you turn this feature on when namespace processing is in 10175bb6a25fSPoul-Henning Kamp effect, then qualified, prefixed element and attribute names 10185bb6a25fSPoul-Henning Kamp are returned as "uri|name|prefix" where '|' is whatever 10195bb6a25fSPoul-Henning Kamp separator character is used in namespace processing. 10205bb6a25fSPoul-Henning Kamp - Merged in features from perl-expat 10215bb6a25fSPoul-Henning Kamp o XML_SetElementDeclHandler 10225bb6a25fSPoul-Henning Kamp o XML_SetAttlistDeclHandler 10235bb6a25fSPoul-Henning Kamp o XML_SetXmlDeclHandler 10245bb6a25fSPoul-Henning Kamp o XML_SetEntityDeclHandler 10255bb6a25fSPoul-Henning Kamp o StartDoctypeDeclHandler takes 3 additional parameters: 10265bb6a25fSPoul-Henning Kamp sysid, pubid, has_internal_subset 10275bb6a25fSPoul-Henning Kamp o Many paired handler setters (like XML_SetElementHandler) 10285bb6a25fSPoul-Henning Kamp now have corresponding individual handler setters 10295bb6a25fSPoul-Henning Kamp o XML_GetInputContext for getting the input context of 10305bb6a25fSPoul-Henning Kamp the current parse position. 10315bb6a25fSPoul-Henning Kamp - Added reference material 10325bb6a25fSPoul-Henning Kamp - Packaged into a distribution that builds a sharable library 1033