@cpp.js/package-expat 1.0.0 → 1.1.0

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 (58) hide show
  1. package/dist/prebuilt/Android-arm64-v8a/include/expat.h +3 -3
  2. package/dist/prebuilt/Android-arm64-v8a/include/expat_config.h +3 -3
  3. package/dist/prebuilt/Android-arm64-v8a/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat-config-version.cmake +3 -3
  4. package/dist/prebuilt/{Android-x86_64/lib/cmake/expat-2.6.4 → Android-arm64-v8a/lib/cmake/expat-2.7.1}/expat-noconfig.cmake +2 -2
  5. package/dist/prebuilt/{Emscripten-x86_64/lib/cmake/expat-2.6.4 → Android-arm64-v8a/lib/cmake/expat-2.7.1}/expat.cmake +2 -2
  6. package/dist/prebuilt/Android-arm64-v8a/lib/libexpat.la +2 -2
  7. package/dist/prebuilt/Android-arm64-v8a/lib/libexpat.so +0 -0
  8. package/dist/prebuilt/Android-arm64-v8a/lib/pkgconfig/expat.pc +1 -1
  9. package/dist/prebuilt/Android-arm64-v8a/share/doc/expat/changelog +121 -2
  10. package/dist/prebuilt/Android-x86_64/include/expat.h +3 -3
  11. package/dist/prebuilt/Android-x86_64/include/expat_config.h +3 -3
  12. package/dist/prebuilt/{iOS-iphonesimulator/lib/cmake/expat-2.6.4 → Android-x86_64/lib/cmake/expat-2.7.1}/expat-config-version.cmake +3 -3
  13. package/dist/prebuilt/{Emscripten-x86_64/lib/cmake/expat-2.6.4 → Android-x86_64/lib/cmake/expat-2.7.1}/expat-noconfig.cmake +2 -2
  14. package/dist/prebuilt/Android-x86_64/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat.cmake +2 -2
  15. package/dist/prebuilt/Android-x86_64/lib/libexpat.la +2 -2
  16. package/dist/prebuilt/Android-x86_64/lib/libexpat.so +0 -0
  17. package/dist/prebuilt/Android-x86_64/lib/pkgconfig/expat.pc +1 -1
  18. package/dist/prebuilt/Android-x86_64/share/doc/expat/changelog +121 -2
  19. package/dist/prebuilt/Emscripten-x86_64/include/expat.h +3 -3
  20. package/dist/prebuilt/Emscripten-x86_64/include/expat_config.h +3 -3
  21. package/dist/prebuilt/Emscripten-x86_64/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat-config-version.cmake +3 -3
  22. package/dist/prebuilt/{Android-arm64-v8a/lib/cmake/expat-2.6.4 → Emscripten-x86_64/lib/cmake/expat-2.7.1}/expat-noconfig.cmake +2 -2
  23. package/dist/prebuilt/{iOS-iphoneos/lib/cmake/expat-2.6.4 → Emscripten-x86_64/lib/cmake/expat-2.7.1}/expat.cmake +2 -2
  24. package/dist/prebuilt/Emscripten-x86_64/lib/libexpat.a +0 -0
  25. package/dist/prebuilt/Emscripten-x86_64/lib/libexpat.la +2 -2
  26. package/dist/prebuilt/Emscripten-x86_64/lib/pkgconfig/expat.pc +1 -1
  27. package/dist/prebuilt/Emscripten-x86_64/share/doc/expat/changelog +121 -2
  28. package/dist/prebuilt/iOS-iphoneos/include/expat.h +3 -3
  29. package/dist/prebuilt/iOS-iphoneos/include/expat_config.h +3 -3
  30. package/dist/prebuilt/{Android-x86_64/lib/cmake/expat-2.6.4 → iOS-iphoneos/lib/cmake/expat-2.7.1}/expat-config-version.cmake +3 -3
  31. package/dist/prebuilt/{iOS-iphonesimulator/lib/cmake/expat-2.6.4 → iOS-iphoneos/lib/cmake/expat-2.7.1}/expat-noconfig.cmake +2 -2
  32. package/dist/prebuilt/{Android-arm64-v8a/lib/cmake/expat-2.6.4 → iOS-iphoneos/lib/cmake/expat-2.7.1}/expat.cmake +2 -2
  33. package/dist/prebuilt/iOS-iphoneos/lib/libexpat.a +0 -0
  34. package/dist/prebuilt/iOS-iphoneos/lib/libexpat.la +2 -2
  35. package/dist/prebuilt/iOS-iphoneos/lib/pkgconfig/expat.pc +1 -1
  36. package/dist/prebuilt/iOS-iphoneos/share/doc/expat/changelog +121 -2
  37. package/dist/prebuilt/iOS-iphonesimulator/include/expat.h +3 -3
  38. package/dist/prebuilt/iOS-iphonesimulator/include/expat_config.h +3 -3
  39. package/dist/prebuilt/{iOS-iphoneos/lib/cmake/expat-2.6.4 → iOS-iphonesimulator/lib/cmake/expat-2.7.1}/expat-config-version.cmake +3 -3
  40. package/dist/prebuilt/{iOS-iphoneos/lib/cmake/expat-2.6.4 → iOS-iphonesimulator/lib/cmake/expat-2.7.1}/expat-noconfig.cmake +2 -2
  41. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/expat-2.7.1/expat.cmake +107 -0
  42. package/dist/prebuilt/iOS-iphonesimulator/lib/libexpat.a +0 -0
  43. package/dist/prebuilt/iOS-iphonesimulator/lib/libexpat.la +2 -2
  44. package/dist/prebuilt/iOS-iphonesimulator/lib/pkgconfig/expat.pc +1 -1
  45. package/dist/prebuilt/iOS-iphonesimulator/share/doc/expat/changelog +121 -2
  46. package/expat.xcframework/ios-arm64_arm64e/Headers/expat.h +3 -3
  47. package/expat.xcframework/ios-arm64_arm64e/Headers/expat_config.h +3 -3
  48. package/expat.xcframework/ios-arm64_arm64e/libexpat.a +0 -0
  49. package/expat.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/expat.h +3 -3
  50. package/expat.xcframework/ios-arm64_arm64e_x86_64-simulator/Headers/expat_config.h +3 -3
  51. package/expat.xcframework/ios-arm64_arm64e_x86_64-simulator/libexpat.a +0 -0
  52. package/package.json +3 -3
  53. package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/expat-2.6.4/expat.cmake +0 -107
  54. /package/dist/prebuilt/Android-arm64-v8a/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat-config.cmake +0 -0
  55. /package/dist/prebuilt/Android-x86_64/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat-config.cmake +0 -0
  56. /package/dist/prebuilt/Emscripten-x86_64/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat-config.cmake +0 -0
  57. /package/dist/prebuilt/iOS-iphoneos/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat-config.cmake +0 -0
  58. /package/dist/prebuilt/iOS-iphonesimulator/lib/cmake/{expat-2.6.4 → expat-2.7.1}/expat-config.cmake +0 -0
