Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4349 Serge 1
 
2
3
 
4
 
5
http://zlib.net/ which may have more recent information.
6
The lastest zlib FAQ is at http://zlib.net/zlib_faq.html
7
8
 
9
 
10
11
 
12
13
 
14
15
 
16
    file win32/DLL_FAQ.txt in the zlib distribution.  Pointers to the
17
    precompiled DLL are found in the zlib web site at http://zlib.net/ .
18
19
 
20
21
 
22
        * http://marknelson.us/1997/01/01/zlib-engine/
23
        * win32/DLL_FAQ.txt in the zlib distribution
24
25
 
26
27
 
28
    buffer is equal to the available size of the compressed buffer and not
29
    zero.  For Visual Basic, check that this parameter is passed by reference
30
    ("as any"), not by value ("as long").
31
32
 
33
34
 
35
    When setting the parameter flush equal to Z_FINISH, also make sure that
36
    avail_out is big enough to allow processing all pending input.  Note that a
37
    Z_BUF_ERROR is not fatal--another call to deflate() or inflate() can be
38
    made with more input or output space.  A Z_BUF_ERROR may in fact be
39
    unavoidable depending on how the functions are used, since it is not
40
    possible to tell whether or not there is more output pending when
41
    strm.avail_out returns with zero.  See http://zlib.net/zlib_how.html for a
42
    heavily annotated example.
43
44
 
45
46
 
47
    and test/minigzip.c, with more in examples/ .
48
49
 
50
51
 
52
    zlib is rather portable and doesn't need much configuration.
53
54
 
55
56
 
57
    Please try to reproduce the problem with a small program and send the
58
    corresponding source to us at zlib@gzip.org .  Do not send multi-megabyte
59
    data files without prior agreement.
60
61
 
62
63
 
64
65
 
66
67
 
68
    /usr/X11R6/lib. Remove any old versions, then do "make install".
69
70
 
71
72
 
73
74
 
75
76
 
77
    distribution.
78
79
 
80
81
 
82
    the code of uncompress on your own.
83
84
 
85
86
 
87
88
 
89
    ./configure
90
    make
91
92
 
93
94
 
95
96
 
97
98
 
99
    Before going to the trouble of compiling a shared version of zlib and
100
    trying to install it, you may want to check if it's already there!  If you
101
    can #include , it's there.  The -lz option will probably link to
102
    it.  You can check the version at the top of zlib.h or with the
103
    ZLIB_VERSION symbol defined in zlib.h .
104
105
 
106
107
 
108
    site: Joel Hainley, jhainley@myndkryme.com.
109
110
 
111
112
 
113
    http://sourceforge.net/projects/acroformtool/ .
114
115
 
116
117
 
118
    generates an error such as:
119
120
 
121
        symbol __register_frame_info: referenced symbol not found
122
123
 
124
    the C compiler (cc or gcc).  You must recompile applications using zlib
125
    which have this problem.  This problem is specific to Solaris.  See
126
    http://www.sunfreeware.com for Solaris versions of zlib and applications
127
    using zlib.
128
129
 
130
131
 
132
    is different and incompatible with the gzip format.  The gz* functions in
133
    zlib on the other hand use the gzip format.  Both the zlib and gzip formats
134
    use the same compressed data format internally, but have different headers
135
    and trailers around the compressed data.
136
137
 
138
139
 
140
    single file, such as the name and last modification date.  The zlib format
141
    on the other hand was designed for in-memory and communication channel
142
    applications, and has a much more compact header and trailer and uses a
143
    faster integrity check than gzip.
144
145
 
146
147
 
148
    format using deflateInit2().  You can also request that inflate decode the
149
    gzip format using inflateInit2().  Read zlib.h for more details.
150
151
 
152
153
 
154
    provided memory allocation routines must also be thread-safe.  zlib's gz*
155
    functions use stdio library routines, and most of zlib's functions use the
156
    library memory allocation routines by default.  zlib's *Init* functions
157
    allow for the application to provide custom memory allocation routines.
158
159
 
160
    single thread at a time.
161
162
 
163
164
 
165
166
 
167
168
 
169
170
 
171
    what exactly do I need to do to meet that requirement?
172
173
 
174
    particular, the final version number needs to be changed to "f", and an
175
    identification string should be appended to ZLIB_VERSION.  Version numbers
176
    x.x.x.f are reserved for modifications to zlib by others than the zlib
177
    maintainers.  For example, if the version of the base zlib you are altering
178
    is "1.2.3.4", then in zlib.h you should change ZLIB_VERNUM to 0x123f, and
179
    ZLIB_VERSION to something like "1.2.3.f-zachary-mods-v3".  You can also
180
    update the version strings in deflate.c and inftrees.c.
181
182
 
183
    nature of the changes in zlib.h, as well as in ChangeLog and README, along
184
    with the dates of the alterations.  The origin should include at least your
