Skip to content

Commit 592d4ee

Browse files
committed
Update to libxslt-1.1.38
1 parent 5d70e63 commit 592d4ee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1393
-850
lines changed

NEWS

+107
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,112 @@
11
NEWS file for libxslt
22

3+
v1.1.38: not yet released
4+
5+
### Major changes
6+
7+
About 40 memory errors in code paths handling malloc failures have been fixed.
8+
While these issues shouldn't impact security, this improves robustness under
9+
memory pressure.
10+
11+
The result of generate-id() is now deterministic across multiple
12+
transformations fixing many issues with reproducible builds.
13+
14+
Most of the test suite has been ported to C.
15+
16+
### Bug fixes
17+
18+
- Fix memory errors in code handling malloc failures
19+
- imports: Fix import/include cycle check
20+
- xsltlocale: Fix xsltNewLocale on macOS
21+
- Make xsl:sort thread-safe
22+
- Make generate-id() deterministic
23+
24+
### Improvements
25+
26+
- Stop using xmlStringCurrentChar
27+
- attributes.h needs to include xsltInternals.h (David Kilzer)
28+
- transform: Avoid null deref on documents without root node
29+
- numbers: Fix floating point overflows
30+
- date: Fix integer overflow in exsltDateFormatDuration
31+
- numbers: Fix harmless integer sign change
32+
- date: Add more overflow checks to formatting code (David Kilzer)
33+
- date: Fix rounding to make Windows tests pass
34+
- date: Rewrite duration and seconds formatting
35+
- xsltlocale: Make API platform-independent
36+
- Also accept application/xslt+xml media type in stylesheet PIs
37+
- warnings: Fix strict prototypes warning
38+
- xsltEvalUserParams() and xsltQuoteUserParams() are susceptible to integer
39+
overflow when iterating through const char** array (David Kilzer)
40+
- xslt: Return NULL stylesheet on attribute set errors
41+
- xsltproc: Fix unused variable warning
42+
- xslt: Remove declaration for old libxml2
43+
- Fix various compiler warnings
44+
- Fix compiler warnings in xsltGenerateIdFunction
45+
- Disable Python bindings for debugger
46+
- Don't declare disabled functions
47+
- Migrate from PyEval_ to PyObject_
48+
49+
### Build system
50+
51+
- cmake: Use version script
52+
- autotools: Link with --undefined-version
53+
- win32: Remove broken libxslt.def.src
54+
- Stop updating version script
55+
- add support for Windows time functions (Rosen Penev)
56+
- cmake: link against libm on UNIX systems (Alex Richardson)
57+
- build: Add a distutils-based build system for the Python bits (Chun-wei Fan)
58+
- CMake: Relax check for Python 3.x support on Windows (Chun-wei Fan)
59+
- python/types.c: Fix building against older libxml2 (Chun-wei Fan)
60+
- python/libxslt.c: Replace ssize_t with Py_ssize_t (Chun-wei Fan)
61+
- cmake: Fix build with libxslt and libxml2 as subprojects
62+
- cmake: Set SOVERSION
63+
- cmake: Extract version from configure.ac
64+
- Fix classic Windows configuration for libexslt (Christoph M. Becker)
65+
- autotools: Fix Python tests in VPATH builds
66+
- autotools: Disable parallel Python build
67+
- autotools: Use AM_CFLAGS consistently
68+
- autotools: Link with -no-undefined
69+
- cmake: Fix Python installation
70+
- cmake: Don't check for Python 2
71+
- python: Don't output missing generators during build
72+
- python: Create .pyd on Windows
73+
- python: Fix build on Windows
74+
- python: Support Python 3 on Windows
75+
- cmake: Enable GCC compiler warnings
76+
- Update GCC compiler warnings
77+
78+
### Tests
79+
80+
- python: Remove temp file when running tests/basic.py
81+
- fuzz: Improve fuzzers
82+
- xsltlocale: Add test
83+
- gitlab-ci: Reenable MSan and LeakSanitizer
84+
- tests: Remove unused files
85+
- tests: Enable runtest.exe under MSVC
86+
- tests: Fix LIBXSLT_PLUGINS_PATH for multi-config CMake
87+
- tests: Remove unused leak statistics
88+
- tests: Skip some tests if iconv/ICU is disabled
89+
- gitlab-ci: Run Autotools tests with out-of-tree (VPATH) builds
90+
- tests: Port most of the test suite to C
91+
- tests: Fix out-of-tree Python tests
92+
- tests: Fix source directory for reports tests
93+
- gitlab-ci: Consolidate CMake test scripts
94+
- gitlab-ci: Only install cmake MinGW package if needed
95+
- gitlab-ci: Install 7-Zip using the .msi
96+
- gitlab-ci: Add CI job for MinGW/Autotools
97+
- gitlab-ci: Disable MSan for now
98+
- Run CI tests with -fsanitize=integer
99+
- Fix EXSLT functions tests when libxml2 is built --without-debug
100+
- Make CI tests exit on failure
101+
- Run Python 3 CI job with minimal configuration
102+
- Set library path when running Python tests
103+
104+
### Documentation
105+
106+
- doc: Remove unused cross-reference data
107+
- doc: Update apibuild.py
108+
109+
3110
v1.1.37: Aug 29 2022
4111