@@ -11,7 +11,7 @@
11
11
  Copyright (c) 2000-2005 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
12
12
  Copyright (c) 2001-2002 Greg Stein <gstein@users.sourceforge.net>
13
13
  Copyright (c) 2002-2016 Karl Waclawek <karl@waclawek.net>
14
- Copyright (c) 2016-2024 Sebastian Pipping <sebastian@pipping.org>
14
+ Copyright (c) 2016-2025 Sebastian Pipping <sebastian@pipping.org>
15
15
  Copyright (c) 2016 Cristian Rodríguez <crrodriguez@opensuse.org>
16
16
  Copyright (c) 2016 Thomas Beutlich <tc@tbeu.de>
17
17
  Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
@@ -1067,8 +1067,8 @@ XML_SetReparseDeferralEnabled(XML_Parser parser, XML_Bool enabled);
1067
1067
  See https://semver.org
1068
1068
  */
1069
1069
  #define XML_MAJOR_VERSION 2
1070
- #define XML_MINOR_VERSION 6
1071
- #define XML_MICRO_VERSION 4
1070
+ #define XML_MINOR_VERSION 7
1071
+ #define XML_MICRO_VERSION 1
1072
1072
 
1073
1073
  #ifdef __cplusplus
1074
1074
  }
@@ -83,7 +83,7 @@
83
83
  #define PACKAGE_NAME "expat"
84
84
 
85
85
  /* Define to the full name and version of this package. */
86
- #define PACKAGE_STRING "expat 2.6.4"
86
+ #define PACKAGE_STRING "expat 2.7.1"
87
87
 
88
88
  /* Define to the one symbol short name of this package. */
89
89
  #define PACKAGE_TARNAME "expat"
@@ -92,7 +92,7 @@
92
92
  #define PACKAGE_URL ""
93
93
 
94
94
  /* Define to the version of this package. */
95
- #define PACKAGE_VERSION "2.6.4"
95
+ #define PACKAGE_VERSION "2.7.1"
96
96
 
97
97
  /* Define to 1 if all of the C90 standard headers exist (not just the ones
98
98
  required in a freestanding environment). This macro is provided for
@@ -100,7 +100,7 @@
100
100
  #define STDC_HEADERS 1
101
101
 
102
102
  /* Version number of package */
103
- #define VERSION "2.6.4"
103
+ #define VERSION "2.7.1"
104
104
 
105
105
  /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
106
106
  significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -9,19 +9,19 @@
9
9
  # The variable CVF_VERSION must be set before calling configure_file().
10
10
 
11
11
 
12
- set(PACKAGE_VERSION "2.6.4")
12
+ set(PACKAGE_VERSION "2.7.1")
13
13
 
14
14
  if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
15
15
  set(PACKAGE_VERSION_COMPATIBLE FALSE)
16
16
  else()
17
17
 
