@cpp.js/package-expat 1.0.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -0
  3. package/cppjs-package-expat.podspec +13 -0
  4. package/cppjs.build.js +16 -0
  5. package/cppjs.config.js +12 -0
  6. package/dist/prebuilt/Android-arm64-v8a/include/expat.h +1075 -0
  7. package/dist/prebuilt/Android-arm64-v8a/include/expat_config.h +146 -0
  8. package/dist/prebuilt/Android-arm64-v8a/include/expat_external.h +165 -0
  9. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/expat-2.6.2/expat-config-version.cmake +65 -0
  10. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/expat-2.6.2/expat-config.cmake +99 -0
  11. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/expat-2.6.2/expat-noconfig.cmake +19 -0
  12. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/expat-2.6.2/expat.cmake +107 -0
  13. package/dist/prebuilt/Android-arm64-v8a/lib/libexpat.la +41 -0
  14. package/dist/prebuilt/Android-arm64-v8a/lib/libexpat.so +0 -0
  15. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/expat.pc +13 -0
  16. package/dist/prebuilt/Android-arm64-v8a/share/doc/expat/AUTHORS +10 -0
  17. package/dist/prebuilt/Android-arm64-v8a/share/doc/expat/changelog +1468 -0
  18. package/dist/prebuilt/CMakeLists.txt +44 -0
  19. package/dist/prebuilt/Emscripten-x86_64/include/expat.h +1075 -0
  20. package/dist/prebuilt/Emscripten-x86_64/include/expat_config.h +146 -0
  21. package/dist/prebuilt/Emscripten-x86_64/include/expat_external.h +165 -0
  22. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/expat-2.6.2/expat-config-version.cmake +65 -0
  23. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/expat-2.6.2/expat-config.cmake +99 -0
  24. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/expat-2.6.2/expat-noconfig.cmake +19 -0
  25. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/expat-2.6.2/expat.cmake +107 -0
  26. package/dist/prebuilt/Emscripten-x86_64/lib/libexpat.a +0 -0
  27. package/dist/prebuilt/Emscripten-x86_64/lib/libexpat.la +41 -0
  28. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/expat.pc +13 -0
  29. package/dist/prebuilt/Emscripten-x86_64/share/doc/expat/AUTHORS +10 -0
  30. package/dist/prebuilt/Emscripten-x86_64/share/doc/expat/changelog +1468 -0
  31. package/dist/prebuilt/expat.xcframework/Info.plist +50 -0
  32. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e/Headers/expat.h +1075 -0
  33. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e/Headers/expat_config.h +146 -0
  34. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e/Headers/expat_external.h +165 -0
  35. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e/libexpat.a +0 -0
  36. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/expat.h +1075 -0
  37. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/expat_config.h +146 -0
  38. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/expat_external.h +165 -0
  39. package/dist/prebuilt/expat.xcframework/ios-arm64_arm64e_x86_64-simulator/libexpat.a +0 -0
  40. package/dist/prebuilt/iOS-iphoneos/include/expat.h +1075 -0
  41. package/dist/prebuilt/iOS-iphoneos/include/expat_config.h +146 -0
  42. package/dist/prebuilt/iOS-iphoneos/include/expat_external.h +165 -0
  43. package/dist/prebuilt/iOS-iphoneos/lib/cmake/expat-2.6.2/expat-config-version.cmake +65 -0
  44. package/dist/prebuilt/iOS-iphoneos/lib/cmake/expat-2.6.2/expat-config.cmake +99 -0
  45. package/dist/prebuilt/iOS-iphoneos/lib/cmake/expat-2.6.2/expat-noconfig.cmake +19 -0
  46. package/dist/prebuilt/iOS-iphoneos/lib/cmake/expat-2.6.2/expat.cmake +107 -0
  47. package/dist/prebuilt/iOS-iphoneos/lib/libexpat.a +0 -0
  48. package/dist/prebuilt/iOS-iphoneos/lib/libexpat.la +41 -0
  49. package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/expat.pc +13 -0
  50. package/dist/prebuilt/iOS-iphoneos/share/doc/expat/AUTHORS +10 -0
  51. package/dist/prebuilt/iOS-iphoneos/share/doc/expat/changelog +1468 -0
  52. package/dist/prebuilt/iOS-iphonesimulator/include/expat.h +1075 -0
  53. package/dist/prebuilt/iOS-iphonesimulator/include/expat_config.h +146 -0
  54. package/dist/prebuilt/iOS-iphonesimulator/include/expat_external.h +165 -0
  55. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/expat-2.6.2/expat-config-version.cmake +65 -0
  56. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/expat-2.6.2/expat-config.cmake +99 -0
  57. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/expat-2.6.2/expat-noconfig.cmake +19 -0
  58. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/expat-2.6.2/expat.cmake +107 -0
  59. package/dist/prebuilt/iOS-iphonesimulator/lib/libexpat.a +0 -0
  60. package/dist/prebuilt/iOS-iphonesimulator/lib/libexpat.la +41 -0
  61. package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/expat.pc +13 -0
  62. package/dist/prebuilt/iOS-iphonesimulator/share/doc/expat/AUTHORS +10 -0
  63. package/dist/prebuilt/iOS-iphonesimulator/share/doc/expat/changelog +1468 -0
  64. package/package.json +28 -0