5112
### Improvements

README.libxslt

-22
This file was deleted.

README.libxslt.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# libxslt
2+
3+
libxslt is an XSLT processor based on libxml2.
4+
5+
Official releases can be downloaded from
6+
<https://download.gnome.org/sources/libxslt/>
7+
8+
The git repository is hosted on GNOME's GitLab server:
9+
<https://gitlab.gnome.org/GNOME/libxslt>
10+
11+
Bugs should be reported at
12+
<https://gitlab.gnome.org/GNOME/libxslt/-/issues>
13+
14+
Documentation is available at
15+
<https://gitlab.gnome.org/GNOME/libxslt/-/wikis>
16+
17+
The build system is similar to libxml2. Refer to libxml2's README for
18+
build instructions.
19+

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
libxslt Windows build with Visual Studio.
44

5-
This version is libxslt-1.1.37.
5+
This version is libxslt-1.1.38.
66

77
To build, simply open the required solution file, and
88
you know how to use Visual Studio, right?
File renamed without changes.

distfiles/download.url

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz
1+
https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.38.tar.xz

distfiles/libxslt-1.1.37.tar.xz

-1.51 MB
Binary file not shown.

distfiles/libxslt-1.1.37-import.lst distfiles/libxslt-1.1.38-import.lst

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Copyright
44
FEATURES
55
INSTALL
66
NEWS
7-
README.libxslt
7+
README.libxslt.md
88
TODO
99
libexslt/common.c
1010
libexslt/crypto.c

distfiles/libxslt-1.1.37-import.md5 distfiles/libxslt-1.1.38-import.md5

