]>
Commit | Line | Data |
---|---|---|
e1c743cc | 1 | zlib 1.1.4 is a general purpose data compression library. All the code |
c801d85f KB |
2 | is thread safe. The data format used by the zlib library |
3 | is described by RFCs (Request for Comments) 1950 to 1952 in the files | |
e1c743cc | 4 | http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate |
c801d85f KB |
5 | format) and rfc1952.txt (gzip format). These documents are also available in |
6 | other formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html | |
7 | ||
8 | All functions of the compression library are documented in the file zlib.h | |
9 | (volunteer to write man pages welcome, contact jloup@gzip.org). A usage | |
10 | example of the library is given in the file example.c which also tests that | |
11 | the library is working correctly. Another example is given in the file | |
12 | minigzip.c. The compression library itself is composed of all source files | |
13 | except example.c and minigzip.c. | |
14 | ||
15 | To compile all files and run the test program, follow the instructions | |
16 | given at the top of Makefile. In short "make test; make install" | |
e1c743cc VS |
17 | should work for most machines. For Unix: "./configure; make test; make install" |
18 | For MSDOS, use one of the special makefiles such as Makefile.msc. | |
19 | For VMS, use Make_vms.com or descrip.mms. | |
20 | ||
21 | Questions about zlib should be sent to <zlib@gzip.org>, or to | |
22 | Gilles Vollant <info@winimage.com> for the Windows DLL version. | |
23 | The zlib home page is http://www.zlib.org or http://www.gzip.org/zlib/ | |
24 | Before reporting a problem, please check this site to verify that | |
25 | you have the latest version of zlib; otherwise get the latest version and | |
26 | check whether the problem still exists or not. | |
27 | ||
28 | PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html | |
29 | before asking for help. | |
30 | ||
31 | Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997 | |
c801d85f | 32 | issue of Dr. Dobb's Journal; a copy of the article is available in |
e1c743cc VS |
33 | http://dogma.net/markn/articles/zlibtool/zlibtool.htm |
34 | ||
35 | The changes made in version 1.1.4 are documented in the file ChangeLog. | |
36 | The only changes made since 1.1.3 are bug corrections: | |
37 | ||
38 | - ZFREE was repeated on same allocation on some error conditions. | |
39 | This creates a security problem described in | |
40 | http://www.zlib.org/advisory-2002-03-11.txt | |
41 | - Returned incorrect error (Z_MEM_ERROR) on some invalid data | |
42 | - Avoid accesses before window for invalid distances with inflate window | |
43 | less than 32K. | |
44 | - force windowBits > 8 to avoid a bug in the encoder for a window size | |
45 | of 256 bytes. (A complete fix will be available in 1.1.5). | |
46 | ||
47 | The beta version 1.1.5beta includes many more changes. A new official | |
48 | version 1.1.5 will be released as soon as extensive testing has been | |
49 | completed on it. | |
c801d85f KB |
50 | |
51 | ||
52 | Unsupported third party contributions are provided in directory "contrib". | |
53 | ||
e1c743cc | 54 | A Java implementation of zlib is available in the Java Development Kit |
c801d85f | 55 | http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html |
e1c743cc | 56 | See the zlib home page http://www.zlib.org for details. |
c801d85f KB |
57 | |
58 | A Perl interface to zlib written by Paul Marquess <pmarquess@bfsec.bt.co.uk> | |
e1c743cc VS |
59 | is in the CPAN (Comprehensive Perl Archive Network) sites |
60 | http://www.cpan.org/modules/by-module/Compress/ | |
c801d85f KB |
61 | |
62 | A Python interface to zlib written by A.M. Kuchling <amk@magnet.com> | |
e1c743cc VS |
63 | is available in Python 1.5 and later versions, see |
64 | http://www.python.org/doc/lib/module-zlib.html | |
c801d85f KB |
65 | |
66 | A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> | |
67 | is availlable at http://www.westend.com/~kupries/doc/trf/man/man.html | |
68 | ||
69 | An experimental package to read and write files in .zip format, | |
70 | written on top of zlib by Gilles Vollant <info@winimage.com>, is | |
71 | available at http://www.winimage.com/zLibDll/unzip.html | |
72 | and also in the contrib/minizip directory of zlib. | |
73 | ||
74 | ||
75 | Notes for some targets: | |
76 | ||
77 | - To build a Windows DLL version, include in a DLL project zlib.def, zlib.rc | |
78 | and all .c files except example.c and minigzip.c; compile with -DZLIB_DLL | |
79 | The zlib DLL support was initially done by Alessandro Iacopetti and is | |
80 | now maintained by Gilles Vollant <info@winimage.com>. Check the zlib DLL | |
81 | home page at http://www.winimage.com/zLibDll | |
82 | ||
83 | From Visual Basic, you can call the DLL functions which do not take | |
84 | a structure as argument: compress, uncompress and all gz* functions. | |
e1c743cc VS |
85 | See contrib/visual-basic.txt for more information, or get |
86 | http://www.tcfb.com/dowseware/cmp-z-it.zip | |
c801d85f KB |
87 | |
88 | - For 64-bit Irix, deflate.c must be compiled without any optimization. | |
89 | With -O, one libpng test fails. The test works in 32 bit mode (with | |
90 | the -n32 compiler flag). The compiler bug has been reported to SGI. | |
91 | ||
92 | - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 | |
93 | it works when compiled with cc. | |
94 | ||
95 | - on Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 | |
96 | is necessary to get gzprintf working correctly. This is done by configure. | |
97 | ||
98 | - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works | |
99 | with other compilers. Use "make test" to check your compiler. | |
100 | ||
c801d85f KB |
101 | - gzdopen is not supported on RISCOS, BEOS and by some Mac compilers. |
102 | ||
103 | - For Turbo C the small model is supported only with reduced performance to | |
104 | avoid any far allocation; it was tested with -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 | |
105 | ||
e1c743cc VS |
106 | - For PalmOs, see http://www.cs.uit.no/~perm/PASTA/pilot/software.html |
107 | Per Harald Myrvang <perm@stud.cs.uit.no> | |
108 | ||
c801d85f KB |
109 | |
110 | Acknowledgments: | |
111 | ||
112 | The deflate format used by zlib was defined by Phil Katz. The deflate | |
113 | and zlib specifications were written by L. Peter Deutsch. Thanks to all the | |
114 | people who reported problems and suggested various improvements in zlib; | |
115 | they are too numerous to cite here. | |
116 | ||
117 | Copyright notice: | |
118 | ||
e1c743cc | 119 | (C) 1995-2002 Jean-loup Gailly and Mark Adler |
c801d85f KB |
120 | |
121 | This software is provided 'as-is', without any express or implied | |
122 | warranty. In no event will the authors be held liable for any damages | |
123 | arising from the use of this software. | |
124 | ||
125 | Permission is granted to anyone to use this software for any purpose, | |
126 | including commercial applications, and to alter it and redistribute it | |
127 | freely, subject to the following restrictions: | |
128 | ||
129 | 1. The origin of this software must not be misrepresented; you must not | |
130 | claim that you wrote the original software. If you use this software | |
131 | in a product, an acknowledgment in the product documentation would be | |
132 | appreciated but is not required. | |
133 | 2. Altered source versions must be plainly marked as such, and must not be | |
134 | misrepresented as being the original software. | |
135 | 3. This notice may not be removed or altered from any source distribution. | |
136 | ||
137 | Jean-loup Gailly Mark Adler | |
138 | jloup@gzip.org madler@alumni.caltech.edu | |
139 | ||
140 | If you use the zlib library in a product, we would appreciate *not* | |
141 | receiving lengthy legal documents to sign. The sources are provided | |
142 | for free but without warranty of any kind. The library has been | |
143 | entirely written by Jean-loup Gailly and Mark Adler; it does not | |
144 | include third-party code. | |
145 | ||
146 | If you redistribute modified sources, we would appreciate that you include | |
147 | in the file ChangeLog history information documenting your changes. |