Skip to content

Commit 3954dbe

Browse files
authored
Update Zlib library dependency for PureLib (#4654)
2 parents b41093b + ac7db80 commit 3954dbe

Some content is hidden

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

114 files changed

+6298
-3674
lines changed

cgmanifest.json

+9
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,15 @@
5555
}
5656
}
5757
},
58+
{
59+
"component": {
60+
"type": "git",
61+
"git": {
62+
"repositoryUrl": "https://github.com/madler/zlib.git",
63+
"commitHash": "51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf"
64+
}
65+
}
66+
},
5867
{
5968
"component": {
6069
"type": "git",

src/PureLib/pure/README_zlib.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
Do not change code under the zlib directory; it contains madler/zlib source code.
44

5-
It is created using git subtree command and points to this specific commit [04f42ceca40f73e2978b50e93806c2a18c1281fc]:
5+
It is created using git subtree command and points to this specific commit [51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf]:
66

7-
git subtree add --prefix=src/PureLib/pure/zlib https://github.com/madler/zlib.git 04f42ceca40f73e2978b50e93806c2a18c1281fc --squash
7+
git subtree add --prefix=src/PureLib/pure/zlib https://github.com/madler/zlib.git 51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf --squash
88

9-
PureLib already has existing project files that compiles as part of the WinGet solution. Since PureLib has a dependency on the zlib library, the git subtree command is needed to keep the zlib library updated. Current zlib version: [1.2.13]
9+
PureLib already has existing project files that compiles as part of the WinGet solution. Since PureLib has a dependency on the zlib library, the git subtree command is needed to keep the zlib library updated. Current zlib version: [1.3.1]

src/PureLib/pure/zlib/.github/workflows/cmake.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454

5555
- name: macOS GCC
5656
os: macos-latest
57-
compiler: gcc-9
57+
compiler: gcc-11
5858

5959
steps:
6060
- name: Checkout repository

src/PureLib/pure/zlib/.github/workflows/configure.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585

8686
- name: macOS GCC
8787
os: macos-latest
88-
compiler: gcc-9
88+
compiler: gcc-11
8989
configure-args: --warn
9090

9191
- name: macOS Clang

src/PureLib/pure/zlib/.gitignore

+11-1
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,21 @@
1616
/example
1717
/example64
1818
/examplesh
19-
/libz.so*
19+
**/libz.so*
2020
/minigzip
2121
/minigzip64
2222
/minigzipsh
2323
/zlib.pc
2424
/configure.log
2525

2626
.DS_Store
27+
.vs
28+
*.user
29+
*.nupkg
30+
contrib/vstudio/vc143/x86
31+
contrib/vstudio/vc143/x64
32+
contrib/vstudio/vc143/arm
33+
contrib/vstudio/vc143/arm64
34+
contrib/nuget/bin
35+
contrib/nuget/obj
36+
*.included

src/PureLib/pure/zlib/CMakeLists.txt

+25-20
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
cmake_minimum_required(VERSION 2.4.4)
1+
cmake_minimum_required(VERSION 2.4.4...3.15.0)
22
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
33

44
project(zlib C)
55

6-
set(VERSION "1.2.13")
6+
set(VERSION "1.3.1")
7+
8+
option(ZLIB_BUILD_EXAMPLES "Enable Zlib Examples" ON)
79

810
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
911
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
@@ -148,7 +150,9 @@ if(MINGW)
148150
endif(MINGW)
149151

150152
add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
153+
target_include_directories(zlib PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
151154
add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
155+
target_include_directories(zlibstatic PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
152156
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
153157
set_target_properties(zlib PROPERTIES SOVERSION 1)
154158

@@ -166,7 +170,7 @@ endif()
166170
if(UNIX)
167171
# On unix-like platforms the library is almost always called libz
168172
set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
169-
if(NOT APPLE)
173+
if(NOT APPLE AND NOT(CMAKE_SYSTEM_NAME STREQUAL AIX))
170174
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
171175
endif()
172176
elseif(BUILD_SHARED_LIBS AND WIN32)
@@ -193,21 +197,22 @@ endif()
193197
#============================================================================
194198
# Example binaries
195199
#============================================================================
196-
197-
add_executable(example test/example.c)
198-
target_link_libraries(example zlib)
199-
add_test(example example)
200-
201-
add_executable(minigzip test/minigzip.c)
202-
target_link_libraries(minigzip zlib)
203-
204-
if(HAVE_OFF64_T)
205-
add_executable(example64 test/example.c)
206-
target_link_libraries(example64 zlib)
207-
set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
208-
add_test(example64 example64)
209-
210-
add_executable(minigzip64 test/minigzip.c)
211-
target_link_libraries(minigzip64 zlib)
212-
set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
200+
if(ZLIB_BUILD_EXAMPLES)
201+
add_executable(example test/example.c)
202+
target_link_libraries(example zlib)
203+
add_test(example example)
204+
205+
add_executable(minigzip test/minigzip.c)
206+
target_link_libraries(minigzip zlib)
207+
208+
if(HAVE_OFF64_T)
209+
add_executable(example64 test/example.c)
210+
target_link_libraries(example64 zlib)
211+
set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
212+
add_test(example64 example64)
213+
214+
add_executable(minigzip64 test/minigzip.c)
215+
target_link_libraries(minigzip64 zlib)
216+
set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
217+
endif()
213218
endif()

src/PureLib/pure/zlib/ChangeLog

+29-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,34 @@
11

22
ChangeLog file for zlib
33

4+
Changes in 1.3.1 (22 Jan 2024)
5+
- Reject overflows of zip header fields in minizip
6+
- Fix bug in inflateSync() for data held in bit buffer
7+
- Add LIT_MEM define to use more memory for a small deflate speedup
8+
- Fix decision on the emission of Zip64 end records in minizip
9+
- Add bounds checking to ERR_MSG() macro, used by zError()
10+
- Neutralize zip file traversal attacks in miniunz
11+
- Fix a bug in ZLIB_DEBUG compiles in check_match()
12+
- Various portability and appearance improvements
13+
14+
Changes in 1.3 (18 Aug 2023)
15+
- Remove K&R function definitions and zlib2ansi
16+
- Fix bug in deflateBound() for level 0 and memLevel 9
17+
- Fix bug when gzungetc() is used immediately after gzopen()
18+
- Fix bug when using gzflush() with a very small buffer
19+
- Fix crash when gzsetparams() attempted for transparent write
20+
- Fix test/example.c to work with FORCE_STORED
21+
- Rewrite of zran in examples (see zran.c version history)
22+
- Fix minizip to allow it to open an empty zip file
23+
- Fix reading disk number start on zip64 files in minizip
24+
- Fix logic error in minizip argument processing
25+
- Add minizip testing to Makefile
26+
- Read multiple bytes instead of byte-by-byte in minizip unzip.c
27+
- Add memory sanitizer to configure (--memory)
28+
- Various portability improvements
29+
- Various documentation improvements
30+
- Various spelling and typo corrections
31+
432
Changes in 1.2.13 (13 Oct 2022)
533
- Fix configure issue that discarded provided CC definition
634
- Correct incorrect inputs provided to the CRC functions
@@ -1445,7 +1473,7 @@ Changes in 0.99 (27 Jan 96)
14451473
- fix typo in Make_vms.com (f$trnlnm -> f$getsyi)
14461474
- in fcalloc, normalize pointer if size > 65520 bytes
14471475
- don't use special fcalloc for 32 bit Borland C++
1448-
- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc...
1476+
- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc.
14491477
- use Z_BINARY instead of BINARY
14501478
- document that gzclose after gzdopen will close the file
14511479
- allow "a" as mode in gzopen

src/PureLib/pure/zlib/FAQ

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
If your question is not there, please check the zlib home page
66
http://zlib.net/ which may have more recent information.
7-
The lastest zlib FAQ is at http://zlib.net/zlib_faq.html
7+
The latest zlib FAQ is at http://zlib.net/zlib_faq.html
88

99

1010
1. Is zlib Y2K-compliant?
@@ -14,8 +14,7 @@ The lastest zlib FAQ is at http://zlib.net/zlib_faq.html
1414
2. Where can I get a Windows DLL version?
1515

1616
The zlib sources can be compiled without change to produce a DLL. See the
17-
file win32/DLL_FAQ.txt in the zlib distribution. Pointers to the
18-
precompiled DLL are found in the zlib web site at http://zlib.net/ .
17+
file win32/DLL_FAQ.txt in the zlib distribution.
1918

2019
3. Where can I get a Visual Basic interface to zlib?
2120

src/PureLib/pure/zlib/Makefile.in

+14-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Makefile for zlib
2-
# Copyright (C) 1995-2017 Jean-loup Gailly, Mark Adler
2+
# Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler
33
# For conditions of distribution and use, see copyright notice in zlib.h
44

55
# To compile and test, type:
@@ -22,13 +22,13 @@ CFLAGS=-O
2222

2323
SFLAGS=-O
2424
LDFLAGS=
25-
TEST_LDFLAGS=$(LDFLAGS) -L. libz.a
25+
TEST_LIBS=-L. libz.a
2626
LDSHARED=$(CC)
2727
CPP=$(CC) -E
2828

2929
STATICLIB=libz.a
3030
SHAREDLIB=libz.so
31-
SHAREDLIBV=libz.so.1.2.13
31+
SHAREDLIBV=libz.so.1.3.1
3232
SHAREDLIBM=libz.so.1
3333
LIBS=$(STATICLIB) $(SHAREDLIBV)
3434

@@ -282,10 +282,10 @@ placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a
282282
-@rmdir objs
283283

284284
example$(EXE): example.o $(STATICLIB)
285-
$(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
285+
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ example.o $(TEST_LIBS)
286286

287287
minigzip$(EXE): minigzip.o $(STATICLIB)
288-
$(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
288+
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ minigzip.o $(TEST_LIBS)
289289

290290
examplesh$(EXE): example.o $(SHAREDLIBV)
291291
$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) -L. $(SHAREDLIBV)
@@ -294,10 +294,10 @@ minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
294294
$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) -L. $(SHAREDLIBV)
295295

296296
example64$(EXE): example64.o $(STATICLIB)
297-
$(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
297+
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ example64.o $(TEST_LIBS)
298298

299299
minigzip64$(EXE): minigzip64.o $(STATICLIB)
300-
$(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
300+
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ minigzip64.o $(TEST_LIBS)
301301

302302
install-libs: $(LIBS)
303303
-@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi
@@ -359,8 +359,14 @@ zconf.h.cmakein: $(SRCDIR)zconf.h.in
359359
zconf: $(SRCDIR)zconf.h.in
360360
cp -p $(SRCDIR)zconf.h.in zconf.h
361361

362+
minizip-test: static
363+
cd contrib/minizip && { CC="$(CC)" CFLAGS="$(CFLAGS)" $(MAKE) test ; cd ../.. ; }
364+
365+
minizip-clean:
366+
cd contrib/minizip && { $(MAKE) clean ; cd ../.. ; }
367+
362368
mostlyclean: clean
363-
clean:
369+
clean: minizip-clean
364370
rm -f *.o *.lo *~ \
365371
example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
366372
example64$(EXE) minigzip64$(EXE) \

src/PureLib/pure/zlib/README

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ZLIB DATA COMPRESSION LIBRARY
22

3-
zlib 1.2.13 is a general purpose data compression library. All the code is
3+
zlib 1.3.1 is a general purpose data compression library. All the code is
44
thread safe. The data format used by the zlib library is described by RFCs
55
(Request for Comments) 1950 to 1952 in the files
66
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
@@ -29,18 +29,17 @@ PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
2929

3030
Mark Nelson <[email protected]> wrote an article about zlib for the Jan. 1997
3131
issue of Dr. Dobb's Journal; a copy of the article is available at
32-
http://marknelson.us/1997/01/01/zlib-engine/ .
32+
https://marknelson.us/posts/1997/01/01/zlib-engine.html .
3333

34-
The changes made in version 1.2.13 are documented in the file ChangeLog.
34+
The changes made in version 1.3.1 are documented in the file ChangeLog.
3535

3636
Unsupported third party contributions are provided in directory contrib/ .
3737

38-
zlib is available in Java using the java.util.zip package, documented at
39-
http://java.sun.com/developer/technicalArticles/Programming/compression/ .
38+
zlib is available in Java using the java.util.zip package. Follow the API
39+
Documentation link at: https://docs.oracle.com/search/?q=java.util.zip .
4040

41-
A Perl interface to zlib written by Paul Marquess <[email protected]> is available
42-
at CPAN (Comprehensive Perl Archive Network) sites, including
43-
http://search.cpan.org/~pmqs/IO-Compress-Zlib/ .
41+
A Perl interface to zlib and bzip2 written by Paul Marquess <[email protected]>
42+
can be found at https://github.com/pmqs/IO-Compress .
4443

4544
A Python interface to zlib written by A.M. Kuchling <[email protected]> is
4645
available in Python 1.5 and later versions, see
@@ -64,7 +63,7 @@ Notes for some targets:
6463
- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
6564
when compiled with cc.
6665

67-
- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
66+
- On Digital Unix 4.0D (formerly OSF/1) on AlphaServer, the cc option -std1 is
6867
necessary to get gzprintf working correctly. This is done by configure.
6968

7069
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
@@ -84,7 +83,7 @@ Acknowledgments:
8483

8584
Copyright notice:
8685

87-
(C) 1995-2022 Jean-loup Gailly and Mark Adler
86+
(C) 1995-2024 Jean-loup Gailly and Mark Adler
8887

8988
This software is provided 'as-is', without any express or implied
9089
warranty. In no event will the authors be held liable for any damages

src/PureLib/pure/zlib/adler32.c

+5-27
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77

88
#include "zutil.h"
99

10-
local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
11-
1210
#define BASE 65521U /* largest prime smaller than 65536 */
1311
#define NMAX 5552
1412
/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
@@ -60,11 +58,7 @@ local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
6058
#endif
6159

6260
/* ========================================================================= */
63-
uLong ZEXPORT adler32_z(adler, buf, len)
64-
uLong adler;
65-
const Bytef *buf;
66-
z_size_t len;
67-
{
61+
uLong ZEXPORT adler32_z(uLong adler, const Bytef *buf, z_size_t len) {
6862
unsigned long sum2;
6963
unsigned n;
7064

@@ -131,20 +125,12 @@ uLong ZEXPORT adler32_z(adler, buf, len)
131125
}
132126

133127
/* ========================================================================= */
134-
uLong ZEXPORT adler32(adler, buf, len)
135-
uLong adler;
136-
const Bytef *buf;
137-
uInt len;
138-
{
128+
uLong ZEXPORT adler32(uLong adler, const Bytef *buf, uInt len) {
139129
return adler32_z(adler, buf, len);
140130
}
141131

142132
/* ========================================================================= */
143-
local uLong adler32_combine_(adler1, adler2, len2)
144-
uLong adler1;
145-
uLong adler2;
146-
z_off64_t len2;
147-
{
133+
local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2) {
148134
unsigned long sum1;
149135
unsigned long sum2;
150136
unsigned rem;
@@ -169,18 +155,10 @@ local uLong adler32_combine_(adler1, adler2, len2)
169155
}
170156

171157
/* ========================================================================= */
172-
uLong ZEXPORT adler32_combine(adler1, adler2, len2)
173-
uLong adler1;
174-
uLong adler2;
175-
z_off_t len2;
176-
{
158+
uLong ZEXPORT adler32_combine(uLong adler1, uLong adler2, z_off_t len2) {
177159
return adler32_combine_(adler1, adler2, len2);
178160
}
179161

180-
uLong ZEXPORT adler32_combine64(adler1, adler2, len2)
181-
uLong adler1;
182-
uLong adler2;
183-
z_off64_t len2;
184-
{
162+
uLong ZEXPORT adler32_combine64(uLong adler1, uLong adler2, z_off64_t len2) {
185163
return adler32_combine_(adler1, adler2, len2);
186164
}

0 commit comments

Comments
 (0)