18
- if("2.6.4" MATCHES "^([0-9]+)\\.")
18
+ if("2.7.1" MATCHES "^([0-9]+)\\.")
19
19
  set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
20
20
  if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
21
21
  string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
22
22
  endif()
23
23
  else()
24
- set(CVF_VERSION_MAJOR "2.6.4")
24
+ set(CVF_VERSION_MAJOR "2.7.1")
25
25
  endif()
26
26
 
27
27
  if(PACKAGE_FIND_VERSION_RANGE)
@@ -8,12 +8,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
8
8
  # Import target "expat::expat" for configuration "NoConfig"
9
9
  set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
10
10
  set_target_properties(expat::expat PROPERTIES
11
- IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.0"
11
+ IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.2"
12
12
  IMPORTED_SONAME_NOCONFIG "libexpat.so.1"
13
13
  )
14
14
 
15
15
  list(APPEND _cmake_import_check_targets expat::expat )
16
- list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.0" )
16
+ list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.2" )
17
17
 
18
18
  # Commands beyond this point should not need to know the version.
19
19
  set(CMAKE_IMPORT_FILE_VERSION)
@@ -1,13 +1,13 @@
1
1
  # Generated by CMake
2
2
 
3
3
  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
4
- message(FATAL_ERROR "CMake >= 2.8.0 required")
4
+ message(FATAL_ERROR "CMake >= 2.8.12 required")
5
5
  endif()
6
6
  if(CMAKE_VERSION VERSION_LESS "2.8.12")
7
7
  message(FATAL_ERROR "CMake >= 2.8.12 required")
8
8
  endif()
9
9
  cmake_policy(PUSH)
10
- cmake_policy(VERSION 2.8.12...3.28)
10
+ cmake_policy(VERSION 2.8.12...3.29)
11
11
  #----------------------------------------------------------------
12
12
  # Generated CMake target import file.
13
13
  #----------------------------------------------------------------
@@ -1,5 +1,5 @@
1
1
  # libexpat.la - a libtool library file
2
- # Generated by libtool (GNU libtool) 2.5.3
2
+ # Generated by libtool (GNU libtool) 2.5.4
3
3
  #
4
4
  # Please DO NOT delete this file!
5
5
  # It is necessary for linking the library.
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libexpat.
26
26
  current=11
27
27
  age=10
28
- revision=0
28
+ revision=2
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -4,7 +4,7 @@ libdir=${exec_prefix}/lib
4
4
  includedir=${prefix}/include
5
5
 
6
6
  Name: expat
7
- Version: 2.6.4
7
+ Version: 2.7.1
8
8
  Description: expat XML parser
9
9
  URL: https://libexpat.github.io/
10
10
  Libs: -L${libdir} -lexpat
@@ -11,16 +11,23 @@
11
11
  !! The following topics need *additional skilled C developers* to progress !!
12
12
  !! in a timely manner or at all (loosely ordered by descending priority): !!
13
13
  !! !!
14
- !! - <blink>fixing a complex non-public security issue</blink>, !!
15
14
  !! - teaming up on researching and fixing future security reports and !!
16
15
  !! ClusterFuzz findings with few-days-max response times in communication !!
17
16
  !! in order to (1) have a sound fix ready before the end of a 90 days !!
18
17
  !! grace period and (2) in a sustainable manner, !!