+30-30
Original file line numberDiff line numberDiff line change
@@ -3,64 +3,64 @@
33
0cd9a07afbeb24026c9b03aecfeba458 Copyright
44
0d9bd2fa90bd3a631ca9d9aabd801345 FEATURES
55
0204c456fe221f77aff226b90e9aab06 INSTALL
6-
bfe7ae3f107a7cc9d8ba2f2ca272ede4 NEWS
7-
2cd5c413477c4cca5f58c844b24318ee README.libxslt
6+
d7cebc6422d58054b1d4baef0f146ac0 NEWS
7+
eef64f647c5d3389744959576a6ab6fd README.libxslt.md
88
1671e62be479162b8d9a012c81bc235e TODO
99
8912730100a2f79c41f5dd2723a9a32b libexslt/common.c
10-
abd6fe16c1e66c6866e4fa68b6e9e620 libexslt/crypto.c
11-
6d9f576dde15c3f18bf7fcb55d1da637 libexslt/date.c
10+
31cb5041c0fe10fc539b2dcfdd647fa7 libexslt/crypto.c
11+
54e0b8f8d2d875173b189a5669db021b libexslt/date.c
1212
27f07a8c23bf140531135b50d73c1293 libexslt/dynamic.c
1313
d33e58bd10bcc83e0feabf76eb071ca6 libexslt/exslt.c
1414
e3f739c7235640b1ba7c8e8928a63c82 libexslt/exslt.h
1515
4a24ae19aba4feafb1acd0e8d4e880cb libexslt/exsltexports.h
16-
e004cfea8db1a626d9f588cac6b27a69 libexslt/functions.c
16+
a65c793f8696274d69d2217d328d5100 libexslt/functions.c
1717
7ce44d0060940ebdff26709d8ef46214 libexslt/libexslt.h
1818
5f0739e9a825c3623ba1b40b0008261f libexslt/math.c
19-
485d83ebcb259f92929003cb34e25a5a libexslt/saxon.c
20-
59e5c8ec67ff5756d4fdcf5bd1ec26fc libexslt/sets.c
19+
3bce123d618557a268f12b13c9457b4b libexslt/saxon.c
20+
3c0cf99d615b4758655a3a26929ae7c9 libexslt/sets.c
2121
2f356e14eb63ea5b11546456e423ba84 libexslt/strings.c
22-
1edb88fe7e65c84f20900f1719a23dd1 libxslt/attributes.c
23-
32e43c08f66b85266c391301d322a21f libxslt/attributes.h
24-
2a7eb72f2a1fff91f33cd870f1fd3d81 libxslt/attrvt.c
25-
8506606cb7e40b3b42355ae90c8c7710 libxslt/documents.c
22+
1196d3fb4f29723819f6da12cf695e27 libxslt/attributes.c
23+
2dd0d8f663f0bfbb044589e38c531265 libxslt/attributes.h
24+
ad65dd2bf68938a4a1df976f5de6b04b libxslt/attrvt.c
25+
488475fe4a9f28ce8684f349bd106025 libxslt/documents.c
2626
22a35bd1102fd1ac301e50cf650a8b8a libxslt/documents.h
27-
bb43105c3f470d13f4dcd6815ca8ebb7 libxslt/extensions.c
27+
217172ee7179f90d39dccaceeed82157 libxslt/extensions.c
2828
45e4867f0daebf1eb905471a4be5184c libxslt/extensions.h
2929
e203d3012061029953db472adc29f3d3 libxslt/extra.c
3030
94fe9ce1c0c47724aae4a1bcb8c29433 libxslt/extra.h
31-
4c2350efda4c8306a8e5bdb01cbea64a libxslt/functions.c
31+
9f5c347324987ef3a141d67af8791812 libxslt/functions.c
3232
052fd28e9971416b2bbebdc3d1103c4e libxslt/functions.h
33-
8a545af914f1af6e3c04f51ef2d990b9 libxslt/imports.c
33+
de7e58d6bd32c4ba69c59d0ef4f7a08e libxslt/imports.c
3434
66e26ad969e3c37fdeedcbc2716d7cf3 libxslt/imports.h
35-
b38ca3ac9714ce141a81d3d744385fbd libxslt/keys.c
35+
288a83e2af3c512f3dfbf84f3bbb084a libxslt/keys.c
3636
77a11ee3de841d02d3461b829cfcc11e libxslt/keys.h
3737
ae222b9c12da991dca0f511bbff72bed libxslt/libxslt.h
3838
e36c1ec3153a21e117c539ab6895bce9 libxslt/namespaces.c
3939
c784b4b8e80274491fe023ce26d4847b libxslt/namespaces.h
40-
9f8e790d17cceb5f86ea1c8cf381b663 libxslt/numbers.c
40+
6e68180e30aa824ca7e903262e3d4ab0 libxslt/numbers.c
4141
27c2c21ab1535f84710fe1c8c8829018 libxslt/numbersInternals.h
42-
da3f950984b9600b4c93049e222e4652 libxslt/pattern.c
42+
6575b99017a1102e2933fbcbc646c254 libxslt/pattern.c
4343
adf6b78e6c68a7d34ae680f6dc3f5240 libxslt/pattern.h
44-
85a671580a9c2f6ec532bb541b232d2c libxslt/preproc.c
44+
5958f0a1e95c4abb86654861af2918ce libxslt/preproc.c
4545
43092de4393f5033e08aea3b9ecb9012 libxslt/preproc.h
4646
a1c159b8ef369644004c880130c1e875 libxslt/security.c
4747
1b24b61ea6afe01d18c647c94b1245c7 libxslt/security.h
48-
be7fdf91a108b1665cc9444ba77dcb48 libxslt/templates.c
48+
10400c0cc26093c1dd9a1b1273cd20f3 libxslt/templates.c
4949
6901f4c8fad239b588b9f6d4cdfef5ac libxslt/templates.h
50-
ab3bbf86bebe1777cab10bf62cd4393f libxslt/transform.c
50+
62c1fa405343dcbce283cc4bf36abf5c libxslt/transform.c
5151
ccbcce4553f3231003b1944002814246 libxslt/transform.h
5252
7da7b1fcf378330699c7ecdd96908641 libxslt/trio.h
5353
e41149b088de4a04c067c85969f4db3c libxslt/triodef.h
54-
80b19bce204012f61307c8a567e78f48 libxslt/variables.c
55-
ebd9b3b1f996c4a2ed79d4473ff0fd77 libxslt/variables.h
54+
d42b039f528b04af5f95a524429f0d65 libxslt/variables.c
55+
08a56c0d4d50e48e897bf5eb4554d525 libxslt/variables.h
5656
30a96d6a98177fcdb5d23aa65a70f59d libxslt/win32config.h
57-
5a1b48024ee44d5012768a494b950ee4 libxslt/xslt.c
57+
776e881558938cc3a79833ef80d6a3e4 libxslt/xslt.c
5858
0c08b8e7223b72f822a58457520b6387 libxslt/xslt.h
59-
1d599c60fa05b7ba751670ff9c895166 libxslt/xsltInternals.h
59+
0c68b707553010c769cfa211c71da8f1 libxslt/xsltInternals.h
6060
f9de2ff0a2e168ccf84d1bed6339d41d libxslt/xsltexports.h
61-
e54227da6983f85521eec4353d4042f8 libxslt/xsltlocale.c
62-
3adab27b6239568b66bb52e944c1c55b libxslt/xsltlocale.h
63-
c9a8a38eec6bb786adfe19fe8d8e5e59 libxslt/xsltutils.c
64-
6d5acd33ca2b06520bc1159f331ab421 libxslt/xsltutils.h
65-
8fae823b9109770f82cfb5b77965db13 xsltproc/testThreads.c
66-
258c05e3f7d96e5c6e0b32c2d8a282f9 xsltproc/xsltproc.c
61+
3a32385f12c87b65be3d7ac16ec6926c libxslt/xsltlocale.c
62+
4727d11ba50f22aebbebc068d9bc1ec0 libxslt/xsltlocale.h
63+
bd4637142f205d1664246f15be69e3e4 libxslt/xsltutils.c
64+
9eeea4bbd2cbafc8a7ed24420cb9b11c libxslt/xsltutils.h
65+
f9b47b748a9212f0ac0e85b2abdaebd1 xsltproc/testThreads.c
66+
961dc002dcb359f04c3875a4dcc966a7 xsltproc/xsltproc.c

distfiles/libxslt-1.1.38.tar.xz

1.5 MB
Binary file not shown.

libexslt/crypto.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ exsltCryptoHex2Bin (const unsigned char *hex, int hexlen,
9494
else if (tmp >= 'a' && tmp <= 'f')
9595
lo = 10 + (tmp - 'a');
9696

97-
result = (unsigned char) (hi << 4);
97+
result = hi << 4;
9898
result += lo;
9999
bin[j++] = result;
100100
}

0 commit comments

Comments
 (0)