185
    name (or your company's name), and an email address to contact for help or
186
    issues with the library.
187
188
 
189
    zconf.h is also a source distribution, and so you should change
190
    ZLIB_VERSION and ZLIB_VERNUM and note the origin and nature of the changes
191
    in zlib.h as you would for a full source distribution.
192
193
 
194
    exchange compressed data between them?
195
196
 
197
198
 
199
200
 
201
    data types being limited to 32-bits in length.  If you have any
202
    difficulties, please provide a complete problem report to zlib@gzip.org
203
204
 
205
206
 
207
    does PKZIP and zlib.  However, you can look in zlib's contrib/blast
208
    directory for a possible solution to your problem.
209
210
 
211
212
 
213
    Z_FULL_FLUSH, carefully write all the pending data at those points, and
214
    keep an index of those locations, then you can start decompression at those
215
    points.  You have to be careful to not use Z_FULL_FLUSH too often, since it
216
    can significantly degrade compression.  Alternatively, you can scan a
217
    deflate stream once to generate an index, and then use that index for
218
    random access.  See examples/zran.c .
219
220
 
221
222
 
223
    were working ports of zlib 1.1.4 to MVS, but those links no longer work.
224
    If you know of recent, successful applications of zlib on these operating
225
    systems, please let us know.  Thanks.
226
227
 
228
    understand the deflate format?
229
230
 
231
    contrib/puff directory.
232
233
 
234
235
 
236
    zlib.  Look here for some more information:
237
238
 
239
240
 
241
242
 
243
    Each call of inflate() or deflate() is limited to input and output chunks
244
    of the maximum value that can be stored in the compiler's "unsigned int"
245
    type, but there is no limit to the number of chunks.  Note however that the
246
    strm.total_in and strm_total_out counters may be limited to 4 GB.  These
247
    counters are provided as a convenience and are not used internally by
248
    inflate() or deflate().  The application can easily set up its own counters
249
    updated after each call of inflate() or deflate() to count beyond 4 GB.
250
    compress() and uncompress() may be limited to 4 GB, since they operate in a
251
    single call.  gzseek() and gztell() may be limited to 4 GB depending on how
252
    zlib is compiled.  See the zlibCompileFlags() function in zlib.h.
253
254
 
255
    if the compiler's "long" type is 32 bits.  If the compiler's "long" type is
256
    64 bits, then the limit is 16 exabytes.
257
258
 
259
260
 
261
    compiled to use sprintf() or vsprintf(), then there is no protection
262
    against a buffer overflow of an 8K string space (or other value as set by
263
    gzbuffer()), other than the caller of gzprintf() assuring that the output
264
    will not exceed 8K.  On the other hand, if zlib is compiled to use
265
    snprintf() or vsnprintf(), which should normally be the case, then there is
266
    no vulnerability.  The ./configure script will display warnings if an
267
    insecure variation of sprintf() will be used by gzprintf().  Also the
268
    zlibCompileFlags() function will return information on what variant of
269
    sprintf() is used by gzprintf().
270
271
 
272
    find a portable implementation here:
273
274
 
275
276
 
277
    1.1.3 and before were subject to a double-free vulnerability, and versions
278
    1.2.1 and 1.2.2 were subject to an access exception when decompressing
279
    invalid compressed data.
280
281
 
282
283
 
284
    as part of the Java SDK in the java.util.zip package. If you really want
285
    a version of zlib written in the Java language, look on the zlib home
286
    page for links: http://zlib.net/ .
287
288
 
289
    up to maximally-pedantic. Can't you guys write proper code?
290
291
 
292
    in the universe.  It just got to be a waste of time, and some compilers
293
    were downright silly as well as contradicted each other.  So now, we simply
294
    make sure that the code always works.
295
296
 
297
    performing a conditional jump that depends on an uninitialized value.
298
    Isn't that a bug?
299
300
 
301
    is not affected.  This only started showing up recently since zlib 1.2.x
302
    uses malloc() by default for allocations, whereas earlier versions used
303
    calloc(), which zeros out the allocated memory.  Even though the code was
304
    correct, versions 1.2.4 and later was changed to not stimulate these
305
    checkers.
306
307
 
308
    data format?
309
310
 
311
    formats and associated software.
312
313
 
314
315
 
316
    weak and can be broken with freely available programs.  To get strong
317
    encryption, use GnuPG, http://www.gnupg.org/ , which already includes zlib
318
    compression.  For PKZIP compatible "encryption", look at
319
    http://www.info-zip.org/
320
321
 
322
323
 
324
    probably have called the second one "zlib" instead to avoid confusion with
325
    the raw deflate compressed data format.  While the HTTP 1.1 RFC 2616
326
    correctly points to the zlib specification in RFC 1950 for the "deflate"
327
    transfer encoding, there have been reports of servers and browsers that
328
    incorrectly produce or expect raw deflate data per the deflate
329
    specification in RFC 1951, most notably Microsoft.  So even though the
330
    "deflate" transfer encoding using the zlib format would be the more
331
    efficient approach (and in fact exactly what the zlib format was designed
332
    for), using the "gzip" transfer encoding is probably more reliable due to
333
    an unfortunate choice of name on the part of the HTTP 1.1 authors.
334
335
 
336
337
 
338
339
 
340
    they have not documented it as they have previous compression formats.  In
341
    any case, the compression improvements are so modest compared to other more
342
    modern approaches, that it's not worth the effort to implement.
343
344
 
345
346
 
347
    Giles Vollant, which is found in the contrib directory of zlib.  It is not
348
    part of zlib.  In fact none of the stuff in contrib is part of zlib.  The
349
    files in there are not supported by the zlib authors.  You need to contact
350
    the authors of the respective contribution for help.
351
352
 
353
    Since it's part of zlib, doesn't that mean that all of zlib falls under the
354
    GNU GPL?
355
356
 
357
    other authors and are provided as a convenience to the user within the zlib
358
    distribution.  Each item in contrib has its own license.
359
360
 
361
362
 
363
364
 
365
    so that we can use your software in our product?
366
367
 
368