@@ -0,0 +1,1468 @@
1
+ __ __ _
2
+ ___\ \/ /_ __ __ _| |_
3
+ / _ \\ /| '_ \ / _` | __|
4
+ | __// \| |_) | (_| | |_
5
+ \___/_/\_\ .__/ \__,_|\__|
6
+ |_| XML parser
7
+
8
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9
+ !! <blink>Expat is UNDERSTAFFED and WITHOUT FUNDING.</blink> !!
10
+ !! ~~~~~~~~~~~~ !!
11
+ !! The following topics need *additional skilled C developers* to progress !!
12
+ !! in a timely manner or at all (loosely ordered by descending priority): !!
13
+ !! !!
14
+ !! - <blink>fixing a complex non-public security issue</blink>, !!
15
+ !! - teaming up on researching and fixing future security reports and !!
16
+ !! ClusterFuzz findings with few-days-max response times in communication !!
17
+ !! in order to (1) have a sound fix ready before the end of a 90 days !!
18
+ !! grace period and (2) in a sustainable manner, !!
19
+ !! - implementing and auto-testing XML 1.0r5 support !!
20
+ !! (needs discussion before pull requests), !!
21
+ !! - smart ideas on fixing the Autotools CMake files generation issue !!
22
+ !! without breaking CI (needs discussion before pull requests), !!
23
+ !! - the Windows binaries topic (needs requirements engineering first), !!
24
+ !! - pushing migration from `int` to `size_t` further !!
25
+ !! including edge-cases test coverage (needs discussion before anything). !!
26
+ !! !!
27
+ !! For details, please reach out via e-mail to sebastian@pipping.org so we !!
28
+ !! can schedule a voice call on the topic, in English or German. !!
29
+ !! !!
30
+ !! THANK YOU! Sebastian Pipping -- Berlin, 2024-03-09 !!
31
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32
+
33
+ Release 2.6.2 Wed March 13 2024
34
+ Security fixes:
35
+ #839 #842 CVE-2024-28757 -- Prevent billion laughs attacks with
36
+ isolated use of external parsers. Please see the commit
37
+ message of commit 1d50b80cf31de87750103656f6eb693746854aa8
38
+ for details.
39
+
40
+ Bug fixes:
41
+ #839 #841 Reject direct parameter entity recursion
42
+ and avoid the related undefined behavior
43
+
44
+ Other changes:
45
+ #847 Autotools: Fix build for DOCBOOK_TO_MAN containing spaces
46
+ #837 Add missing #821 and #824 to 2.6.1 change log
47
+ #838 #843 Version info bumped from 10:1:9 (libexpat*.so.1.9.1)
48
+ to 10:2:9 (libexpat*.so.1.9.2); see https://verbump.de/
49
+ for what these numbers do
50
+
51
+ Special thanks to:
52
+ Philippe Antoine
53
+ Tomas Korbar
54
+ and
55
+ Clang UndefinedBehaviorSanitizer
56
+ OSS-Fuzz / ClusterFuzz
57
+
58
+ Release 2.6.1 Thu February 29 2024
59
+ Bug fixes:
60
+ #817 Make tests independent of CPU speed, and thus more robust
61
+ #828 #836 Expose billion laughs API with XML_DTD defined and
62
+ XML_GE undefined, regression from 2.6.0
63
+
64
+ Other changes:
65
+ #829 Hide test-only code behind new internal macro
66
+ #833 Autotools: Reject expat_config.h.in defining SIZEOF_VOID_P
67
+ #821 #824 Autotools: Fix "make clean" for case:
68
+ ./configure --without-docbook && make clean all
69
+ #819 Address compiler warnings
70
+ #832 #834 Version info bumped from 10:0:9 (libexpat*.so.1.9.0)
71
+ to 10:1:9 (libexpat*.so.1.9.1); see https://verbump.de/
72
+ for what these numbers do
73
+
74
+ Infrastructure:
75
+ #818 CI: Adapt to breaking changes in clang-format
76
+
77
+ Special thanks to:
78
+ David Hall
79
+ Snild Dolkow
80
+
81
+ Release 2.6.0 Tue February 6 2024
82
+ Security fixes:
83
+ #789 #814 CVE-2023-52425 -- Fix quadratic runtime issues with big tokens
84
+ that can cause denial of service, in partial where
85
+ dealing with compressed XML input. Applications
86
+ that parsed a document in one go -- a single call to
87
+ functions XML_Parse or XML_ParseBuffer -- were not affected.
88
+ The smaller the chunks/buffers you use for parsing
89
+ previously, the bigger the problem prior to the fix.
90
+ Backporters should be careful to no omit parts of
91
+ pull request #789 and to include earlier pull request #771,
92
+ in order to not break the fix.
93
+ #777 CVE-2023-52426 -- Fix billion laughs attacks for users
94
+ compiling *without* XML_DTD defined (which is not common).
95
+ Users with XML_DTD defined have been protected since
96
+ Expat >=2.4.0 (and that was CVE-2013-0340 back then).
97
+
98
+ Bug fixes:
99
+ #753 Fix parse-size-dependent "invalid token" error for
100
+ external entities that start with a byte order mark
101
+ #780 Fix NULL pointer dereference in setContext via
102
+ XML_ExternalEntityParserCreate for compilation with
103
+ XML_DTD undefined
104
+ #812 #813 Protect against closing entities out of order
105
+
106
+ Other changes:
107
+ #723 Improve support for arc4random/arc4random_buf
108
+ #771 #788 Improve buffer growth in XML_GetBuffer and XML_Parse
109
+ #761 #770 xmlwf: Support --help and --version
110
+ #759 #770 xmlwf: Support custom buffer size for XML_GetBuffer and read
111
+ #744 xmlwf: Improve language and URL clickability in help output
112
+ #673 examples: Add new example "element_declarations.c"
113
+ #764 Be stricter about macro XML_CONTEXT_BYTES at build time
114
+ #765 Make inclusion to expat_config.h consistent
115
+ #726 #727 Autotools: configure.ac: Support --disable-maintainer-mode
116
+ #678 #705 ..
117
+ #706 #733 #792 Autotools: Sync CMake templates with CMake 3.26
118
+ #795 Autotools: Make installation of shipped man page doc/xmlwf.1
119
+ independent of docbook2man availability
120
+ #815 Autotools|CMake: Add missing -DXML_STATIC to pkg-config file
121
+ section "Cflags.private" in order to fix compilation
122
+ against static libexpat using pkg-config on Windows
123
+ #724 #751 Autotools|CMake: Require a C99 compiler
124
+ (a de-facto requirement already since Expat 2.2.2 of 2017)
125
+ #793 Autotools|CMake: Fix PACKAGE_BUGREPORT variable
126
+ #750 #786 Autotools|CMake: Make test suite require a C++11 compiler
127
+ #749 CMake: Require CMake >=3.5.0
128
+ #672 CMake: Lowercase off_t and size_t to help a bug in Meson
129
+ #746 CMake: Sort xmlwf sources alphabetically
130
+ #785 CMake|Windows: Fix generation of DLL file version info
131
+ #790 CMake: Build tests/benchmark/benchmark.c as well for
132
+ a build with -DEXPAT_BUILD_TESTS=ON
133
+ #745 #757 docs: Document the importance of isFinal + adjust tests
134
+ accordingly
135
+ #736 docs: Improve use of "NULL" and "null"
136
+ #713 docs: Be specific about version of XML (XML 1.0r4)
137
+ and version of C (C99); (XML 1.0r5 will need a sponsor.)
138
+ #762 docs: reference.html: Promote function XML_ParseBuffer more
139
+ #779 docs: reference.html: Add HTML anchors to XML_* macros
140
+ #760 docs: reference.html: Upgrade to OK.css 1.2.0
141
+ #763 #739 docs: Fix typos
142
+ #696 docs|CI: Use HTTPS URLs instead of HTTP at various places
143
+ #669 #670 ..
144
+ #692 #703 ..
145
+ #733 #772 Address compiler warnings
146
+ #798 #800 Address clang-tidy warnings
147
+ #775 #776 Version info bumped from 9:10:8 (libexpat*.so.1.8.10)
148
+ to 10:0:9 (libexpat*.so.1.9.0); see https://verbump.de/
149
+ for what these numbers do
150
+
151
+ Infrastructure:
152
+ #700 #701 docs: Document security policy in file SECURITY.md
153
+ #766 docs: Improve parse buffer variables in-code documentation
154
+ #674 #738 ..
155
+ #740 #747 ..
156
+ #748 #781 #782 Refactor coverage and conformance tests
157
+ #714 #716 Refactor debug level variables to unsigned long
158
+ #671 Improve handling of empty environment variable value
159
+ in function getDebugLevel (without visible user effect)
160
+ #755 #774 ..
161
+ #758 #783 ..
162
+ #784 #787 tests: Improve test coverage with regard to parse chunk size
163
+ #660 #797 #801 Fuzzing: Improve fuzzing coverage
164
+ #367 #799 Fuzzing|CI: Start running OSS-Fuzz fuzzing regression tests
165
+ #698 #721 CI: Resolve some Travis CI leftovers
166
+ #669 CI: Be robust towards absence of Git tags
167
+ #693 #694 CI: Set permissions to "contents: read" for security
168
+ #709 CI: Pin all GitHub Actions to specific commits for security
169
+ #739 CI: Reject spelling errors using codespell
170
+ #798 CI: Enforce clang-tidy clean code
171
+ #773 #808 ..
172
+ #809 #810 CI: Upgrade Clang from 15 to 18
173
+ #796 CI: Start using Clang's Control Flow Integrity sanitizer
174
+ #675 #720 #722 CI: Adapt to breaking changes in GitHub Actions Ubuntu images
175
+ #689 CI: Adapt to breaking changes in Clang/LLVM Debian packaging
176
+ #763 CI: Adapt to breaking changes in codespell
177
+ #803 CI: Adapt to breaking changes in Cppcheck
178
+
179
+ Special thanks to:
180
+ Ivan Galkin
181
+ Joyce Brum
182
+ Philippe Antoine
183
+ Rhodri James
184
+ Snild Dolkow
185
+ spookyahell
186
+ Steven Garske
187
+ and
188
+ Clang AddressSanitizer
189
+ Clang UndefinedBehaviorSanitizer
190
+ codespell
191
+ GCC Farm Project
192
+ OSS-Fuzz
193
+ Sony Mobile
194
+
195
+ Release 2.5.0 Tue October 25 2022
196
+ Security fixes:
197
+ #616 #649 #650 CVE-2022-43680 -- Fix heap use-after-free after overeager
198
+ destruction of a shared DTD in function
199
+ XML_ExternalEntityParserCreate in out-of-memory situations.
200
+ Expected impact is denial of service or potentially
201
+ arbitrary code execution.
202
+
203
+ Bug fixes:
204
+ #612 #645 Fix corruption from undefined entities
205
+ #613 #654 Fix case when parsing was suspended while processing nested
206
+ entities
207
+ #616 #652 #653 Stop leaking opening tag bindings after a closing tag
208
+ mismatch error where a parser is reset through
209
+ XML_ParserReset and then reused to parse
210
+ #656 CMake: Fix generation of pkg-config file
211
+ #658 MinGW|CMake: Fix static library name
212
+
213
+ Other changes:
214
+ #663 Protect header expat_config.h from multiple inclusion
215
+ #666 examples: Make use of XML_GetBuffer and be more
216
+ consistent across examples
217
+ #648 Address compiler warnings
218
+ #667 #668 Version info bumped from 9:9:8 to 9:10:8;
219
+ see https://verbump.de/ for what these numbers do
220
+
221
+ Special thanks to:
222
+ Jann Horn
223
+ Mark Brand
224
+ Osyotr
225
+ Rhodri James
226
+ and
227
+ Google Project Zero
228
+
229
+ Release 2.4.9 Tue September 20 2022
230
+ Security fixes:
231
+ #629 #640 CVE-2022-40674 -- Heap use-after-free vulnerability in
232
+ function doContent. Expected impact is denial of service
233
+ or potentially arbitrary code execution.
234
+
235
+ Bug fixes:
236
+ #634 MinGW: Fix mis-compilation for -D__USE_MINGW_ANSI_STDIO=0
237
+ #614 docs: Fix documentation on effect of switch XML_DTD on
238
+ symbol visibility in doc/reference.html
239
+
240
+ Other changes:
241
+ #638 MinGW: Make fix-xmltest-log.sh drop more Wine bug output
242
+ #596 #625 Autotools: Sync CMake templates with CMake 3.22
243
+ #608 CMake: Migrate from use of CMAKE_*_POSTFIX to
244
+ dedicated variables EXPAT_*_POSTFIX to stop affecting
245
+ other projects
246
+ #597 #599 Windows|CMake: Add missing -DXML_STATIC to test runners
247
+ and fuzzers
248
+ #512 #621 Windows|CMake: Render .def file from a template to fix
249
+ linking with -DEXPAT_DTD=OFF and/or -DEXPAT_ATTR_INFO=ON
250
+ #611 #621 MinGW|CMake: Apply MSVC .def file when linking
251
+ #622 #624 MinGW|CMake: Sync library name with GNU Autotools,
252
+ i.e. produce libexpat-1.dll rather than libexpat.dll
253
+ by default. Filename libexpat.dll.a is unaffected.
254
+ #632 MinGW|CMake: Set missing variable CMAKE_RC_COMPILER in
255
+ toolchain file "cmake/mingw-toolchain.cmake" to avoid
256
+ error "windres: Command not found" on e.g. Ubuntu 20.04
257
+ #597 #627 CMake: Unify inconsistent use of set() and option() in
258
+ context of public build time options to take need for
259
+ set(.. FORCE) in projects using Expat by means of
260
+ add_subdirectory(..) off Expat's users' shoulders
261
+ #626 #641 Stop exporting API symbols when building a static library
262
+ #644 Resolve use of deprecated "fgrep" by "grep -F"
263
+ #620 CMake: Make documentation on variables a bit more consistent
264
+ #636 CMake: Drop leading whitespace from a #cmakedefine line in
265
+ file expat_config.h.cmake
266
+ #594 xmlwf: Fix harmless variable mix-up in function nsattcmp
267
+ #592 #593 #610 Address Cppcheck warnings
268
+ #643 Address Clang 15 compiler warnings
269
+ #642 #644 Version info bumped from 9:8:8 to 9:9:8;
270
+ see https://verbump.de/ for what these numbers do
271
+
272
+ Infrastructure:
273
+ #597 #598 CI: Windows: Start covering MSVC 2022
274
+ #619 CI: macOS: Migrate off deprecated macOS 10.15
275
+ #632 CI: Linux: Make migration off deprecated Ubuntu 18.04 work
276
+ #643 CI: Upgrade Clang from 14 to 15
277
+ #637 apply-clang-format.sh: Add support for BSD find
278
+ #633 coverage.sh: Exclude MinGW headers
279
+ #635 coverage.sh: Fix name collision for -funsigned-char
280
+
281
+ Special thanks to:
282
+ David Faure
283
+ Felix Wilhelm
284
+ Frank Bergmann
285
+ Rhodri James
286
+ Rosen Penev
287
+ Thijs Schreijer
288
+ Vincent Torri
289
+ and
290
+ Google Project Zero
291
+
292
+ Release 2.4.8 Mon March 28 2022
293
+ Other changes:
294
+ #587 pkg-config: Move "-lm" to section "Libs.private"
295
+ #587 CMake|MSVC: Fix pkg-config section "Libs"
296
+ #55 #582 CMake|macOS: Start using linker arguments
297
+ "-compatibility_version <version>" and
298
+ "-current_version <version>" in a way compatible with
299
+ GNU Libtool
300
+ #590 #591 Version info bumped from 9:7:8 to 9:8:8;
301
+ see https://verbump.de/ for what these numbers do
302
+
303
+ Infrastructure:
304
+ #589 CI: Upgrade Clang from 13 to 14
305
+
306
+ Special thanks to:
307
+ evpobr
308
+ Kai Pastor
309
+ Sam James
310
+
311
+ Release 2.4.7 Fri March 4 2022
312
+ Bug fixes:
313
+ #572 #577 Relax fix to CVE-2022-25236 (introduced with release 2.4.5)
314
+ with regard to all valid URI characters (RFC 3986),
315
+ i.e. the following set (excluding whitespace):
316
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
317
+ 0123456789 % -._~ :/?#[]@ !$&'()*+,;=
318
+
319
+ Other changes:
320
+ #555 #570 #581 CMake|Windows: Store Expat version in the DLL
321
+ #577 Document consequences of namespace separator choices not just
322
+ in doc/reference.html but also in header <expat.h>
323
+ #577 Document Expat's lack of validation of namespace URIs against
324
+ RFC 3986, and that the XML 1.0r4 specification doesn't
325
+ require Expat to validate namespace URIs, and that Expat
326
+ may do more in that regard in future releases.
327
+ If you find need for strict RFC 3986 URI validation on
328
+ application level today, https://uriparser.github.io/ may
329
+ be of interest.
330
+ #579 Fix documentation of XML_EndDoctypeDeclHandler in <expat.h>
331
+ #575 Document that a call to XML_FreeContentModel can be done at
332
+ a later time from outside the element declaration handler
333
+ #574 Make hardcoded namespace URIs easier to find in code
334
+ #573 Update documentation on use of XML_POOR_ENTOPY on Solaris
335
+ #569 #571 tests: Resolve use of macros NAN and INFINITY for GNU G++
336
+ 4.8.2 on Solaris.
337
+ #578 #580 Version info bumped from 9:6:8 to 9:7:8;
338
+ see https://verbump.de/ for what these numbers do
339
+
340
+ Special thanks to:
341
+ Jeffrey Walton
342
+ Johnny Jazeix
343
+ Thijs Schreijer
344
+
345
+ Release 2.4.6 Sun February 20 2022
346
+ Bug fixes:
347
+ #566 Fix a regression introduced by the fix for CVE-2022-25313
348
+ in release 2.4.5 that affects applications that (1)
349
+ call function XML_SetElementDeclHandler and (2) are
350
+ parsing XML that contains nested element declarations
351
+ (e.g. "<!ELEMENT junk ((bar|foo|xyz+), zebra*)>").
352
+
353
+ Other changes:
354
+ #567 #568 Version info bumped from 9:5:8 to 9:6:8;
355
+ see https://verbump.de/ for what these numbers do
356
+
357
+ Special thanks to:
358
+ Matt Sergeant
359
+ Samanta Navarro
360
+ Sergei Trofimovich
361
+ and
362
+ NixOS
363
+ Perl XML::Parser
364
+
365
+ Release 2.4.5 Fri February 18 2022
366
+ Security fixes:
367
+ #562 CVE-2022-25235 -- Passing malformed 2- and 3-byte UTF-8
368
+ sequences (e.g. from start tag names) to the XML
369
+ processing application on top of Expat can cause
370
+ arbitrary damage (e.g. code execution) depending
371
+ on how invalid UTF-8 is handled inside the XML
372
+ processor; validation was not their job but Expat's.
373
+ Exploits with code execution are known to exist.
374
+ #561 CVE-2022-25236 -- Passing (one or more) namespace separator
375
+ characters in "xmlns[:prefix]" attribute values
376
+ made Expat send malformed tag names to the XML
377
+ processor on top of Expat which can cause
378
+ arbitrary damage (e.g. code execution) depending
379
+ on such unexpectable cases are handled inside the XML
380
+ processor; validation was not their job but Expat's.
381
+ Exploits with code execution are known to exist.
382
+ #558 CVE-2022-25313 -- Fix stack exhaustion in doctype parsing
383
+ that could be triggered by e.g. a 2 megabytes
384
+ file with a large number of opening braces.
385
+ Expected impact is denial of service or potentially
386
+ arbitrary code execution.
387
+ #560 CVE-2022-25314 -- Fix integer overflow in function copyString;
388
+ only affects the encoding name parameter at parser creation
389
+ time which is often hardcoded (rather than user input),
390
+ takes a value in the gigabytes to trigger, and a 64-bit
391
+ machine. Expected impact is denial of service.
392
+ #559 CVE-2022-25315 -- Fix integer overflow in function storeRawNames;
393
+ needs input in the gigabytes and a 64-bit machine.
394
+ Expected impact is denial of service or potentially
395
+ arbitrary code execution.
396
+
397
+ Other changes:
398
+ #557 #564 Version info bumped from 9:4:8 to 9:5:8;
399
+ see https://verbump.de/ for what these numbers do
400
+
401
+ Special thanks to:
402
+ Ivan Fratric
403
+ Samanta Navarro
404
+ and
405
+ Google Project Zero
406
+ JetBrains
407
+
408
+ Release 2.4.4 Sun January 30 2022
409
+ Security fixes:
410
+ #550 CVE-2022-23852 -- Fix signed integer overflow
411
+ (undefined behavior) in function XML_GetBuffer
412
+ (that is also called by function XML_Parse internally)
413
+ for when XML_CONTEXT_BYTES is defined to >0 (which is both
414
+ common and default).
415
+ Impact is denial of service or more.
416
+ #551 CVE-2022-23990 -- Fix unsigned integer overflow in function
417
+ doProlog triggered by large content in element type
418
+ declarations when there is an element declaration handler
419
+ present (from a prior call to XML_SetElementDeclHandler).
420
+ Impact is denial of service or more.
421
+
422
+ Bug fixes:
423
+ #544 #545 xmlwf: Fix a memory leak on output file opening error
424
+
425
+ Other changes:
426
+ #546 Autotools: Fix broken CMake support under Cygwin
427
+ #554 Windows: Add missing files to the installer to fix
428
+ compilation with CMake from installed sources
429
+ #552 #554 Version info bumped from 9:3:8 to 9:4:8;
430
+ see https://verbump.de/ for what these numbers do
431
+
432
+ Special thanks to:
433
+ Carlo Bramini
434
+ hwt0415
435
+ Roland Illig
436
+ Samanta Navarro
437
+ and
438
+ Clang LeakSan and the Clang team
439
+
440
+ Release 2.4.3 Sun January 16 2022
441
+ Security fixes:
442
+ #531 #534 CVE-2021-45960 -- Fix issues with left shifts by >=29 places
443
+ resulting in
444
+ a) realloc acting as free
445
+ b) realloc allocating too few bytes
446
+ c) undefined behavior
447
+ depending on architecture and precise value
448
+ for XML documents with >=2^27+1 prefixed attributes
449
+ on a single XML tag a la
450
+ "<r xmlns:a='[..]' a:a123='[..]' [..] />"
451
+ where XML_ParserCreateNS is used to create the parser
452
+ (which needs argument "-n" when running xmlwf).
453
+ Impact is denial of service, or more.
454
+ #532 #538 CVE-2021-46143 (ZDI-CAN-16157) -- Fix integer overflow
455
+ on variable m_groupSize in function doProlog leading
456
+ to realloc acting as free.
457
+ Impact is denial of service or more.
458
+ #539 CVE-2022-22822 to CVE-2022-22827 -- Prevent integer overflows
459
+ near memory allocation at multiple places. Mitre assigned
460
+ a dedicated CVE for each involved internal C function:
461
+ - CVE-2022-22822 for function addBinding
462
+ - CVE-2022-22823 for function build_model
463
+ - CVE-2022-22824 for function defineAttribute
464
+ - CVE-2022-22825 for function lookup
465
+ - CVE-2022-22826 for function nextScaffoldPart
466
+ - CVE-2022-22827 for function storeAtts
467
+ Impact is denial of service or more.
468
+
469
+ Other changes:
470
+ #535 CMake: Make call to file(GENERATE [..]) work for CMake <3.19
471
+ #541 Autotools|CMake: MinGW: Make run.sh(.in) work for Cygwin
472
+ and MSYS2 by not going through Wine on these platforms
473
+ #527 #528 Address compiler warnings
474
+ #533 #543 Version info bumped from 9:2:8 to 9:3:8;
475
+ see https://verbump.de/ for what these numbers do
476
+
477
+ Infrastructure:
478
+ #536 CI: Check for realistic minimum CMake version
479
+ #529 #539 CI: Cover compilation with -m32
480
+ #529 CI: Store coverage reports as artifacts for download
481
+ #528 CI: Upgrade Clang from 11 to 13
482
+
483
+ Special thanks to:
484
+ An anonymous whitehat
485
+ Christopher Degawa
486
+ J. Peter Mugaas
487
+ Tyson Smith
488
+ and
489
+ GCC Farm Project
490
+ Trend Micro Zero Day Initiative
491
+
492
+ Release 2.4.2 Sun December 19 2021
493
+ Other changes:
494
+ #509 #510 Link againgst libm for function "isnan"
495
+ #513 #514 Include expat_config.h as early as possible
496
+ #498 Autotools: Include files with release archives:
497
+ - buildconf.sh
498
+ - fuzz/*.c
499
+ #507 #519 Autotools: Sync CMake templates with CMake 3.20
500
+ #495 #524 CMake: MinGW: Fix pkg-config section "Libs" for
501
+ - non-release build types (e.g. -DCMAKE_BUILD_TYPE=Debug)
502
+ - multi-config CMake generators (e.g. Ninja Multi-Config)
503
+ #502 #503 docs: Document that function XML_GetBuffer may return NULL
504
+ when asking for a buffer of 0 (zero) bytes size
505
+ #522 #523 docs: Fix return value docs for both
506
+ XML_SetBillionLaughsAttackProtection* functions
507
+ #525 #526 Version info bumped from 9:1:8 to 9:2:8;
508
+ see https://verbump.de/ for what these numbers do
509
+
510
+ Special thanks to:
511
+ Donghee Na
512
+ Joergen Ibsen
513
+ Kai Pastor
514
+
515
+ Release 2.4.1 Sun May 23 2021
516
+ Bug fixes:
517
+ #488 #490 Autotools: Fix installed header expat_config.h for multilib
518
+ systems; regression introduced in 2.4.0 by pull request #486
519
+
520
+ Other changes:
521
+ #491 #492 Version info bumped from 9:0:8 to 9:1:8;
522
+ see https://verbump.de/ for what these numbers do
523
+
524
+ Special thanks to:
525
+ Gentoo's QA check "multilib_check_headers"
526
+
527
+ Release 2.4.0 Sun May 23 2021
528
+ Security fixes:
529
+ #34 #466 #484 CVE-2013-0340/CWE-776 -- Protect against billion laughs attacks
530
+ (denial-of-service; flavors targeting CPU time or RAM or both,
531
+ leveraging general entities or parameter entities or both)
532
+ by tracking and limiting the input amplification factor
533
+ (<amplification> := (<direct> + <indirect>) / <direct>).
534
+ By conservative default, amplification up to a factor of 100.0
535
+ is tolerated and rejection only starts after 8 MiB of output bytes
536
+ (=<direct> + <indirect>) have been processed.
537
+ The fix adds the following to the API:
538
+ - A new error code XML_ERROR_AMPLIFICATION_LIMIT_BREACH to
539
+ signals this specific condition.
540
+ - Two new API functions ..
541
+ - XML_SetBillionLaughsAttackProtectionMaximumAmplification and
542
+ - XML_SetBillionLaughsAttackProtectionActivationThreshold
543
+ .. to further tighten billion laughs protection parameters
544
+ when desired. Please see file "doc/reference.html" for details.
545
+ If you ever need to increase the defaults for non-attack XML
546
+ payload, please file a bug report with libexpat.
547
+ - Two new XML_FEATURE_* constants ..
548
+ - that can be queried using the XML_GetFeatureList function, and
549
+ - that are shown in "xmlwf -v" output.
550
+ - Two new environment variable switches ..
551
+ - EXPAT_ACCOUNTING_DEBUG=(0|1|2|3) and
552
+ - EXPAT_ENTITY_DEBUG=(0|1)
553
+ .. for runtime debugging of accounting and entity processing.
554
+ Specific behavior of these values may change in the future.
555
+ - Two new command line arguments "-a FACTOR" and "-b BYTES"
556
+ for xmlwf to further tighten billion laughs protection
557
+ parameters when desired.
558
+ If you ever need to increase the defaults for non-attack XML
559
+ payload, please file a bug report with libexpat.
560
+
561
+ Bug fixes:
562
+ #332 #470 For (non-default) compilation with -DEXPAT_MIN_SIZE=ON (CMake)
563
+ or CPPFLAGS=-DXML_MIN_SIZE (GNU Autotools): Fix segfault
564
+ for UTF-16 payloads containing CDATA sections.
565
+ #485 #486 Autotools: Fix generated CMake files for non-64bit and
566
+ non-Linux platforms (e.g. macOS and MinGW in particular)
567
+ that were introduced with release 2.3.0
568
+
569
+ Other changes:
570
+ #468 #469 xmlwf: Improve help output and the xmlwf man page
571
+ #463 xmlwf: Improve maintainability through some refactoring
572
+ #477 xmlwf: Fix man page DocBook validity
573
+ #456 Autotools: Sync CMake templates with CMake 3.18
574
+ #458 #459 CMake: Support absolute paths for both CMAKE_INSTALL_LIBDIR
575
+ and CMAKE_INSTALL_INCLUDEDIR
576
+ #471 #481 CMake: Add support for standard variable BUILD_SHARED_LIBS
577
+ #457 Unexpose symbol _INTERNAL_trim_to_complete_utf8_characters
578
+ #467 Resolve macro HAVE_EXPAT_CONFIG_H
579
+ #472 Delete unused legacy helper file "conftools/PrintPath"
580
+ #473 #483 Improve attribution
581
+ #464 #465 #477 doc/reference.html: Fix XHTML validity
582
+ #475 #478 doc/reference.html: Replace the 90s look by OK.css
583
+ #479 Version info bumped from 8:0:7 to 9:0:8
584
+ due to addition of new symbols and error codes;
585
+ see https://verbump.de/ for what these numbers do
586
+
587
+ Infrastructure:
588
+ #456 CI: Enable periodic runs
589
+ #457 CI: Start covering the list of exported symbols
590
+ #474 CI: Isolate coverage task
591
+ #476 #482 CI: Adapt to breaking changes in image "ubuntu-18.04"
592
+ #477 CI: Cover well-formedness and DocBook/XHTML validity
593
+ of doc/reference.html and doc/xmlwf.xml
594
+
595
+ Special thanks to:
596
+ Dimitry Andric
597
+ Eero Helenius
598
+ Nick Wellnhofer
599
+ Rhodri James
600
+ Tomas Korbar
601
+ Yury Gribov
602
+ and
603
+ Clang LeakSan
604
+ JetBrains
605
+ OSS-Fuzz
606
+
607
+ Release 2.3.0 Thu March 25 2021
608
+ Bug fixes:
609
+ #438 When calling XML_ParseBuffer without a prior successful call to
610
+ XML_GetBuffer as a user, no longer trigger undefined behavior
611
+ (by adding an integer to a NULL pointer) but rather return
612
+ XML_STATUS_ERROR and set the error code to (new) code
613
+ XML_ERROR_NO_BUFFER. Found by UBSan (UndefinedBehaviorSanitizer)
614
+ of Clang 11 (but not Clang 9).
615
+ #444 xmlwf: Exit status 2 was used for both:
616
+ - malformed input files (documented) and
617
+ - invalid command-line arguments (undocumented).
618
+ The case of invalid command-line arguments now
619
+ has its own exit status 4, resolving the ambiguity.
620
+
621
+ Other changes:
622
+ #439 xmlwf: Add argument -k to allow continuing after
623
+ non-fatal errors
624
+ #439 xmlwf: Add section about exit status to the -h help output
625
+ #422 #426 #447 Windows: Drop support for Visual Studio <=14.0/2015
626
+ #434 Windows: CMake: Detect unsupported Visual Studio at
627
+ configure time (rather than at compile time)
628
+ #382 #428 testrunner: Make verbose mode (argument "-v") report
629
+ about passed tests, and make default mode report about
630
+ failures, as well.
631
+ #442 CMake: Call "enable_language(CXX)" prior to tinkering
632
+ with CMAKE_CXX_* variables
633
+ #448 Document use of libexpat from a CMake-based project
634
+ #451 Autotools: Install CMake files as generated by CMake 3.19.6
635
+ so that users with "find_package(expat [..] CONFIG [..])"
636
+ are served on distributions that are *not* using the CMake
637
+ build system inside for libexpat packaging
638
+ #436 #437 Autotools: Drop obsolescent macro AC_HEADER_STDC
639
+ #450 #452 Autotools: Resolve use of obsolete macro AC_CONFIG_HEADER
640
+ #441 Address compiler warnings
641
+ #443 Version info bumped from 7:12:6 to 8:0:7
642
+ due to addition of error code XML_ERROR_NO_BUFFER
643
+ (see https://verbump.de/ for what these numbers do)
644
+
645
+ Infrastructure:
646
+ #435 #446 Replace Travis CI by GitHub Actions
647
+
648
+ Special thanks to:
649
+ Alexander Richardson
650
+ Oleksandr Popovych
651
+ Thomas Beutlich
652
+ Tim Bray
653
+ and
654
+ Clang LeakSan, Clang 11 UBSan and the Clang team
655
+
656
+ Release 2.2.10 Sat October 3 2020
657
+ Bug fixes:
658
+ #390 #395 #398 Fix undefined behavior during parsing caused by
659
+ pointer arithmetic with NULL pointers
660
+ #404 #405 Fix reading uninitialized variable during parsing
661
+ #406 xmlwf: Add missing check for malloc NULL return
662
+
663
+ Other changes:
664
+ #396 Windows: Drop support for Visual Studio <=8.0/2005
665
+ #409 Windows: Add missing file "Changes" to the installer
666
+ to fix compilation with CMake from installed sources
667
+ #403 xmlwf: Document exit codes in xmlwf manpage and
668
+ exit with code 3 (rather than code 1) for output errors
669
+ when used with "-d DIRECTORY"
670
+ #356 #359 MinGW: Provide declaration of rand_s for mingwrt <5.3.0
671
+ #383 #392 Autotools: Use -Werror while configure tests the compiler
672
+ for supported compile flags to avoid false positives
673
+ #383 #393 #394 Autotools: Improve handling of user (C|CPP|CXX|LD)FLAGS,
674
+ e.g. ensure that they have the last word over flags added
675
+ while running ./configure
676
+ #360 CMake: Create libexpatw.{dll,so} and expatw.pc (with emphasis
677
+ on suffix "w") with -DEXPAT_CHAR_TYPE=(ushort|wchar_t)
678
+ #360 CMake: Detect and deny unsupported build combinations
679
+ involving -DEXPAT_CHAR_TYPE=(ushort|wchar_t)
680
+ #360 CMake: Install pre-compiled shipped xmlwf.1 manpage in case
681
+ of -DEXPAT_BUILD_DOCS=OFF
682
+ #375 #380 #419 CMake: Fix use of Expat by means of add_subdirectory
683
+ #407 #408 CMake: Keep expat target name constant at "expat"
684
+ (i.e. refrain from using the target name to control
685
+ build artifact filenames)
686
+ #385 CMake: Fix compilation with -DEXPAT_SHARED_LIBS=OFF for
687
+ Windows
688
+ CMake: Expose man page compilation as target "xmlwf-manpage"
689
+ #413 #414 CMake: Introduce option EXPAT_BUILD_PKGCONFIG
690
+ to control generation of pkg-config file "expat.pc"
691
+ #424 CMake: Add minimalistic support for building binary packages
692
+ with CMake target "package"; based on CPack
693
+ #366 CMake: Add option -DEXPAT_OSSFUZZ_BUILD=(ON|OFF) with
694
+ default OFF to build fuzzer code against OSS-Fuzz and
695
+ related environment variable LIB_FUZZING_ENGINE
696
+ #354 Fix testsuite for -DEXPAT_DTD=OFF and -DEXPAT_NS=OFF, each
697
+ #354 #355 ..
698
+ #356 #412 Address compiler warnings
699
+ #368 #369 Address pngcheck warnings with doc/*.png images
700
+ #425 Version info bumped from 7:11:6 to 7:12:6
701
+
702
+ Special thanks to:
703
+ asavah
704
+ Ben Wagner
705
+ Bhargava Shastry
706
+ Frank Landgraf
707
+ Jeffrey Walton
708
+ Joe Orton
709
+ Kleber Tarcísio
710
+ Ma Lin
711
+ Maciej Sroczyński
712
+ Mohammed Khajapasha
713
+ Vadim Zeitlin
714
+ and
715
+ Cppcheck 2.0 and the Cppcheck team
716
+
717
+ Release 2.2.9 Wed September 25 2019
718
+ Other changes:
719
+ examples: Drop executable bits from elements.c
720
+ #349 Windows: Change the name of the Windows DLLs from expat*.dll
721
+ to libexpat*.dll once more (regression from 2.2.8, first
722
+ fixed in 1.95.3, issue #61 on SourceForge today,
723
+ was issue #432456 back then); needs a fix due
724
+ case-insensitive file systems on Windows and the fact that
725
+ Perl's XML::Parser::Expat compiles into Expat.dll.
726
+ #347 Windows: Only define _CRT_RAND_S if not defined
727
+ Version info bumped from 7:10:6 to 7:11:6
728
+
729
+ Special thanks to:
730
+ Ben Wagner
731
+
732
+ Release 2.2.8 Fri September 13 2019
733
+ Security fixes:
734
+ #317 #318 CVE-2019-15903 -- Fix heap overflow triggered by
735
+ XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber),
736
+ and deny internal entities closing the doctype;
737
+ fixed in commit c20b758c332d9a13afbbb276d30db1d183a85d43
738
+
739
+ Bug fixes:
740
+ #240 Fix cases where XML_StopParser did not have any effect
741
+ when called from inside of an end element handler
742
+ #341 xmlwf: Fix exit code for operation without "-d DIRECTORY";
743
+ previously, only "-d DIRECTORY" would give you a proper
744
+ exit code:
745
+ # xmlwf -d . <<<'<not well-formed>' 2>/dev/null ; echo $?
746
+ 2
747
+ # xmlwf <<<'<not well-formed>' 2>/dev/null ; echo $?
748
+ 0
749
+ Now both cases return exit code 2.
750
+
751
+ Other changes:
752
+ #299 #302 Windows: Replace LoadLibrary hack to access
753
+ unofficial API function SystemFunction036 (RtlGenRandom)
754
+ by using official API function rand_s (needs WinXP+)
755
+ #325 Windows: Drop support for Visual Studio <=7.1/2003
756
+ and document supported compilers in README.md
757
+ #286 Windows: Remove COM code from xmlwf; in case it turns
758
+ out needed later, there will be a dedicated repository
759
+ below https://github.com/libexpat/ for that code
760
+ #322 Windows: Remove explicit MSVC solution and project files.
761
+ You can generate Visual Studio solution files through
762
+ CMake, e.g.: cmake -G"Visual Studio 15 2017" .
763
+ #338 xmlwf: Make "xmlwf -h" help output more friendly
764
+ #339 examples: Improve elements.c
765
+ #244 #264 Autotools: Add argument --enable-xml-attr-info
766
+ #239 #301 Autotools: Add arguments
767
+ --with-getrandom
768
+ --without-getrandom
769
+ --with-sys-getrandom
770
+ --without-sys-getrandom
771
+ #312 #343 Autotools: Fix linking issues with "./configure LD=clang"
772
+ Autotools: Fix "make run-xmltest" for out-of-source builds
773
+ #329 #336 CMake: Pull all options from Expat <=2.2.7 into namespace
774
+ prefix EXPAT_ with the exception of DOCBOOK_TO_MAN:
775
+ - BUILD_doc -> EXPAT_BUILD_DOCS (plural)
776
+ - BUILD_examples -> EXPAT_BUILD_EXAMPLES
777
+ - BUILD_shared -> EXPAT_SHARED_LIBS
778
+ - BUILD_tests -> EXPAT_BUILD_TESTS
779
+ - BUILD_tools -> EXPAT_BUILD_TOOLS
780
+ - DOCBOOK_TO_MAN -> DOCBOOK_TO_MAN (unchanged)
781
+ - INSTALL -> EXPAT_ENABLE_INSTALL
782
+ - MSVC_USE_STATIC_CRT -> EXPAT_MSVC_STATIC_CRT
783
+ - USE_libbsd -> EXPAT_WITH_LIBBSD
784
+ - WARNINGS_AS_ERRORS -> EXPAT_WARNINGS_AS_ERRORS
785
+ - XML_CONTEXT_BYTES -> EXPAT_CONTEXT_BYTES
786
+ - XML_DEV_URANDOM -> EXPAT_DEV_URANDOM
787
+ - XML_DTD -> EXPAT_DTD
788
+ - XML_NS -> EXPAT_NS
789
+ - XML_UNICODE -> EXPAT_CHAR_TYPE=ushort (!)
790
+ - XML_UNICODE_WCHAR_T -> EXPAT_CHAR_TYPE=wchar_t (!)
791
+ #244 #264 CMake: Add argument -DEXPAT_ATTR_INFO=(ON|OFF),
792
+ default OFF
793
+ #326 CMake: Add argument -DEXPAT_LARGE_SIZE=(ON|OFF),
794
+ default OFF
795
+ #328 CMake: Add argument -DEXPAT_MIN_SIZE=(ON|OFF),
796
+ default OFF
797
+ #239 #277 CMake: Add arguments
798
+ -DEXPAT_WITH_GETRANDOM=(ON|OFF|AUTO), default AUTO
799
+ -DEXPAT_WITH_SYS_GETRANDOM=(ON|OFF|AUTO), default AUTO
800
+ #326 CMake: Install expat_config.h to include directory
801
+ #326 CMake: Generate and install configuration files for
802
+ future find_package(expat [..] CONFIG [..])
803
+ CMake: Now produces a summary of applied configuration
804
+ CMake: Require C++ compiler only when tests are enabled
805
+ #330 CMake: Fix compilation for 16bit character types,
806
+ i.e. ex -DXML_UNICODE=ON (and ex -DXML_UNICODE_WCHAR_T=ON)
807
+ #265 CMake: Fix linking with MinGW
808
+ #330 CMake: Add full support for MinGW; to enable, use
809
+ -DCMAKE_TOOLCHAIN_FILE=[expat]/cmake/mingw-toolchain.cmake
810
+ #330 CMake: Port "make run-xmltest" from GNU Autotools to CMake
811
+ #316 CMake: Windows: Make binary postfix match MSVC
812
+ Old: expat[d].lib
813
+ New: expat[w][d][MD|MT].lib
814
+ CMake: Migrate files from Windows to Unix line endings
815
+ #308 CMake: Integrate OSS-Fuzz fuzzers, option
816
+ -DEXPAT_BUILD_FUZZERS=(ON|OFF), default OFF
817
+ #14 Drop an OpenVMS support leftover
818
+ #235 #268 ..
819
+ #270 #310 ..
820
+ #313 #331 #333 Address compiler warnings
821
+ #282 #283 ..
822
+ #284 #285 Address cppcheck warnings
823
+ #294 #295 Address Clang Static Analyzer warnings
824
+ #24 #293 Mass-apply clang-format 9 (and ensure conformance during CI)
825
+ Version info bumped from 7:9:6 to 7:10:6
826
+
827
+ Special thanks to:
828
+ David Loffredo
829
+ Joonun Jang
830
+ Kishore Kunche
831
+ Marco Maggi
832
+ Mitch Phillips
833
+ Mohammed Khajapasha
834
+ Rolf Ade
835
+ xantares
836
+ Zhongyuan Zhou
837
+
838
+ Release 2.2.7 Wed June 19 2019
839
+ Security fixes:
840
+ #186 #262 CVE-2018-20843 -- Fix extraction of namespace prefixes from
841
+ XML names; XML names with multiple colons could end up in
842
+ the wrong namespace, and take a high amount of RAM and CPU
843
+ resources while processing, opening the door to
844
+ use for denial-of-service attacks
845
+
846
+ Other changes:
847
+ #195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop
848
+ exporting non-API symbols
849
+ #227 Autotools: Add --without-examples and --without-tests
850
+ #228 Autotools: Modernize configure.ac
851
+ #245 #246 Autotools: Fix check for -fvisibility=hidden for Clang
852
+ #247 #248 Autotools: Fix compilation for lack of docbook2x-man
853
+ #236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives
854
+ #212 CMake: Make libdir of pkgconfig expat.pc support multilib
855
+ #158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR
856
+ #219 Remove fallback to bcopy, assume that memmove(3) exists
857
+ #257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD)
858
+ #243 Windows: Fix syntax of .def module definition files
859
+ Version info bumped from 7:8:6 to 7:9:6
860
+
861
+ Special thanks to:
862
+ Benjamin Peterson
863
+ Caolán McNamara
864
+ Hanno Böck
865
+ KangLin
866
+ Kishore Kunche
867
+ Marco Maggi
868
+ Rhodri James
869
+ Sebastian Dröge
870
+ userwithuid
871
+ Yury Gribov
872
+
873
+ Release 2.2.6 Sun August 12 2018
874
+ Bug fixes:
875
+ #170 #206 Avoid doing arithmetic with NULL pointers in XML_GetBuffer
876
+ #204 #205 Fix 2.2.5 regression with suspend-resume while parsing
877
+ a document like '<root/>'
878
+
879
+ Other changes:
880
+ #165 #168 Autotools: Fix docbook-related configure syntax error
881
+ #166 Autotools: Avoid grep option `-q` for Solaris
882
+ #167 Autotools: Support
883
+ ./configure DOCBOOK_TO_MAN="xmlto man --skip-validation"
884
+ #159 #167 Autotools: Support DOCBOOK_TO_MAN command which produces
885
+ xmlwf.1 rather than XMLWF.1; also covers case insensitive
886
+ file systems
887
+ #181 Autotools: Drop -rpath option passed to libtool
888
+ #188 Autotools: Detect and deny SGML docbook2man as ours is XML
889
+ #188 Autotools/CMake: Support command db2x_docbook2man as well
890
+ #174 CMake: Introduce option WARNINGS_AS_ERRORS, defaults to OFF
891
+ #184 #185 CMake: Introduce option MSVC_USE_STATIC_CRT, defaults to OFF
892
+ #207 #208 CMake: Introduce option XML_UNICODE and XML_UNICODE_WCHAR_T,
893
+ both defaulting to OFF
894
+ #175 CMake: Prefer check_symbol_exists over check_function_exists
895
+ #176 CMake: Create the same pkg-config file as with GNU Autotools
896
+ #178 #179 CMake: Use GNUInstallDirs module to set proper defaults for
897
+ install directories
898
+ #208 CMake: Utilize expat_config.h.cmake for XML_DEV_URANDOM
899
+ #180 Windows: Fix compilation of test suite for Visual Studio 2008
900
+ #131 #173 #202 Address compiler warnings
901
+ #187 #190 #200 Fix miscellaneous typos
902
+ Version info bumped from 7:7:6 to 7:8:6
903
+
904
+ Special thanks to:
905
+ Anton Maklakov
906
+ Benjamin Peterson
907
+ Brad King
908
+ Franek Korta
909
+ Frank Rast
910
+ Joe Orton
911
+ luzpaz
912
+ Pedro Vicente
913
+ Rainer Jung
914
+ Rhodri James
915
+ Rolf Ade
916
+ Rolf Eike Beer
917
+ Thomas Beutlich
918
+ Tomasz Kłoczko
919
+
920
+ Release 2.2.5 Tue October 31 2017
921
+ Bug fixes:
922
+ #8 If the parser runs out of memory, make sure its internal
923
+ state reflects the memory it actually has, not the memory
924
+ it wanted to have.
925
+ #11 The default handler wasn't being called when it should for
926
+ a SYSTEM or PUBLIC doctype if an entity declaration handler
927
+ was registered.
928
+ #137 #138 Fix a case of mistakenly reported parsing success where
929
+ XML_StopParser was called from an element handler
930
+ #162 Function XML_ErrorString was returning NULL rather than
931
+ a message for code XML_ERROR_INVALID_ARGUMENT
932
+ introduced with release 2.2.1
933
+
934
+ Other changes:
935
+ #106 xmlwf: Add argument -N adding notation declarations
936
+ #75 #106 Test suite: Resolve expected failure cases where xmlwf
937
+ output was incomplete
938
+ #127 Windows: Fix test suite compilation
939
+ #126 #127 Windows: Fix compilation for Visual Studio 2012
940
+ Windows: Upgrade shipped project files to Visual Studio 2017
941
+ #33 #132 tests: Mass-fix compilation for XML_UNICODE_WCHAR_T
942
+ #129 examples: Fix compilation for XML_UNICODE_WCHAR_T
943
+ #130 benchmark: Fix compilation for XML_UNICODE_WCHAR_T
944
+ #144 xmlwf: Fix compilation for XML_UNICODE_WCHAR_T; still needs
945
+ Windows or MinGW for 2-byte wchar_t
946
+ #9 Address two Clang Static Analyzer false positives
947
+ #59 Resolve troublesome macros hiding parser struct membership
948
+ and dereferencing that pointer
949
+ #6 Resolve superfluous internal malloc/realloc switch
950
+ #153 #155 Improve docbook2x-man detection
951
+ #160 Undefine NDEBUG in the test suite (rather than rejecting it)
952
+ #161 Address compiler warnings
953
+ Version info bumped from 7:6:6 to 7:7:6
954
+
955
+ Special thanks to:
956
+ Benbuck Nason
957
+ Hans Wennborg
958
+ José Gutiérrez de la Concha
959
+ Pedro Monreal Gonzalez
960
+ Rhodri James
961
+ Rolf Ade
962
+ Stephen Groat
963
+ and
964
+ Core Infrastructure Initiative
965
+
966
+ Release 2.2.4 Sat August 19 2017
967
+ Bug fixes:
968
+ #115 Fix copying of partial characters for UTF-8 input
969
+
970
+ Other changes:
971
+ #109 Fix "make check" for non-x86 architectures that default
972
+ to unsigned type char (-128..127 rather than 0..255)
973
+ #109 coverage.sh: Cover -funsigned-char
974
+ Autotools: Introduce --without-xmlwf argument
975
+ #65 Autotools: Replace handwritten Makefile with GNU Automake
976
+ #43 CMake: Auto-detect high quality entropy extractors, add new
977
+ option USE_libbsd=ON to use arc4random_buf of libbsd
978
+ #74 CMake: Add -fno-strict-aliasing only where supported
979
+ #114 CMake: Always honor manually set BUILD_* options
980
+ #114 CMake: Compile man page if docbook2x-man is available, only
981
+ #117 Include file tests/xmltest.log.expected in source tarball
982
+ (required for "make run-xmltest")
983
+ #117 Include (existing) Visual Studio 2013 files in source tarball
984
+ Improve test suite error output
985
+ #111 Fix some typos in documentation
986
+ Version info bumped from 7:5:6 to 7:6:6
987
+
988
+ Special thanks to:
989
+ Jakub Wilk
990
+ Joe Orton
991
+ Lin Tian
992
+ Rolf Eike Beer
993
+
994
+ Release 2.2.3 Wed August 2 2017
995
+ Security fixes:
996
+ #82 CVE-2017-11742 -- Windows: Fix DLL hijacking vulnerability
997
+ using Steve Holme's LoadLibrary wrapper for/of cURL
998
+
999
+ Bug fixes:
1000
+ #85 Fix a dangling pointer issue related to realloc
1001
+
1002
+ Other changes:
1003
+ Increase code coverage
1004
+ #91 Linux: Allow getrandom to fail if nonblocking pool has not
1005
+ yet been initialized and read /dev/urandom then, instead.
1006
+ This is in line with what recent Python does.
1007
+ #81 Pre-10.7/Lion macOS: Support entropy from arc4random
1008
+ #86 Check that a UTF-16 encoding in an XML declaration has the
1009
+ right endianness
1010
+ #4 #5 #7 Recover correctly when some reallocations fail
1011
+ Repair "./configure && make" for systems without any
1012
+ provider of high quality entropy
1013
+ and try reading /dev/urandom on those
1014
+ Ensure that user-defined character encodings have converter
1015
+ functions when they are needed
1016
+ Fix mis-leading description of argument -c in xmlwf.1
1017
+ Rely on macro HAVE_ARC4RANDOM_BUF (rather than __CloudABI__)
1018
+ for CloudABI
1019
+ #100 Fix use of SIPHASH_MAIN in siphash.h
1020
+ #23 Test suite: Fix memory leaks
1021
+ Version info bumped from 7:4:6 to 7:5:6
1022
+
1023
+ Special thanks to:
1024
+ Chanho Park
1025
+ Joe Orton
1026
+ Pascal Cuoq
1027
+ Rhodri James
1028
+ Simon McVittie
1029
+ Vadim Zeitlin
1030
+ Viktor Szakats
1031
+ and
1032
+ Core Infrastructure Initiative
1033
+
1034
+ Release 2.2.2 Wed July 12 2017
1035
+ Security fixes:
1036
+ #43 Protect against compilation without any source of high
1037
+ quality entropy enabled, e.g. with CMake build system;
1038
+ commit ff0207e6076e9828e536b8d9cd45c9c92069b895
1039
+ #60 Windows with _UNICODE:
1040
+ Unintended use of LoadLibraryW with a non-wide string
1041
+ resulted in failure to load advapi32.dll and degradation
1042
+ in quality of used entropy when compiled with _UNICODE for
1043
+ Windows; you can launch existing binaries with
1044
+ EXPAT_ENTROPY_DEBUG=1 in the environment to inspect the
1045
+ quality of entropy used during runtime; commits
1046
+ * 95b95032f907ef1cd17ee7a9a1768010a825d61d
1047
+ * 73a5a2e9c081f49f2d775cf7ced864158b68dc80
1048
+ [MOX-006] Fix non-NULL parser parameter validation in XML_Parse;
1049
+ resulted in NULL dereference, previously;
1050
+ commit ac256dafdffc9622ab0dc2c62fcecb0dfcfa71fe
1051
+
1052
+ Bug fixes:
1053
+ #69 Fix improper use of unsigned long long integer literals
1054
+
1055
+ Other changes:
1056
+ #73 Start requiring a C99 compiler
1057
+ #49 Fix "==" Bashism in configure script
1058
+ #50 Fix too eager getrandom detection for Debian GNU/kFreeBSD
1059
+ #52 and macOS
1060
+ #51 Address lack of stdint.h in Visual Studio 2003 to 2008
1061
+ #58 Address compile warnings
1062
+ #68 Fix "./buildconf.sh && ./configure" for some versions
1063
+ of Dash for /bin/sh
1064
+ #72 CMake: Ease use of Expat in context of a parent project
1065
+ with multiple CMakeLists.txt files
1066
+ #72 CMake: Resolve mistaken executable permissions
1067
+ #76 Address compile warning with -DNDEBUG (not recommended!)
1068
+ #77 Address compile warning about macro redefinition
1069
+
1070
+ Special thanks to:
1071
+ Alexander Bluhm
1072
+ Ben Boeckel
1073
+ Cătălin Răceanu
1074
+ Kerin Millar
1075
+ László Böszörményi
1076
+ S. P. Zeidler
1077
+ Segev Finer
1078
+ Václav Slavík
1079
+ Victor Stinner
1080
+ Viktor Szakats
1081
+ and
1082
+ Radically Open Security
1083
+
1084
+ Release 2.2.1 Sat June 17 2017
1085
+ Security fixes:
1086
+ CVE-2017-9233 -- External entity infinite loop DoS
1087
+ Details: https://libexpat.github.io/doc/cve-2017-9233/
1088
+ Commit c4bf96bb51dd2a1b0e185374362ee136fe2c9d7f
1089
+ [MOX-002] CVE-2016-9063 -- Detect integer overflow; commit
1090
+ d4f735b88d9932bd5039df2335eefdd0723dbe20
1091
+ (Fixed version of existing downstream patches!)
1092
+ (SF.net) #539 Fix regression from fix to CVE-2016-0718 cutting off
1093
+ longer tag names; commits
1094
+ * 896b6c1fd3b842f377d1b62135dccf0a579cf65d
1095
+ * af507cef2c93cb8d40062a0abe43a4f4e9158fb2
1096
+ #16 * 0dbbf43fdb20f593ddf4fa1ff67288000dd4a7fd
1097
+ #25 More integer overflow detection (function poolGrow); commits
1098
+ * 810b74e4703dcfdd8f404e3cb177d44684775143
1099
+ * 44178553f3539ce69d34abee77a05e879a7982ac
1100
+ [MOX-002] Detect overflow from len=INT_MAX call to XML_Parse; commits
1101
+ * 4be2cb5afcc018d996f34bbbce6374b7befad47f
1102
+ * 7e5b71b748491b6e459e5c9a1d090820f94544d8
1103
+ [MOX-005] #30 Use high quality entropy for hash initialization:
1104
+ * arc4random_buf on BSD, systems with libbsd
1105
+ (when configured with --with-libbsd), CloudABI
1106
+ * RtlGenRandom on Windows XP / Server 2003 and later
1107
+ * getrandom on Linux 3.17+
1108
+ In a way, that's still part of CVE-2016-5300.
1109
+ https://github.com/libexpat/libexpat/pull/30/commits
1110
+ [MOX-005] For the low quality entropy extraction fallback code,
1111
+ the parser instance address can no longer leak, commit
1112
+ 04ad658bd3079dd15cb60fc67087900f0ff4b083
1113
+ [MOX-003] Prevent use of uninitialised variable; commit
1114
+ [MOX-004] a4dc944f37b664a3ca7199c624a98ee37babdb4b
1115
+ Add missing parameter validation to public API functions
1116
+ and dedicated error code XML_ERROR_INVALID_ARGUMENT:
1117
+ [MOX-006] * NULL checks; commits
1118
+ * d37f74b2b7149a3a95a680c4c4cd2a451a51d60a (merge/many)
1119
+ * 9ed727064b675b7180c98cb3d4f75efba6966681
1120
+ * 6a747c837c50114dfa413994e07c0ba477be4534
1121
+ * Negative length (XML_Parse); commit
1122
+ [MOX-002] 70db8d2538a10f4c022655d6895e4c3e78692e7f
1123
+ [MOX-001] #35 Change hash algorithm to William Ahern's version of SipHash
1124
+ to go further with fixing CVE-2012-0876.
1125
+ https://github.com/libexpat/libexpat/pull/39/commits
1126
+
1127
+ Bug fixes:
1128
+ #32 Fix sharing of hash salt across parsers;
1129
+ relevant where XML_ExternalEntityParserCreate is called
1130
+ prior to XML_Parse, in particular (e.g. FBReader)
1131
+ #28 xmlwf: Auto-disable use of memory-mapping (and parsing
1132
+ as a single chunk) for files larger than ~1 GB (2^30 bytes)
1133
+ rather than failing with error "out of memory"
1134
+ #3 Fix double free after malloc failure in DTD code; commit
1135
+ 7ae9c3d3af433cd4defe95234eae7dc8ed15637f
1136
+ #17 Fix memory leak on parser error for unbound XML attribute
1137
+ prefix with new namespaces defined in the same tag;
1138
+ found by Google's OSS-Fuzz; commits
1139
+ * 16f87daae5a16132e479e4f71862128c7a915c73
1140
+ * b47dbc9745932c160893d433220e462bd605f8cd
1141
+ xmlwf on Windows: Add missing calls to CloseHandle
1142
+
1143
+ New features:
1144
+ #30 Introduced environment switch EXPAT_ENTROPY_DEBUG=1
1145
+ for runtime debugging of entropy extraction
1146
+
1147
+ Other changes:
1148
+ Increase code coverage
1149
+ #33 Reject use of XML_UNICODE_WCHAR_T with sizeof(wchar_t) != 2;
1150
+ XML_UNICODE_WCHAR_T was never meant to be used outside
1151
+ of Windows; 4-byte wchar_t is common on Linux
1152
+ (SF.net) #538 Start using -fno-strict-aliasing
1153
+ (SF.net) #540 Support compilation against cloudlibc of CloudABI
1154
+ Allow MinGW cross-compilation
1155
+ (SF.net) #534 CMake: Introduce option "BUILD_doc" (enabled by default)
1156
+ to bypass compilation of the xmlwf.1 man page
1157
+ (SF.net) pr2 CMake: Introduce option "INSTALL" (enabled by default)
1158
+ to bypass installation of expat files
1159
+ CMake: Fix ninja support
1160
+ Autotools: Add parameters --enable-xml-context [COUNT]
1161
+ and --disable-xml-context; default of context of 1024
1162
+ bytes enabled unchanged
1163
+ #14 Drop AmigaOS 4.x code and includes
1164
+ #14 Drop ancient build systems:
1165
+ * Borland C++ Builder
1166
+ * OpenVMS
1167
+ * Open Watcom
1168
+ * Visual Studio 6.0
1169
+ * Pre-X Mac OS (MPW Makefile)
1170
+ If you happen to rely on some of these, please get in
1171
+ touch for joining with maintenance.
1172
+ #10 Move from WIN32 to _WIN32
1173
+ #13 Fix "make run-xmltest" order instability
1174
+ Address compile warnings
1175
+ Bump version info from 7:2:6 to 7:3:6
1176
+ Add AUTHORS file
1177
+
1178
+ Infrastructure:
1179
+ #1 Migrate from SourceForge to GitHub (except downloads):
1180
+ https://github.com/libexpat/
1181
+ #1 Re-create http://libexpat.org/ project website
1182
+ Start utilizing Travis CI
1183
+
1184
+ Special thanks to:
1185
+ Andy Wang
1186
+ Don Lewis
1187
+ Ed Schouten
1188
+ Karl Waclawek
1189
+ Pascal Cuoq
1190
+ Rhodri James
1191
+ Sergei Nikulov
1192
+ Tobias Taschner
1193
+ Viktor Szakats
1194
+ and
1195
+ Core Infrastructure Initiative
1196
+ Mozilla Foundation (MOSS Track 3: Secure Open Source)
1197
+ Radically Open Security
1198
+
1199
+ Release 2.2.0 Tue June 21 2016
1200
+ Security fixes:
1201
+ #537 CVE-2016-0718 -- Fix crash on malformed input
1202
+ CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 /
1203
+ CVE-2015-2716 introduced with Expat 2.1.1
1204
+ #499 CVE-2016-5300 -- Use more entropy for hash initialization
1205
+ than the original fix to CVE-2012-0876
1206
+ #519 CVE-2012-6702 -- Resolve troublesome internal call to srand
1207
+ that was introduced with Expat 2.1.0
1208
+ when addressing CVE-2012-0876 (issue #496)
1209
+
1210
+ Bug fixes:
1211
+ Fix uninitialized reads of size 1
1212
+ (e.g. in little2_updatePosition)
1213
+ Fix detection of UTF-8 character boundaries
1214
+
1215
+ Other changes:
1216
+ #532 Fix compilation for Visual Studio 2010 (keyword "C99")
1217
+ Autotools: Resolve use of "$<" to better support bmake
1218
+ Autotools: Add QA script "qa.sh" (and make target "qa")
1219
+ Autotools: Respect CXXFLAGS if given
1220
+ Autotools: Fix "make run-xmltest"
1221
+ Autotools: Have "make run-xmltest" check for expected output
1222
+ p90 CMake: Fix static build (BUILD_shared=OFF) on Windows
1223
+ #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass
1224
+ #323 CMake: Add suffix "d" to differentiate debug from release
1225
+ CMake: Define WIN32 with CMake on Windows
1226
+ Annotate memory allocators for GCC
1227
+ Address all currently known compile warnings
1228
+ Make sure that API symbols remain visible despite
1229
+ -fvisibility=hidden
1230
+ Remove executable flag from source files
1231
+ Resolve COMPILED_FROM_DSP in favor of WIN32
1232
+
1233
+ Special thanks to:
1234
+ Björn Lindahl
1235
+ Christian Heimes
1236
+ Cristian Rodríguez
1237
+ Daniel Krügler
1238
+ Gustavo Grieco
1239
+ Karl Waclawek
1240
+ László Böszörményi
1241
+ Marco Grassi
1242
+ Pascal Cuoq
1243
+ Sergei Nikulov
1244
+ Thomas Beutlich
1245
+ Warren Young
1246
+ Yann Droneaud
1247
+
1248
+ Release 2.1.1 Sat March 12 2016
1249
+ Security fixes:
1250
+ #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer
1251
+
1252
+ Bug fixes:
1253
+ #502: Fix potential null pointer dereference
1254
+ #520: Symbol XML_SetHashSalt was not exported
1255
+ Output of "xmlwf -h" was incomplete
1256
+
1257
+ Other changes:
1258
+ #503: Document behavior of calling XML_SetHashSalt with salt 0
1259
+ Minor improvements to man page xmlwf(1)
1260
+ Improvements to the experimental CMake build system
1261
+ libtool now invoked with --verbose
1262
+
1263
+ Release 2.1.0 Sat March 24 2012
1264
+ - Security fixes:
1265
+ #2958794: CVE-2012-1148 - Memory leak in poolGrow.
1266
+ #2895533: CVE-2012-1147 - Resource leak in readfilemap.c.
1267
+ #3496608: CVE-2012-0876 - Hash DOS attack.
1268
+ #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8().
1269
+ #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences.
1270
+ - Bug Fixes:
1271
+ #1742315: Harmful XML_ParserCreateNS suggestion.
1272
+ #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3.
1273
+ #1983953, 2517952, 2517962, 2649838:
1274
+ Build modifications using autoreconf instead of buildconf.sh.
1275
+ #2815947, #2884086: OBJEXT and EXEEXT support while building.
1276
+ #2517938: xmlwf should return non-zero exit status if not well-formed.
1277
+ #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml.
1278
+ #2855609: Dangling positionPtr after error.
1279
+ #2990652: CMake support.
1280
+ #3010819: UNEXPECTED_STATE with a trailing "%" in entity value.
1281
+ #3206497: Uninitialized memory returned from XML_Parse.
1282
+ #3287849: make check fails on mingw-w64.
1283
+ - Patches:
1284
+ #1749198: pkg-config support.
1285
+ #3010222: Fix for bug #3010819.
1286
+ #3312568: CMake support.
1287
+ #3446384: Report byte offsets for attr names and values.
1288
+ - New Features / API changes:
1289
+ Added new API member XML_SetHashSalt() that allows setting an initial
1290
+ value (salt) for hash calculations. This is part of the fix for
1291
+ bug #3496608 to randomize hash parameters.
1292
+ When compiled with XML_ATTR_INFO defined, adds new API member
1293
+ XML_GetAttributeInfo() that allows retrieving the byte
1294
+ offsets for attribute names and values (patch #3446384).
1295
+ Added CMake build system.
1296
+ See bug #2990652 and patch #3312568.
1297
+ Added run-benchmark target to Makefile.in - relies on testdata module
1298
+ present in the same relative location as in the repository.
1299
+
1300
+ Release 2.0.1 Tue June 5 2007
1301
+ - Fixed bugs #1515266, #1515600: The character data handler's calling
1302
+ of XML_StopParser() was not handled properly; if the parser was
1303
+ stopped and the handler set to NULL, the parser would segfault.
1304
+ - Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed
1305
+ some character constants to be ASCII encoded.
1306
+ - Minor cleanups of the test harness.
1307
+ - Fixed xmlwf bug #1513566: "out of memory" error on file size zero.
1308
+ - Fixed outline.c bug #1543233: missing a final XML_ParserFree() call.
1309
+ - Fixes and improvements for Windows platform:
1310
+ bugs #1409451, #1476160, #1548182, #1602769, #1717322.
1311
+ - Build fixes for various platforms:
1312
+ HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180.
1313
+ All Unix: #1554618 (refreshed config.sub/config.guess).
1314
+ #1490371, #1613457: support both, DESTDIR and INSTALL_ROOT,
1315
+ without relying on GNU-Make specific features.
1316
+ #1647805: Patched configure.in to work better with Intel compiler.
1317
+ - Fixes to Makefile.in to have make check work correctly:
1318
+ bugs #1408143, #1535603, #1536684.
1319
+ - Added Open Watcom support: patch #1523242.
1320
+
1321
+ Release 2.0.0 Wed Jan 11 2006
1322
+ - We no longer use the "check" library for C unit testing; we
1323
+ always use the (partial) internal implementation of the API.
1324
+ - Report XML_NS setting via XML_GetFeatureList().
1325
+ - Fixed headers for use from C++.
1326
+ - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
1327
+ now return unsigned integers.
1328
+ - Added XML_LARGE_SIZE switch to enable 64-bit integers for
1329
+ byte indexes and line/column numbers.
1330
+ - Updated to use libtool 1.5.22 (the most recent).
1331
+ - Added support for AmigaOS.
1332
+ - Some mostly minor bug fixes. SF issues include: #1006708,
1333
+ #1021776, #1023646, #1114960, #1156398, #1221160, #1271642.
1334
+
1335
+ Release 1.95.8 Fri Jul 23 2004
1336
+ - Major new feature: suspend/resume. Handlers can now request
1337
+ that a parse be suspended for later resumption or aborted
1338
+ altogether. See "Temporarily Stopping Parsing" in the
1339
+ documentation for more details.
1340
+ - Some mostly minor bug fixes, but compilation should no
1341
+ longer generate warnings on most platforms. SF issues
1342
+ include: #827319, #840173, #846309, #888329, #896188, #923913,
1343
+ #928113, #961698, #985192.
1344
+
1345
+ Release 1.95.7 Mon Oct 20 2003
1346
+ - Fixed enum XML_Status issue (reported on SourceForge many
1347
+ times), so compilers that are properly picky will be happy.
1348
+ - Introduced an XMLCALL macro to control the calling
1349
+ convention used by the Expat API; this macro should be used
1350
+ to annotate prototypes and definitions of callback
1351
+ implementations in code compiled with a calling convention
1352
+ other than the default convention for the host platform.
1353
+ - Improved ability to build without the configure-generated
1354
+ expat_config.h header. This is useful for applications
1355
+ which embed Expat rather than linking in the library.
1356
+ - Fixed a variety of bugs: see SF issues #458907, #609603,
1357
+ #676844, #679754, #692878, #692964, #695401, #699323, #699487,
1358
+ #820946.
1359
+ - Improved hash table lookups.
1360
+ - Added more regression tests and improved documentation.
1361
+
1362
+ Release 1.95.6 Tue Jan 28 2003
1363
+ - Added XML_FreeContentModel().
1364
+ - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree().
1365
+ - Fixed a variety of bugs: see SF issues #615606, #616863,
1366
+ #618199, #653180, #673791.
1367
+ - Enhanced the regression test suite.
1368
+ - Man page improvements: includes SF issue #632146.
1369
+
1370
+ Release 1.95.5 Fri Sep 6 2002
1371
+ - Added XML_UseForeignDTD() for improved SAX2 support.
1372
+ - Added XML_GetFeatureList().
1373
+ - Defined XML_Bool type and the values XML_TRUE and XML_FALSE.
1374
+ - Use an incomplete struct instead of a void* for the parser
1375
+ (may not retain).
1376
+ - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected.
1377
+ - Finally fixed bug where default handler would report DTD
1378
+ events that were already handled by another handler.
1379
+ Initial patch contributed by Darryl Miles.
1380
+ - Removed unnecessary DllMain() function that caused static
1381
+ linking into a DLL to be difficult.
1382
+ - Added VC++ projects for building static libraries.
1383
+ - Reduced line-length for all source code and headers to be
1384
+ no longer than 80 characters, to help with AS/400 support.
1385
+ - Reduced memory copying during parsing (SF patch #600964).
1386
+ - Fixed a variety of bugs: see SF issues #580793, #434664,
1387
+ #483514, #580503, #581069, #584041, #584183, #584832, #585537,
1388
+ #596555, #596678, #598352, #598944, #599715, #600479, #600971.
1389
+
1390
+ Release 1.95.4 Fri Jul 12 2002
1391
+ - Added support for VMS, contributed by Craig Berry. See
1392
+ vms/README.vms for more information.
1393
+ - Added Mac OS (classic) support, with a makefile for MPW,
1394
+ contributed by Thomas Wegner and Daryle Walker.
1395
+ - Added Borland C++ Builder 5 / BCC 5.5 support, contributed
1396
+ by Patrick McConnell (SF patch #538032).
1397
+ - Fixed a variety of bugs: see SF issues #441449, #563184,
1398
+ #564342, #566334, #566901, #569461, #570263, #575168, #579196.
1399
+ - Made skippedEntityHandler conform to SAX2 (see source comment)
1400
+ - Re-implemented WFC: Entity Declared from XML 1.0 spec and
1401
+ added a new error "entity declared in parameter entity":
1402
+ see SF bug report #569461 and SF patch #578161
1403
+ - Re-implemented section 5.1 from XML 1.0 spec:
1404
+ see SF bug report #570263 and SF patch #578161
1405
+
1406
+ Release 1.95.3 Mon Jun 3 2002
1407
+ - Added a project to the MSVC workspace to create a wchar_t
1408
+ version of the library; the DLLs are named libexpatw.dll.
1409
+ - Changed the name of the Windows DLLs from expat.dll to
1410
+ libexpat.dll; this fixes SF bug #432456.
1411
+ - Added the XML_ParserReset() API function.
1412
+ - Fixed XML_SetReturnNSTriplet() to work for element names.
1413
+ - Made the XML_UNICODE builds usable (thanks, Karl!).
1414
+ - Allow xmlwf to read from standard input.
1415
+ - Install a man page for xmlwf on Unix systems.
1416
+ - Fixed many bugs; see SF bug reports #231864, #461380, #464837,
1417
+ #466885, #469226, #477667, #484419, #487840, #494749, #496505,
1418
+ #547350. Other bugs which we can't test as easily may also
1419
+ have been fixed, especially in the area of build support.
1420
+
1421
+ Release 1.95.2 Fri Jul 27 2001
1422
+ - More changes to make MSVC happy with the build; add a single
1423
+ workspace to support both the library and xmlwf application.
1424
+ - Added a Windows installer for Windows users; includes
1425
+ xmlwf.exe.
1426
+ - Added compile-time constants that can be used to determine the
1427
+ Expat version
1428
+ - Removed a lot of GNU-specific dependencies to aide portability
1429
+ among the various Unix flavors.
1430
+ - Fix the UTF-8 BOM bug.
1431
+ - Cleaned up warning messages for several compilers.
1432
+ - Added the -Wall, -Wstrict-prototypes options for GCC.
1433
+
1434
+ Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000
1435
+ - Changes to get expat to build under Microsoft compiler
1436
+ - Removed all aborts and instead return an UNEXPECTED_STATE error.
1437
+ - Fixed a bug where a stray '%' in an entity value would cause an
1438
+ abort.
1439
+ - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for
1440
+ finding this oversight.
1441
+ - Changed default patterns in lib/Makefile.in to fit non-GNU makes
1442
+ Thanks to robin@unrated.net for reporting and providing an
1443
+ account to test on.
1444
+ - The reference had the wrong label for XML_SetStartNamespaceDecl.
1445
+ Reported by an anonymous user.
1446
+
1447
+ Release 1.95.0 Fri Sep 29 2000
1448
+ - XML_ParserCreate_MM
1449
+ Allows you to set a memory management suite to replace the
1450
+ standard malloc,realloc, and free.
1451
+ - XML_SetReturnNSTriplet
1452
+ If you turn this feature on when namespace processing is in
1453
+ effect, then qualified, prefixed element and attribute names
1454
+ are returned as "uri|name|prefix" where '|' is whatever
1455
+ separator character is used in namespace processing.
1456
+ - Merged in features from perl-expat
1457
+ o XML_SetElementDeclHandler
1458
+ o XML_SetAttlistDeclHandler
1459
+ o XML_SetXmlDeclHandler
1460
+ o XML_SetEntityDeclHandler
1461
+ o StartDoctypeDeclHandler takes 3 additional parameters:
1462
+ sysid, pubid, has_internal_subset
1463
+ o Many paired handler setters (like XML_SetElementHandler)
1464
+ now have corresponding individual handler setters
1465
+ o XML_GetInputContext for getting the input context of
1466
+ the current parse position.
1467
+ - Added reference material
1468
+ - Packaged into a distribution that builds a sharable library