18
+ !! - helping CPython Expat bindings with supporting Expat's billion laughs !!
19
+ !! attack protection API (https://github.com/python/cpython/issues/90949): !!
20
+ !! - XML_SetBillionLaughsAttackProtectionActivationThreshold !!
21
+ !! - XML_SetBillionLaughsAttackProtectionMaximumAmplification !!
22
+ !! - helping Perl's XML::Parser Expat bindings with supporting Expat's !!
23
+ !! security API (https://github.com/cpan-authors/XML-Parser/issues/102): !!
24
+ !! - XML_SetBillionLaughsAttackProtectionActivationThreshold !!
25
+ !! - XML_SetBillionLaughsAttackProtectionMaximumAmplification !!
26
+ !! - XML_SetReparseDeferralEnabled !!
19
27
  !! - implementing and auto-testing XML 1.0r5 support !!
20
28
  !! (needs discussion before pull requests), !!
21
29
  !! - smart ideas on fixing the Autotools CMake files generation issue !!
22
30
  !! without breaking CI (needs discussion before pull requests), !!
23
- !! - the Windows binaries topic (needs requirements engineering first), !!
24
31
  !! - pushing migration from `int` to `size_t` further !!
25
32
  !! including edge-cases test coverage (needs discussion before anything). !!
26
33
  !! !!
@@ -30,6 +37,116 @@
30
37
  !! THANK YOU! Sebastian Pipping -- Berlin, 2024-03-09 !!
31
38
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32
39
 
40
+ Release 2.7.1 Thu March 27 2025
41
+ Bug fixes:
42
+ #980 #989 Restore event pointer behavior from Expat 2.6.4
43
+ (that the fix to CVE-2024-8176 changed in 2.7.0);
44
+ affected API functions are:
45
+ - XML_GetCurrentByteCount
46
+ - XML_GetCurrentByteIndex
47
+ - XML_GetCurrentColumnNumber
48
+ - XML_GetCurrentLineNumber
49
+ - XML_GetInputContext
50
+
51
+ Other changes:
52
+ #976 #977 Autotools: Integrate files "fuzz/xml_lpm_fuzzer.{cpp,proto}"
53
+ with Automake that were missing from 2.7.0 release tarballs
54
+ #983 #984 Fix printf format specifiers for 32bit Emscripten
55
+ #992 docs: Promote OpenSSF Best Practices self-certification
56
+ #978 tests/benchmark: Resolve mistaken double close
57
+ #986 Address compiler warnings
58
+ #990 #993 Version info bumped from 11:1:10 (libexpat*.so.1.10.1)
59
+ to 11:2:10 (libexpat*.so.1.10.2); see https://verbump.de/
60
+ for what these numbers do
61
+
62
+ Infrastructure:
63
+ #982 CI: Start running Perl XML::Parser integration tests
64
+ #987 CI: Enforce Clang Static Analyzer clean code
65
+ #991 CI: Re-enable warning clang-analyzer-valist.Uninitialized
66
+ for clang-tidy
67
+ #981 CI: Cover compilation with musl
68
+ #983 #984 CI: Cover compilation with 32bit Emscripten
69
+ #976 #977 CI: Protect against fuzzer files missing from future
70
+ release archives
71
+
72
+ Special thanks to:
73
+ Berkay Eren Ürün
74
+ Matthew Fernandez
75
+ and
76
+ Perl XML::Parser
77
+
78
+ Release 2.7.0 Thu March 13 2025
79
+ Security fixes:
80
+ #893 #973 CVE-2024-8176 -- Fix crash from chaining a large number
81
+ of entities caused by stack overflow by resolving use of
82
+ recursion, for all three uses of entities:
83
+ - general entities in character data ("<e>&g1;</e>")
84
+ - general entities in attribute values ("<e k1='&g1;'/>")
85
+ - parameter entities ("%p1;")
86
+ Known impact is (reliable and easy) denial of service:
87
+ CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:H/RL:O/RC:C
88
+ (Base Score: 7.5, Temporal Score: 7.2)
89
+ Please note that a layer of compression around XML can
90
+ significantly reduce the minimum attack payload size.
91
+
92
+ Other changes:
93
+ #935 #937 Autotools: Make generated CMake files look for
94
+ libexpat.@SO_MAJOR@.dylib on macOS
95
+ #925 Autotools: Sync CMake templates with CMake 3.29
96
+ #945 #962 #966 CMake: Drop support for CMake <3.13
97
+ #942 CMake: Small fuzzing related improvements
98
+ #921 docs: Add missing documentation of error code
99
+ XML_ERROR_NOT_STARTED that was introduced with 2.6.4
100
+ #941 docs: Document need for C++11 compiler for use from C++
101
+ #959 tests/benchmark: Fix a (harmless) TOCTTOU
102
+ #944 Windows: Fix installer target location of file xmlwf.xml
103
+ for CMake
104
+ #953 Windows: Address warning -Wunknown-warning-option
105
+ about -Wno-pedantic-ms-format from LLVM MinGW
106
+ #971 Address Cppcheck warnings
107
+ #969 #970 Mass-migrate links from http:// to https://
108
+ #947 #958 ..
109
+ #974 #975 Document changes since the previous release
110
+ #974 #975 Version info bumped from 11:0:10 (libexpat*.so.1.10.0)
111
+ to 11:1:10 (libexpat*.so.1.10.1); see https://verbump.de/
112
+ for what these numbers do
113
+
114
+ Infrastructure:
115
+ #926 tests: Increase robustness
116
+ #927 #932 ..
117
+ #930 #933 tests: Increase test coverage
118
+ #617 #950 ..
119
+ #951 #952 ..
120
+ #954 #955 .. Fuzzing: Add new fuzzer "xml_lpm_fuzzer" based on
121
+ #961 Google's libprotobuf-mutator ("LPM")
122
+ #957 Fuzzing|CI: Start producing fuzzing code coverage reports
123
+ #936 CI: Pass -q -q for LCOV >=2.1 in coverage.sh
124
+ #942 CI: Small fuzzing related improvements
125
+ #139 #203 ..
126
+ #791 #946 CI: Make GitHub Actions build using MSVC on Windows and
127
+ produce 32bit and 64bit Windows binaries
128
+ #956 CI: Get off of about-to-be-removed Ubuntu 20.04
129
+ #960 #964 CI: Start uploading to Coverity Scan for static analysis
130
+ #972 CI: Stop loading DTD from the internet to address flaky CI
131
+ #971 CI: Adapt to breaking changes in Cppcheck
132
+
133
+ Special thanks to:
134
+ Alexander Gieringer
135
+ Berkay Eren Ürün
136
+ Hanno Böck
137
+ Jann Horn
138
+ Mark Brand
139
+ Sebastian Andrzej Siewior
140
+ Snild Dolkow
141
+ Thomas Pröll
142
+ Tomas Korbar
143
+ valord577
144
+ and
145
+ Google Project Zero
146
+ Linutronix
147
+ Red Hat
148
+ Siemens
149
+
33
150
  Release 2.6.4 Wed November 6 2024
34
151
  Security fixes:
35
152
  #915 CVE-2024-50602 -- Fix crash within function XML_ResumeParser
@@ -46,6 +163,8 @@ Release 2.6.4 Wed November 6 2024
46
163
  #904 tests: Resolve duplicate handler
47
164
  #317 #918 tests: Improve tests on doctype closing (ex CVE-2019-15903)
48
165
  #914 Fix signedness of format strings
166
+ #915 For use from C++, expat.h started requiring C++11 due to
167
+ use of C99 features
49
168
  #919 #920 Version info bumped from 10:3:9 (libexpat*.so.1.9.3)
50
169
  to 11:0:10 (libexpat*.so.1.10.0); see https://verbump.de/
51
170
  for what these numbers do
@@ -11,7 +11,7 @@
11
11
  Copyright (c) 2000-2005 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
12
12
  Copyright (c) 2001-2002 Greg Stein <gstein@users.sourceforge.net>
13
13
  Copyright (c) 2002-2016 Karl Waclawek <karl@waclawek.net>
14
- Copyright (c) 2016-2024 Sebastian Pipping <sebastian@pipping.org>
14
+ Copyright (c) 2016-2025 Sebastian Pipping <sebastian@pipping.org>
15
15
  Copyright (c) 2016 Cristian Rodríguez <crrodriguez@opensuse.org>
16
16
  Copyright (c) 2016 Thomas Beutlich <tc@tbeu.de>
17
17
  Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
@@ -1067,8 +1067,8 @@ XML_SetReparseDeferralEnabled(XML_Parser parser, XML_Bool enabled);
1067
1067
  See https://semver.org
1068
1068
  */
1069
1069
  #define XML_MAJOR_VERSION 2
1070
- #define XML_MINOR_VERSION 6
1071
- #define XML_MICRO_VERSION 4
1070
+ #define XML_MINOR_VERSION 7
1071
+ #define XML_MICRO_VERSION 1
1072
1072
 
1073
1073
  #ifdef __cplusplus
1074
1074
  }
@@ -83,7 +83,7 @@
83
83
  #define PACKAGE_NAME "expat"
84
84
 
85
85
  /* Define to the full name and version of this package. */
86
- #define PACKAGE_STRING "expat 2.6.4"
86
+ #define PACKAGE_STRING "expat 2.7.1"
87
87
 
88
88
  /* Define to the one symbol short name of this package. */
89
89
  #define PACKAGE_TARNAME "expat"
@@ -92,7 +92,7 @@
92
92
  #define PACKAGE_URL ""
93
93
 
94
94
  /* Define to the version of this package. */
95
- #define PACKAGE_VERSION "2.6.4"
95
+ #define PACKAGE_VERSION "2.7.1"
96
96
 
97
97
  /* Define to 1 if all of the C90 standard headers exist (not just the ones
98
98
  required in a freestanding environment). This macro is provided for
@@ -100,7 +100,7 @@
100
100
  #define STDC_HEADERS 1
101
101
 
102
102
  /* Version number of package */
103
- #define VERSION "2.6.4"
103
+ #define VERSION "2.7.1"
104
104
 
105
105
  /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
106
106
  significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -9,19 +9,19 @@
9
9
  # The variable CVF_VERSION must be set before calling configure_file().
10
10
 
11
11
 
12
- set(PACKAGE_VERSION "2.6.4")
12
+ set(PACKAGE_VERSION "2.7.1")
13
13
 
14
14
  if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
15
15
  set(PACKAGE_VERSION_COMPATIBLE FALSE)
16
16
  else()
17
17
 
18
- if("2.6.4" MATCHES "^([0-9]+)\\.")
18
+ if("2.7.1" MATCHES "^([0-9]+)\\.")
19
19
  set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
20
20
  if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
21
21
  string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
22
22
  endif()
23
23
  else()
24
- set(CVF_VERSION_MAJOR "2.6.4")
24
+ set(CVF_VERSION_MAJOR "2.7.1")
25
25
  endif()
26
26
 
27
27
  if(PACKAGE_FIND_VERSION_RANGE)
@@ -8,12 +8,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
8
8
  # Import target "expat::expat" for configuration "NoConfig"
9
9
  set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
10
10
  set_target_properties(expat::expat PROPERTIES
11
- IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.0"
11
+ IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.2"
12
12
  IMPORTED_SONAME_NOCONFIG "libexpat.so.1"
13
13
  )
14
14
 
15
15
  list(APPEND _cmake_import_check_targets expat::expat )
16
- list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.0" )
16
+ list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.2" )
17
17
 
18
18
  # Commands beyond this point should not need to know the version.
19
19
  set(CMAKE_IMPORT_FILE_VERSION)
@@ -1,13 +1,13 @@
1
1
  # Generated by CMake
2
2
 
3
3
  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
4
- message(FATAL_ERROR "CMake >= 2.8.0 required")
4
+ message(FATAL_ERROR "CMake >= 2.8.12 required")
5
5
  endif()
6
6
  if(CMAKE_VERSION VERSION_LESS "2.8.12")
7
7
  message(FATAL_ERROR "CMake >= 2.8.12 required")
8
8
  endif()
9
9
  cmake_policy(PUSH)
10
- cmake_policy(VERSION 2.8.12...3.28)
10
+ cmake_policy(VERSION 2.8.12...3.29)
11
11
  #----------------------------------------------------------------
12
12
  # Generated CMake target import file.
13
13
  #----------------------------------------------------------------
@@ -1,5 +1,5 @@
1
1
  # libexpat.la - a libtool library file
2
- # Generated by libtool (GNU libtool) 2.5.3
2
+ # Generated by libtool (GNU libtool) 2.5.4
3
3
  #
4
4
  # Please DO NOT delete this file!
5
5
  # It is necessary for linking the library.
@@ -25,7 +25,7 @@ weak_library_names=''
25
25
  # Version information for libexpat.
26
26
  current=11
27
27
  age=10
28
- revision=0
28
+ revision=2
29
29
 
30
30
  # Is this an already installed library?
31
31
  installed=yes
@@ -4,7 +4,7 @@ libdir=${exec_prefix}/lib
4
4
  includedir=${prefix}/include
5
5
 
6
6
  Name: expat
7
- Version: 2.6.4
7
+ Version: 2.7.1
8
8
  Description: expat XML parser
9
9
  URL: https://libexpat.github.io/
10
10
  Libs: -L${libdir} -lexpat
@@ -11,16 +11,23 @@
11
11
  !! The following topics need *additional skilled C developers* to progress !!
12
12
  !! in a timely manner or at all (loosely ordered by descending priority): !!
13
13
  !! !!
14
- !! - <blink>fixing a complex non-public security issue</blink>, !!
15
14
  !! - teaming up on researching and fixing future security reports and !!
16
15
  !! ClusterFuzz findings with few-days-max response times in communication !!
17
16
  !! in order to (1) have a sound fix ready before the end of a 90 days !!
18
17
  !! grace period and (2) in a sustainable manner, !!
18
+ !! - helping CPython Expat bindings with supporting Expat's billion laughs !!
19
+ !! attack protection API (https://github.com/python/cpython/issues/90949): !!
20
+ !! - XML_SetBillionLaughsAttackProtectionActivationThreshold !!
21
+ !! - XML_SetBillionLaughsAttackProtectionMaximumAmplification !!
22
+ !! - helping Perl's XML::Parser Expat bindings with supporting Expat's !!
23
+ !! security API (https://github.com/cpan-authors/XML-Parser/issues/102): !!
24
+ !! - XML_SetBillionLaughsAttackProtectionActivationThreshold !!
25
+ !! - XML_SetBillionLaughsAttackProtectionMaximumAmplification !!
26
+ !! - XML_SetReparseDeferralEnabled !!
19
27
  !! - implementing and auto-testing XML 1.0r5 support !!
20
28
  !! (needs discussion before pull requests), !!
21
29
  !! - smart ideas on fixing the Autotools CMake files generation issue !!
22
30
  !! without breaking CI (needs discussion before pull requests), !!
23
- !! - the Windows binaries topic (needs requirements engineering first), !!
24
31
  !! - pushing migration from `int` to `size_t` further !!
25
32
  !! including edge-cases test coverage (needs discussion before anything). !!
26
33
  !! !!
@@ -30,6 +37,116 @@
30
37
  !! THANK YOU! Sebastian Pipping -- Berlin, 2024-03-09 !!
31
38
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32
39
 
40
+ Release 2.7.1 Thu March 27 2025
41
+ Bug fixes:
42
+ #980 #989 Restore event pointer behavior from Expat 2.6.4
43
+ (that the fix to CVE-2024-8176 changed in 2.7.0);
44
+ affected API functions are:
45
+ - XML_GetCurrentByteCount
46
+ - XML_GetCurrentByteIndex
47
+ - XML_GetCurrentColumnNumber
48
+ - XML_GetCurrentLineNumber
49
+ - XML_GetInputContext
50
+
51
+ Other changes:
52
+ #976 #977 Autotools: Integrate files "fuzz/xml_lpm_fuzzer.{cpp,proto}"
53
+ with Automake that were missing from 2.7.0 release tarballs
54
+ #983 #984 Fix printf format specifiers for 32bit Emscripten
55
+ #992 docs: Promote OpenSSF Best Practices self-certification
56
+ #978 tests/benchmark: Resolve mistaken double close
57
+ #986 Address compiler warnings
58
+ #990 #993 Version info bumped from 11:1:10 (libexpat*.so.1.10.1)
59
+ to 11:2:10 (libexpat*.so.1.10.2); see https://verbump.de/
60
+ for what these numbers do
61
+
62
+ Infrastructure:
63
+ #982 CI: Start running Perl XML::Parser integration tests
64
+ #987 CI: Enforce Clang Static Analyzer clean code
65
+ #991 CI: Re-enable warning clang-analyzer-valist.Uninitialized
66
+ for clang-tidy
67
+ #981 CI: Cover compilation with musl
68
+ #983 #984 CI: Cover compilation with 32bit Emscripten
69
+ #976 #977 CI: Protect against fuzzer files missing from future
70
+ release archives
71
+
72
+ Special thanks to:
73
+ Berkay Eren Ürün
74
+ Matthew Fernandez
75
+ and
76
+ Perl XML::Parser
77
+
78
+ Release 2.7.0 Thu March 13 2025
79
+ Security fixes:
80
+ #893 #973 CVE-2024-8176 -- Fix crash from chaining a large number
81
+ of entities caused by stack overflow by resolving use of
82
+ recursion, for all three uses of entities:
83
+ - general entities in character data ("<e>&g1;</e>")
84
+ - general entities in attribute values ("<e k1='&g1;'/>")
85
+ - parameter entities ("%p1;")
86
+ Known impact is (reliable and easy) denial of service:
87
+ CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:H/RL:O/RC:C
88
+ (Base Score: 7.5, Temporal Score: 7.2)
89
+ Please note that a layer of compression around XML can
90
+ significantly reduce the minimum attack payload size.
91
+
92
+ Other changes:
93
+ #935 #937 Autotools: Make generated CMake files look for
94
+ libexpat.@SO_MAJOR@.dylib on macOS
95
+ #925 Autotools: Sync CMake templates with CMake 3.29
96
+ #945 #962 #966 CMake: Drop support for CMake <3.13
97
+ #942 CMake: Small fuzzing related improvements
98
+ #921 docs: Add missing documentation of error code
99
+ XML_ERROR_NOT_STARTED that was introduced with 2.6.4
100
+ #941 docs: Document need for C++11 compiler for use from C++
101
+ #959 tests/benchmark: Fix a (harmless) TOCTTOU
102
+ #944 Windows: Fix installer target location of file xmlwf.xml
103
+ for CMake
104
+ #953 Windows: Address warning -Wunknown-warning-option
105
+ about -Wno-pedantic-ms-format from LLVM MinGW
106
+ #971 Address Cppcheck warnings
107
+ #969 #970 Mass-migrate links from http:// to https://
108
+ #947 #958 ..
109
+ #974 #975 Document changes since the previous release
110
+ #974 #975 Version info bumped from 11:0:10 (libexpat*.so.1.10.0)
111
+ to 11:1:10 (libexpat*.so.1.10.1); see https://verbump.de/
112
+ for what these numbers do
113
+
114
+ Infrastructure:
115
+ #926 tests: Increase robustness
116
+ #927 #932 ..
117
+ #930 #933 tests: Increase test coverage
118
+ #617 #950 ..
119
+ #951 #952 ..
120
+ #954 #955 .. Fuzzing: Add new fuzzer "xml_lpm_fuzzer" based on
121
+ #961 Google's libprotobuf-mutator ("LPM")
122
+ #957 Fuzzing|CI: Start producing fuzzing code coverage reports
123
+ #936 CI: Pass -q -q for LCOV >=2.1 in coverage.sh
124
+ #942 CI: Small fuzzing related improvements
125
+ #139 #203 ..
126
+ #791 #946 CI: Make GitHub Actions build using MSVC on Windows and
127
+ produce 32bit and 64bit Windows binaries
128
+ #956 CI: Get off of about-to-be-removed Ubuntu 20.04
129
+ #960 #964 CI: Start uploading to Coverity Scan for static analysis
130
+ #972 CI: Stop loading DTD from the internet to address flaky CI
131
+ #971 CI: Adapt to breaking changes in Cppcheck
132
+
133
+ Special thanks to:
134
+ Alexander Gieringer
135
+ Berkay Eren Ürün
136
+ Hanno Böck
137
+ Jann Horn
138
+ Mark Brand
139
+ Sebastian Andrzej Siewior
140
+ Snild Dolkow
141
+ Thomas Pröll
142
+ Tomas Korbar
143
+ valord577
144
+ and
145
+ Google Project Zero
146
+ Linutronix
147
+ Red Hat
148
+ Siemens
149
+
33
150
  Release 2.6.4 Wed November 6 2024
34
151
  Security fixes:
35
152
  #915 CVE-2024-50602 -- Fix crash within function XML_ResumeParser
@@ -46,6 +163,8 @@ Release 2.6.4 Wed November 6 2024
46
163
  #904 tests: Resolve duplicate handler
47
164
  #317 #918 tests: Improve tests on doctype closing (ex CVE-2019-15903)
48
165
  #914 Fix signedness of format strings
166
+ #915 For use from C++, expat.h started requiring C++11 due to
167
+ use of C99 features
49
168
  #919 #920 Version info bumped from 10:3:9 (libexpat*.so.1.9.3)
50
169
  to 11:0:10 (libexpat*.so.1.10.0); see https://verbump.de/
51
170
  for what these numbers do
@@ -11,7 +11,7 @@
11
11
  Copyright (c) 2000-2005 Fred L. Drake, Jr. <fdrake@users.sourceforge.net>
12
12
  Copyright (c) 2001-2002 Greg Stein <gstein@users.sourceforge.net>
13
13
  Copyright (c) 2002-2016 Karl Waclawek <karl@waclawek.net>
14
- Copyright (c) 2016-2024 Sebastian Pipping <sebastian@pipping.org>
14
+ Copyright (c) 2016-2025 Sebastian Pipping <sebastian@pipping.org>
15
15
  Copyright (c) 2016 Cristian Rodríguez <crrodriguez@opensuse.org>
16
16
  Copyright (c) 2016 Thomas Beutlich <tc@tbeu.de>
17
17
  Copyright (c) 2017 Rhodri James <rhodri@wildebeest.org.uk>
@@ -1067,8 +1067,8 @@ XML_SetReparseDeferralEnabled(XML_Parser parser, XML_Bool enabled);
1067
1067
  See https://semver.org
1068
1068
  */
1069
1069
  #define XML_MAJOR_VERSION 2
1070
- #define XML_MINOR_VERSION 6
1071
- #define XML_MICRO_VERSION 4
1070
+ #define XML_MINOR_VERSION 7
1071
+ #define XML_MICRO_VERSION 1
1072
1072
 
1073
1073
  #ifdef __cplusplus
1074
1074
  }
@@ -83,7 +83,7 @@
83
83
  #define PACKAGE_NAME "expat"
84
84
 
85
85
  /* Define to the full name and version of this package. */
86
- #define PACKAGE_STRING "expat 2.6.4"
86
+ #define PACKAGE_STRING "expat 2.7.1"
87
87
 
88
88
  /* Define to the one symbol short name of this package. */
89
89
  #define PACKAGE_TARNAME "expat"
@@ -92,7 +92,7 @@
92
92
  #define PACKAGE_URL ""
93
93
 
94
94
  /* Define to the version of this package. */
95
- #define PACKAGE_VERSION "2.6.4"
95
+ #define PACKAGE_VERSION "2.7.1"
96
96
 
97
97
  /* Define to 1 if all of the C90 standard headers exist (not just the ones
98
98
  required in a freestanding environment). This macro is provided for
@@ -100,7 +100,7 @@
100
100
  #define STDC_HEADERS 1
101
101
 
102
102
  /* Version number of package */
103
- #define VERSION "2.6.4"
103
+ #define VERSION "2.7.1"
104
104
 
105
105
  /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
106
106
  significant byte first (like Motorola and SPARC, unlike Intel). */
@@ -9,19 +9,19 @@
9
9
  # The variable CVF_VERSION must be set before calling configure_file().
10
10
 
11
11
 
12
- set(PACKAGE_VERSION "2.6.4")
12
+ set(PACKAGE_VERSION "2.7.1")
13
13
 
14
14
  if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
15
15
  set(PACKAGE_VERSION_COMPATIBLE FALSE)
16
16
  else()
17
17
 
18
- if("2.6.4" MATCHES "^([0-9]+)\\.")
18
+ if("2.7.1" MATCHES "^([0-9]+)\\.")
19
19
  set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
20
20
  if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
21
21
  string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
22
22
  endif()
23
23
  else()
24
- set(CVF_VERSION_MAJOR "2.6.4")
24
+ set(CVF_VERSION_MAJOR "2.7.1")
25
25
  endif()
26
26
 
27
27
  if(PACKAGE_FIND_VERSION_RANGE)
@@ -8,12 +8,12 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
8
8
  # Import target "expat::expat" for configuration "NoConfig"
9
9
  set_property(TARGET expat::expat APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
10
10
  set_target_properties(expat::expat PROPERTIES
11
- IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.0"
11
+ IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.2"
12
12
  IMPORTED_SONAME_NOCONFIG "libexpat.so.1"
13
13
  )
14
14
 
15
15
  list(APPEND _cmake_import_check_targets expat::expat )
16
- list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.0" )
16
+ list(APPEND _cmake_import_check_files_for_expat::expat "${_IMPORT_PREFIX}/lib/libexpat.so.1.10.2" )
17
17
 
18
18
  # Commands beyond this point should not need to know the version.
19
19
  set(CMAKE_IMPORT_FILE_VERSION)