Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6725 siemargl 1
UnZip, version 6.00, 20 April 2009
2
 
3
Features added (or removed):
4
 
5
6.00a ():
6
 - Many changes by Myles
7
 
8
6.00b (12 Nov 04):
9
 - Added dll changes from Mike White.  [Mike White (MW), Ed Gordon (EG)]
10
 - Added Unix Large File Support but must be enabled manually.  [EG]
11
 - Humble beginnings of adding configure script to Unix port to
12
    autoconfigure large file support.  [EG]
13
 - VMS changes, including large file support, better handling of
14
   -V and new -VV options, revised build procedures, and
15
   documentation updates.  [Steven Schweda (SMS)]
16
 - file_size added to process.c to handle files sizes larger
17
   than 2 GiB more cleanly when no large file support.  [SMS]
18
 - Large file debugging on Unix and VMS.  [SMS, EG]
19
 - Split w32i64.h with large file includes for dll [EG]
20
 
21
6.00c (1 Feb 05):
22
 - Various Amiga and Win32 changes (see files).  [Paul Kienitz (PK)]
23
 - Add NOSHARE compile option for VMS.  [SMS]
24
 - Updates to windll (list.c, structs.h, uzexampl.c, uzexampl.h, windll.aps,
25
   windll.c, windll.h, windll.rc, windll.txt, sfxwiz.c) to add VB support
26
   for Zip64 to dll [MW]
27
 
28
6.00c (14 Feb 05):
29
 - Added ODS5 extended file name support for VMS.  (Eight-bit-only, no
30
   Unicode.)  Zip name character "?" is mapped to VMS name character
31
   "/".  ODS2 file names are now explicitly upper-case. [SMC]
32
 - New VMS option, -2 (/ODS2), forces ODS2-compatible file names even
33
   when the destination file system is ODS5. [SMC]
34
 - New VMS option, -Y (/DOT_VERSION), causes archived file name endings
35
   of ".nnn" (where "nnn" is a decimal number) to be treated as if they
36
   were VMS version numbers (";nnn").  Example: "a.b.3" -> "a.b;3". [SMC]
37
 
38
6.00c8 (08 May 05):
39
 - Added optional BZIP2 support, using the free BZIP2 library. Enabled
40
    by defining the compile time option USE_BZIP2. [Johnny Lee]
41
 - Revised optional ZLIB support to use the new zlib 1.2.x callback interface
42
    when available (significant performance gain, now faster than UnZip's
43
    built-in decompression code) [Christian Spieler]
44
 - Added interface into zlib's unsupported "inflate9" callback code (a contri-
45
    buted extension in zlib 1.2.x), for extracting Deflate64 entries. Enabled
46
    by defining the compile time option HAVE_ZL_INFLAT64. [Christian Spieler]
47
 - windll: added separate entry point Wiz_SingleEntryUnzipList for VB support,
48
    changed Wiz_SingleEntryUnzip back to 5.x version [Christian Spieler]
49
 
50
6.00c9 (15 May 05):
51
 - NO feature changes.
52
 
53
6.00c10 (21 May 05):
54
 - WinCE port: Adapted PocketUnzip to UnZip6 code and enabled Zip64 support
55
    for the WIN32 (non-WinCE) targets. [Chr. Spieler]
56
 
57
6.00c11 (23 May 05):
58
 - NO feature changes.
59
 
60
6.00c12 (15 Aug 05):
61
 - windll/csharp: new example project for .NET framework 1.1, written in C#.
62
    (currently unsupported by the Info-ZIP group) [Adrian Maull]
63
 - MSDOS port: added warning message when used in an (32/64-bit) Windows
64
    virtual MSDOS process; currently only shown when an error or warning
65
    occured.  [Johnny Lee, Chr. Spieler]
66
 
67
6.00c13 (02 Oct 05), 6.00c14 (15 Nov 05), 6.00c15(17 Nov 05):
68
 - NO feature changes.
69
 
70
6.00c (19 Nov 05):
71
 - NO feature changes.
72
 
73
6.00d01 (04 Mar 07):
74
 - unix/unix.c: when extracting directory entries, keep a SGID attribute
75
    inherited from the parent dir (to allow content created in these new
76
    directories to inherit the parent's GID), unless the directory entry was
77
    created on UNIX, and UnZip was requested to restore UID/GID or SUID/SGID.
78
    [Matthew Seitz, Chr. Spieler]
79
 - process.c, modified info message handling for timestamping operation mode
80
    to be more consistent with message handling of other operations: suppress
81
    summary message only when qflag > 1 in process_zipfiles(); added time-stamp
82
    success message to do_seekable() in non-quiet mode; moved message strings
83
    to Far string constants.  [Steven M. Schweda, Chr. Spieler]
84
 - process.c - process_zipfiles(): suppress the "cannot find any wildcard
85
     match ..." warning message for (qflag >= 3).  [Chr. Spieler]
86
 - vms/vms.c: added support for delayed restoration of directory attributes
87
     [Steven M. Schweda]
88
 - vms/vms.c - return_VMS(): implemented official HP-assigned facility code
89
    in the calculation of UnZip's (non-success) VMS exit status codes.
90
    [Steven M. Schweda]
91
 - vms/vms.c, vms/cmdline.c vms/unz_cli.cld, unzip.c, unzip.h: added "-S"
92
    option to change output record format into Stream-LF for text files when
93
    extracted in "convert text-files" mode.  [Steven M. Schweda]
94
 - unzpriv.h, extract.c, unix/unix.c, atari/atari.c, atheos/atheos.c,
95
    beos/beos.c: added separate pInfo flag to record symlink entries, moved
96
    symlink detection code into mapattr(), added VMS to the list of hosts known
97
    to support symbolic links.  [Steven M. Schweda, Christian Spieler]
98
 - VMS: added support to extract "symlink" entries as symbolic links (requires
99
    up-to-date version of OpenVMS).  [Steven M. Schweda, Chr. Spieler]
100
 - unzip.1: added description of new VMS-specific "-S" option. [Chr. Spieler]
101
 - unzip_cli.help, unzip_def.rnh: updated exit codes documentation, added new
102
    option (-S resp. /TEXT=STMLF).  [Steven M. Schweda, Chr. Spieler]
103
 - unzip_cli.help, unzip_def.rnh: completed resp. added description of new
104
    VMS-specific options (-Y, -2).  [Chr. Spieler]
105
 - process.c: added preliminary (alpha-state) support for reading of Unicode
106
    Path extra field that now sets globals unipath_filename and
107
    unipath_escapedfilename (not yet functional).  [EG]
108
 
109
6.00d02 (08 Mar 07), 6.00d03 (10 Mar 07), 6.00d04 (11 Mar 07):
110
 - NO feature changes.
111
 
112
6.00d05 (31 Mar 07):
113
 - win32/vc6: added VC6 project files for compiling UnZip with support for
114
    bzip2 decompression.  [Chr. Spieler]
115
 - INSTALL, unix/Makefile, unix/configure: support compiling of UnZip with
116
    integrated bzip2 decompression capability, added check for presence of
117
    bzip2 library sources to configure script, updated bzip2-related
118
    documentation in INSTALL.  [Chr. Spieler]
119
 
120
6.00d06 (02 Dec 07):
121
 - VMS: added support for displaying UnZip exit code error messages through
122
    the VMS built-in message facility; new vms/UNZIP_MSG.MSG message string
123
    source, modified vms/descrip.mms makefile.  [Steven M. Schweda]
124
 - UNIX: added new "-^" command line option that switches off the control
125
    character filter for extracted filenames.  [Chr. Spieler]
126
 - UNIX: added support for restoring attributes and UID/GID for symbolic
127
    links when appropiate OS support is provided.  [Chr. Spieler]
128
 
129
6.00d07 (26 Dec 07):
130
 - New "-D" option which allows skipping of timestamp restoration for extracted
131
    directory entry or for all files ("-DD").  [Chr. Spieler]
132
 - windll: added support for new -D (-DD) option to dll interface, updated
133
    the documentation.  [Chr. Spieler]
134
 
135
6.00d08 (29 Dec 07):
136
 - On VMS, the default is now to not restore directory timestamps (consistent
137
    with BACKUP); "-D" skips all timestamp restorations, "--D" enables
138
    timestamp restoration for all entries.  [Chr. Spieler, Steven M. Schweda]
139
 
140
6.00d09 (06 Jan 08):
141
 - NO feature changes.
142
 
143
6.00d10 (10 Feb 08):
144
 - partial integration of Ed Gordon's UNICODE_SUPPORT code (W9x-ANSI mode only
145
    for now) seems to be finished.  [Ed Gordon, C. Spieler]
146
 - zipinfo.c: added support for "UTF-8 path" extra field display to zi_long().
147
    [Chr. Spieler]
148
 
149
6.00d11 (16 Feb 08):
150
 - ATheOS, BeOS, Tandem, Unix: experimental extension of "Ux" extra field to
151
    allow restoration of 32-bit UID & GID values (affected generic sources:
152
    unzpriv.h and process.c).  [Chr. Spieler]
153
 
154
6.00d (17 Feb 08):
155
 - NO feature changes.
156
 
157
6.00e01 (21 Feb 08):
158
 - NO feature changes.
159
 
160
6.00e02 (08 Mar 08):
161
 - ATheOS, BeOS, Tandem, Unix: removed experimental 32-bit extension of "Ux"
162
    extra field (affected generic sources: process.c).  [Chr. Spieler]
163
 
164
6.00e03 (29 Mar 08):
165
 - general (ebcdic.h, process.c, unpriv.h): modified infrastructure to make
166
    OEM<-->ISO translation configurable at runtime.  [Chr. Spieler]
167
 - MSDOS (doscfg.h, msdos.c): OEM<-->ISO configured at runtime, depending on
168
    system codepage (enabled for 437, 850, 858; disabled for 932, 936, 949,
169
    950, 874, 1258; currently also disabled for all other OEM codepages because
170
    of missing translation tables).  [Chr. Spieler]
171
 
172
6.00e04 (27 Apr 08):
173
 - NO feature changes.
174
 
175
6.00e05 (09 Sep 08):
176
 - unzip.c: added framework for verbose multi-page online help, called by
177
    option "-hh".  [Ed Gordon]
178
 - process.c, unzpriv.h, unix/unix.c: added support for new IZUNIX3 extra field
179
    providing 32-bit UID/GID data.  [Ed Gordon, Chr. Spieler]
180
 - unzip.c - uz_opts(): do not exit immediately after recognizing help screen
181
    request; this allows to specify the pager option after the explicit help
182
    request.  [Chr. Spieler]
183
 
184
6.00e06 (13 Sep 08):
185
 - NO feature changes.
186
 
187
6.00e (04 Jan 09):
188
 - unzip.h: enable -B option for Unix, OS/2, and Win32.  [EG, Chr. Spieler]
189
 
190
6.00f (11 Jan 09):
191
 - NO feature changes.
192
 
193
6.00g01 (08 Jan 09), 6.00g02 (25 Jan 09), 6.00g03 (10 Feb 09),
194
6.00g04 (16 Feb 09), 6.00g (28 Feb 09),
195
6.00h01 (09 Mar 09), 6.00h02 (16 Apr 09), 6.00h03 (17 Apr 09),
196
6.00 (20 Apr 09):
197
 - NO feature changes.
198
 
199
Bugs fixed:
200
 
201
6.00b (12 Nov 04):
202
 - Output bug fixes to account for sizes > 2 GiB and < 4 GiB.  [EG]
203
 - Bug fixes in ZipInfo.  [EG]
204
 - Reverted unix.c to an older version to make
205
    calls to defer_dir_attribs compatible.  Also needed to rework
206
    win32.c to make compatible.  Probably broke NT but haven't tested.
207
    Need to trace out and fix.  [EG]
208
 
209
6.00c (1 Feb 05):
210
 - Various bug fixes (see files gbloffs.c, process.c, unzpriv.h, amiga/amiga.h,
211
    amiga/filedate.c, amiga/flate.a, amiga/makefile.azt, and win32/w32cfg.h).
212
    [PK]
213
 - Some type changes in globals.h.  [SMS]
214
 
215
6.00c (14 Feb 05):
216
 - Disambiguated some identical VMS error messages. [SMC]
217
 
218
6.00c8 (08 May 05):
219
 - extract.c, unzip.c, unzpriv.h: Some tweaks and corrections to the optional
220
    BZIP2 support [Christian Spieler]
221
 - VMS, cmdline.c unz_cli.cld: fixed the completely broken addition of
222
    the /ODS2 and /DOT_VERSION options [Christian Spieler]
223
 - Merged in all additions and fixes of the UnZip 5.5x code tree from
224
    UnZip 5.50i up to UnZip 5.52 release.  Removed History.5?? files.
225
    Removed all History.600 entries that have been covered by fixes from
226
    the UnZip 5.5x code.
227
    For detailed ChangeLog see History.550, History.551, and History.552,
228
    as found in unzip552.zip source distribution and the UnZipHist.zip
229
    ChangeLog archive.  [Christian Spieler]
230
 - crypt.[ch]: updated to 2.10 (synchronized with zip 2.31) [Christian Spieler]
231
 - envargs.c: do not declare getenv() for "modern" compilers [Cosmin Truta]
232
 - extract.c: better echo message for CR or LF at overwrite prompt [Cosmin?]
233
 - fileio.c: added specific message for SIGILL in handler()  [Chr. Spieler]
234
 - process.c: fixed code of optional USE_STRM_INPUT variant [Chr. Spieler]
235
 - VMS, vms.c: requires "-vv" instead of only "-v" to enable VMS diagnostic
236
    output (enable DIAG_FLAG for vflag >= 3, only; DIAG output is not available
237
    for the unzip modi "extract to disk" and "zipinfo") [Christian Spieler]
238
 - VMS cli interface: added (undocumented) option modified /FULL=DIAGNOSTICS to
239
    control "-vv" diagnostic messages [Steven M Schweda, Christian Spieler]
240
 - WIN32/MSDOS (maybe others): fixed abort exception handling for CTRL-BREAK
241
    [Christian Spieler]
242
 - revised ecrec64 search logic: ecrec64 need not be present when one of
243
    the ecrec fields is filled with all 1's.  [Christian Spieler]
244
 - added user-defined types for 8-byte and 4-byte Zip archive (unsigned)
245
    quantities [Christian Spieler]
246
 - MSDOS 32-bit port revitalized [Christian Spieler]
247
 - windll: changed interface definition to be independent of compile/feature
248
    configuration [Christian Spieler]
249
 - man/unzip.1: Typo corrections [anonymous DEBIAN contribution, Santiago Vila]
250
 - man/unzip.1: removed duplicated quotes from VMS example in environment
251
    variable section [Steven M. Schweda]
252
 
253
6.00c9 (15 May 05):
254
 - zipinfo.c, list.c: fix the structure check for correct end-of-central dir
255
    to be aware of Zip64 extensions [Christian Spieler]
256
 - windll, sfxgui: synchronize function definitions with changed windll
257
    interface [Mike White]
258
 - extract.c, fileio.c, process.c: fixed USE_STRM_INPUT variant of file
259
    position seeking [Christian Spieler]
260
 - process.c - file_size(): changed scope into static; added non-USE_STRM_INPUT
261
    variant that uses zlseek instead of zfseeko and zftello; do not include in
262
    SFX stub; do not compile function definition when not used [Chr. Spieler]
263
 - unzpriv.h: revised and cleaned up setup definitions for zstat, zfstat and
264
    other 64-bit configuration macros [Christian Spieler]
265
 - win32/w32cfg.h: revised automatic ZIP64 support enabling logic and compiler-
266
    specific configuration; turned off ZIP64 support for lcc and BorlandC
267
    because of missing LARGE_FILE support; verified LARGE_FILE support for
268
    Watcom C and MinGW [Chr. Spieler]
269
 - win32/win32.c: fixed type specification in zstat_win32() [Chr. Spieler]
270
 - win32/win32i64.c: do not include seek replacement functions when not needed
271
    [Christian Spieler]
272
 - zipinfo.c: adapted verbose printouts to longer number printings of Zip64-
273
    enabled UnZip; fixed extra-space detection in zi_long() by moving the
274
    extra-field read in front of the offset comparison [Christian Spieler]
275
 
276
6.00c10 (21 May 05):
277
 - zipinfo.c - zi_long(): fixed expression for detecting 64-bit local entry
278
    offset [Chr. Spieler]
279
 - process.c - find_ecrec64(): added type-casts to shut up conversion warnings,
280
    removed code that clobbered the ecrec signature "pseudo-constant" by
281
    overwriting it with the ecrec64 signature (this bug broke the reentrancy
282
    of the dll code) [Chr. Spieler]
283
 - win32/win32.c, unzpriv.h: adapted SetFileSize for 64-bit offsets[C. Spieler]
284
 - extract.c, fileio.c, process.c: removed unneeded (FILE *) type-casts in
285
    calls to zfseeko() and zftello() [Chr. Spieler]
286
 - extract.c, list.c, zipinfo.c, unzpriv.h: use symbolic constants for the
287
    16-bit and 64-bit masks in the checks for zip entry count consistency
288
    [Steven M. Schweda, Chr. Spieler]
289
 - process.c: reorganized the extended Zip filesize-checking code (for > 2GB
290
    detection) by moving it behind the open_infile () call and using the
291
    already opened global zipfile handle [Steven M. Schweda, Chr. Spieler]
292
 - fileio.c: allow output redirection to memory when ZIP64_SUPPORT is enabled
293
    [Chr. Spieler]
294
 - windll: synchronized uzexampl.c and uzexampl.h with current windll interface
295
    declarations [Chr. Spieler]
296
 
297
6.00c11 (23 May 05):
298
 - process.c: fixed bugs in last filesize-checking revision (added missing
299
    semi-colon, synchronized file_size() call with its prototype declaration
300
    [Steven M. Schweda, Chr. Spieler]
301
 
302
6.00c12 (15 Aug 05):
303
 - VMS port: updated the dependency build routines (*.mms, *.com) and the VMS
304
    install documentation (INSTALL) [Steven M. Schweda]
305
 - api.c - redirect_outfile(): initialize check_conversion variable in the
306
    non-textmode case [Chr. Spieler]
307
 - process.c, extract.c: moved the crctab initialization and check of the
308
    extraction root dir from do_seekable() further down the call tree into
309
    extract_or_test_files() [Chr. Spieler]
310
 - extract.c - extract_or_test_entrylist(): moved central-vs-local consistency
311
    checks behind the local Zip64-e.f. code [Chr. Spieler]
312
 - fileio.c - do_string() bugfix: do not call getZip64Data() when previous
313
    allocation of extra field buffer has failed [Chr. Spieler]
314
 - inflate.c - inflate_dynamic(): free table-decoding huft-tree when exiting
315
    prematurely from the literal/distance tree data reading because of invalid
316
    compressed data [Rudolf Lechleitner, Chr. Spieler]
317
 - unzip.c - uz_opts(): local variable "error" should only take boolean values,
318
    no PK error codes (cosmetic correction) [Chr. Spieler]
319
 - vms/vms.c, process.c: modified handling of VMS do_wild() lookup errors to
320
    give more helpful messages to the end user [Steven M. Schweda]
321
 - unix/zipgrep: fixed security hole by handling shell metacharacters like '|'
322
    and '&' properly when they occurred in input file names [Greg Roelofs]
323
 - match.c: copied and adapted optimization for "*fixedstring" patterns from
324
    the Zip code into recmatch(); provided two local helper functions isshexp()
325
    and namecmp() for this optimization [Johnny Lee, Chr. Spieler]
326
 - Where: used the newer version from UnZip 5.52 [Chr. Spieler]
327
 
328
6.00c13 (02 Oct 05):
329
 - AOS/VS, Atari, AtheOS, BeOS, UNIX: fixed symlink code by avoiding fclose()
330
    on NULL handle in extract.c [Dan Yefimov]
331
 - AOS/VS, Atari, AtheOS, BeOS, UNIX (and unzpriv.h, fileio.c): modified the
332
    symlink code to use the opened outfile handle for re-reading the symlink
333
    target data; modified open_outfile to allow read access on outfile handle
334
    (security fix against "ToCToU" vulnerability) [Chr. Spieler]
335
 - UNIX (unix.c, Makefile, configure): fixed "ToCToU" security vulnerability
336
    in close_outfile by using fchown() & fchmod() instead of chown() & chmod()
337
    (only when available); added check for function existence to configure
338
    [Dan Yefimov, Matthias Scheler, Chr. Spieler]
339
 - fileio.c - open_outfile(): deny access for group&world to currently open
340
    outfile on all systems that support umask() (AOS/VS, Atari, AtheOS, BeOS,
341
    QDOS, Tandem, UNIX) [Chr. Spieler]
342
 - unzpriv.h, fileio.c - open_outfile(): open outfile in "write update" mode
343
    when supporting symlinks or QLZIP extensions; these features require the
344
    ability to reread the opened outfile [Chr. Spieler]
345
 - fileio.c: added WriteTxtErr() macro to allow differenciating between
346
    text-mode write function calls (in UzpMessagePrnt()) and binary write calls
347
    (everywhere else) [Chr. Spieler]
348
 - fileio.c, VMS only: use fprintf() instead of (f)write in WriteTxtErr(), to
349
    work around RMS record handling problem (e.g. when using PIPE to redirect
350
    messages) [Steven M. Schweda]
351
 - UNIX port: revised unix/configure and unix/Makefile for better integration
352
    of automatic configuration in the build procedure [Chr. Spieler]
353
 
354
6.00c14 (15 Nov 05):
355
 - VMS, descrip.mms: repaired CLEAN_ALL target which did not always delete
356
    all expected files  [Steven M. Schweda]
357
 - unzip.c, fixes for online help screen: corrected "-v" description and moved
358
    it from modifier section into options section, added description of "-T"
359
    option, removed the "DLL && API_DOC"-only description of the "-A extended
360
    API help" option [Chr. Spieler, Steven M. Schweda]
361
 - man/unzip.1: minor corrections in wording of "-v" option description
362
    [Chr. Spieler, Steven M. Schweda]
363
 
364
6.00c15 (17 Nov 05):
365
 - vms/vms.c: fixed do_wild() logic error introduced in August 2005,
366
    sys$search fails (at least on VAX) when not preceeded by a sys$parse
367
    call with "syntax-check-only" flag cleared [Steven M. Schweda]
368
 - process.c: cosmetic change in process_zipfiles() to shut-up gcc warning
369
    on non-UNIX (non-QDOS) systems [Chr. Spieler]
370
 
371
6.00c (19 Nov 05):
372
 - extract.c, bzip2 support: fixed missing ";" error (was only a problem
373
    when enabling BZIP2 support without LARGE_FILE support); added some
374
    (cosmetic) typecasts to shut up compiler warnings [Steven M. Schweda]
375
 - VMS support for BZIP2 decompression: updated make procedures and scripts,
376
    added "find_bzip2_dir" helper script and bzlib.h include file wrapper
377
    [Steven M. Schweda]
378
 
379
6.00d01 (04 Mar 07):
380
 - extract.c: replaced local wsize variable (DLL only) by reference to the
381
    "global" variable G._wsize [Chr. Spieler]
382
 - unzpriv.h: use fputs() instead of fprintf() as output function in the
383
    FUNZIP variant of the Info() macro, to prevent misinterpreting format
384
    specifiers in the sprintf() output. [Martin Pitt, ubuntu]
385
 - unix/unix.c: added detailed compiler version info for SunPro cc, HP cc,
386
    DEC cc. [Steven M. Schweda]
387
 - vms/descrip.mms: added support for architecture detection macro symbols
388
    built into newer versions of MMK (a MMS clone).  [Steven M. Schweda]
389
 - fileio.c - is_vms_varlen_txt(): commented out the currently unused code for
390
    determining the VMS fileorg setting. [Steven M. Schweda]
391
 - extract.c - extract_or_test_files(): the "back at endsig" checking code
392
    is not used for the SFX stub. [Steven M. Schweda]
393
 - win32: changed all Win32-API calls with string parameters to explicitely use
394
    the ANSI variant; this removes the dependency on the UNICODE and _UNICODE
395
    compile flags being undefined.  [NN, Chr. Spieler]
396
 - zipinfo.c: on WIN32, archive filename display must be fed through codepage
397
    translation. [Chr. Spieler]
398
 - zipinfo.c - zipinfo(): repaired several memory leaks when the listing loop
399
    is stopped prematurely because of inner errors. [Chr. Spieler]
400
 - crc32.c, crc32.h, crc_i386.S, crc_i386.asm, crc_i386.c: comprehensive
401
    revision of crc32 calculation, implementing the optimized algorithms from
402
    the zlib source code which depend on specific machine architecture
403
    characteristics (removed crctab.c, added crc32.h).  [Chr. Spieler]
404
 - crypt.c, crypt.h: adapted to the modifications of crc32.  [Chr. Spieler]
405
 - msdos, win32, vms, unix: enabled optimized crc32 algorithms on i386, VAX,
406
    and AXP architectures.  [Chr. Spieler]
407
 - win32/nt.c: tried to fix mutex handle leak in Initialize().
408
    [Johnny Lee, Chr. Spieler]
409
 - vms/vms.c - check_format(): added system error message to sys$open failure
410
    message. [Steven M. Schweda]
411
 - wince/intrface.cpp - checkdir(): corrected typo ('0' should be '\0')
412
    [Shawn Carey]
413
 - wince/wcemain.c - WinMain(): correct the removal code for enclosing argument
414
    quotes. [Shawn Carey, Chr. Spieler]
415
 - os2, win32 - checkdir(): fixed buffer overflow security bug for FAT-style
416
    buildpath, optimized code by removing overflow checks inside the copy loops
417
    [Johnny Lee, Chr. Spieler]
418
 - win32/win32.c - VFatFileTime2utime(): fixed return data generation in error
419
    branch for the "input time stamp cannot be converted to local time" case
420
    [Steve Youngs]
421
 - added new compression methods and e.f. IDs from PKWARE Appnote 6.3.0 as of
422
    2006-09-29  [Chr. Spieler]
423
 - extract.c - extract_or_test_files(): remove dead branch in the code section
424
    handling archive test summary messages.  [Chr. Spieler]
425
 - fileio.c - zstrnicmp(): added (uch) typecasts to comparison, to improve
426
    "compatibility" with "extended ASCII characters".  [Chr. Spieler]
427
 - vms: use CRTL-supplied function strncasecmp() for STRNICMP() when available.
428
    [Steven M. Schweda, Chr. Spieler]
429
 - vms/vms.c, vms/vms.h: for better synchronisation with upcoming UnZip 6 code,
430
    the macros for masking the "ODS2 vs. ODS5" support differences have been
431
    cleanded up and ported back to the 5.5x VMS code.  [Chr. Spieler]
432
 - ubz2err.c: new source file to isolate the bzip2 "fatal error" callback
433
    routine in its own module; this allows easy replacement of this routine
434
    when the UnZip package is used as a static library (e.g. for WiZ with
435
    bzip2 support).  [Chr. Spieler]
436
 - general: added new ubz2err.c module to the make procedures of ports that
437
    (might) support bzip2.  [Chr. Spieler]
438
 - crypt.c: optimized crypt-keys handling for Big-Endian systems using the
439
    optimized CRC32 code by introducing a local copy of the crc32 table
440
    containing byte-swapped values.  [Chr. Spieler]
441
 - extract.c, unzpriv.h: modified calling interface of find_compr_idx() to
442
    use unsigned instead of ush.  [Steven M. Schweda, Chr. Spieler]
443
 - vms/vms.c: added missing include of crc32.h header, added missing fab, nam
444
    variable declarations to checkdir().  [Steven M. Schweda]
445
 - vms/make_unz.com, vms/link_unz.com: avoid link problems with sticky
446
    dev:[dir] spec from externally supplied bzip2 lib.  [Steven M. Schweda]
447
 - vms/vms.[ch]: changed "ODS2 vs. ODS5" masking macros back to pre-5.53d
448
    style. [Steven M. Schweda]
449
 - vms: updated/corrected build procedures to handle modified bzip2 support.
450
    [Steven M. Schweda]
451
 - typo correction "explicitly" in various files.  [Steven M. Schweda]
452
 - cosmetic documentation change: use the "bzip" name all-lowercase when
453
    applied to the "library".  [Steven M. Schweda, Chr. Spieler]
454
 - vms/vms.c - return_VMS(): corrected mapping of PK_WARN to VMS status code
455
    severity level "Warning" (fixed regression bug introduced in UnZip 5.32).
456
    [Steven M. Schweda]
457
 - process.c: preliminary fixed Zip64 support to match 4.5 AppNote, removing
458
    the 76 byte error [EG]
459
 
460
6.00d02 (08 Mar 07):
461
 - extract.c: corrected typo (missing ";") in SYMLINKS code. [Steven M.Schweda]
462
 - VMS: updated MMS/MMK scripts (adapt for case-sensitive ODS5 and changed/new
463
    source/header files).  [Steven M. Schweda]
464
 - vms/vms.c: provide RMS resp. QIO re-read functionality for SYMLINKS support.
465
    [Steven M. Schweda]
466
 - vms/vms.c: revised SYMLINKS support (no special symlinks handling in -c, -p
467
    piping output mode, fixed buffer overflow security holes, moved symlink
468
    post-processing from close_outfile into the mode-specific subroutines,
469
    for "-V archived" entries the symlink target spec is only read back when
470
    needed for informational display purpose).  [Christian Spieler]
471
 
472
6.00d03 (10 Mar 07):
473
 - vms/vms.c: modified style of static function declarations into "independent"
474
    lines (on request of Steven M. Schweda).  [Chr. Spieler]
475
 - vms/vms.c: checked compilation, removed typos and wrong-named variables
476
    [Chr. Spieler]
477
 
478
6.00d04 (11 Mar 07):
479
 - vms/vms.c: used "better self-documenting" names for qio status structures,
480
    corrected/enhanced some error messages (unified formatting, specified
481
    "location" in code).  [Steven M. Schweda]
482
 - unix/Makefile: added some (preliminary) support for compiling with optional
483
    bzip2 decompression capability (mostly copied from msdos/Makefile.dj2,
484
    is not yet tested).  [Chr. Spieler]
485
 - process.c: added additional consistency checks to find_ecrec64().
486
 - extract.c, list.c, zipinfo.c: reviewed the "central dir processing complete"
487
    check to take into account the new status semantics from find_ecrec64().
488
    [Chr. Spieler]
489
 
490
6.00d05 (31 Mar 07):
491
 - Win32 port: added VC6 project files for "minimal" bz2lib and unzip with
492
    bzip2 support.  [Chr. Spieler]
493
 - list.c: added missing "PPMd" entry to array of known compression methods.
494
    [Chr. Spieler]
495
 - vms/vms.c: close a potential buffer overflow hole in symlinks handling code.
496
    [Chr. Spieler]
497
 - inflate.c - inflate_dynamic(): fixed erroneous huft_free() calls for
498
    unallocated memory when processing invalid data.  [Chr. Spieler]
499
 - crc32.[ch], crc_i386.S: added updated files that were accidentally missed
500
    in update 6.0d01.  [Chr. Spieler]
501
 - bz2lib renamed to bzip2 at request from Ed Gordon and Steven M. Schweda,
502
    updated affected makefiles (MS-DOS, Unix, Win32).  [Chr. Spieler]
503
 - renamed "Novell" port to "Netware" for clarity.  [Chr. Spieler]
504
 - win32.c - close_outfile(): on WinNT, truncate outfile to actual bytes
505
    written before close; otherwise, preallocated disk space does not get freed
506
    when extraction failed or was interrupted.  [Chr. Spieler]
507
 - process.c: corrected bugs in ecloc64 and ecrec64 recognition code.
508
    [Ed Gordon]
509
 - process.c: some cleanup in debugging code (changed TTrace() to Trace() in
510
    non-timestamp-related code portions.  [Chr. Spieler]
511
 - unzip.h: updated license text to last version of License.  [Chr. Spieler]
512
 
513
6.00d06 (02 Dec 07):
514
 - bzip2/makbz2iz.msc, bzip2/makbz2iz.wat: hide individual commands of the
515
    `clean' target.  [Chr. Spieler]
516
 - extract.c: corrected "extracted" message for bzipped entries to "bunzipped"
517
    [Steven M. Schweda]
518
 - unzpriv.h: removed "suspicious" explicit mask from Zip64 version of
519
    MASK_ZUCN64 preprocessor constant.  [Steven M. Schweda]
520
 - extract.c - fnfilter(): added check against internal buffer overflow.
521
    [Chr. Spieler]
522
 - unzpriv.h, fileio.c, win32/w32cfg.h, wince/wcecfg.h: repaired the MBCS
523
    definition for the CLEN() macro; this macro is assumed to return a strictly
524
    positive byte count.  [Kazuki Matsuda, Chr. Spieler]
525
 - unix/zipgrep: return the correct exit code from egrep even in cases where
526
    the egrep output is further piped through sed.  [Niklas Klein]
527
 - vms/vms.c: corrected case of the "__ia64" predefined preprocessor symbol.
528
    [Steven M. Schweda]
529
 - bzip2/descrbz2.mms: added make Info-ZIP specific VMS make script, as a
530
    starting point for integrated bzip2 compilation support in a similar
531
    way to other OS (Win32, Unix). (not yet working, requires more work to
532
    get completed and debugged...).  [Chr. Spieler]
533
 - win32/makefile.bc, win32/makefile.gcc, win32/makefile.wat: completed clean
534
    target functionality.  [Chr. Spieler]
535
 - win32, wince: added workaround to keep Visual Studio 2005 C compiler quiet.
536
    [N.N.]
537
 - unzpriv.h, extract.c, list.c, zipinfo.c: added "WavPack" (supported by
538
    WinZip 11+) to list of recognized compression types.  [Christian Spieler]
539
 - win32/nt.c: prevent calling IsValidAcl() with a NULL Acl pointer, to fix
540
    false 'EA security check' failures.  [Will Menninger]
541
 - renamed proginfo/extra.fld into proginfo/extrafld.txt, to synchronize with
542
    Zip3.  [Chr. Spieler]
543
 - process.c: added second try to find the EOCD64 record, to compensate for
544
    (SFX-stub) bytes prepended to the archive without adjustment of the offset
545
    records in the Zip file structures.  [Will Menninger, Ed Gordon]
546
 - fileio.c, process.c: replaced spurious use of Z_OFF_T by zoff_t.
547
    [Chr. Spieler]
548
 - win32/win32.c - utime2VFatFileTime(): initialize the wMillisecond field of
549
    the SYSTEMTIME structure to 0 to ensure deterministic time conversion.
550
    [N.N.]
551
 - explode.c: corrected type for data stream size variables from zoff_t into
552
    zusz_t.  [Chr. Spieler]
553
 - unix/configure, unix/Makefile: made automatic detection & compilation of
554
    bzip2 support working for the 'generic' target.  [Chr. Spieler]
555
 
556
6.00d07 (26 Dec 07):
557
 - fileio.c: old-style function head for fzofft().  [Steven M. Schweda]
558
 - acorn/makefile: updated to support bzip2 decompression (change was missed
559
    for 6.00d06).  [Chr. Spieler]
560
 - unix/configure: added/modified cc optimization checks [Steven M. Schweda]
561
 - unix/unix.c: added detailed IBM C version reporting to version().
562
    [Steven M. Schweda]
563
 - unix/unxcfg.h: use __hpux instead of __HP_cc to determine UTIMEBUF
564
    configuration [Steven M. Schweda]
565
 - unzip.h, unzip.c: removed IZ_COMPERR runtime error code. This code was only
566
    used in compile-time assertions of development code and did never get into
567
    a production environment.  [Chr. Spieler]
568
 - vms/vms.c, vms/UNZIP_MSG.MSG, vms/unzip_def.rnh, vms/unzip_cli.help: removed
569
    IZ_COMPERR support and documentation; debugging code should not be
570
    mentioned in end-user documentation.  [Chr. Spieler]
571
 - unzpriv.h: use __hpux instead of __HP_cc to determine support of "long long"
572
    type for HP (bundled ??) compiler.  [Steven M. Schweda]
573
    >>> This change may be wrong?? "long long" support is a compiler feature,
574
        not a runtime library feature!  [Chr. Spieler] <<<
575
 - VMS: added message file build to make procedures (missed change from
576
    6.00d06).  [Steven M. Schweda]
577
 - wince/wcemain.c: added missing modifications from unz553d beta (25 Dec 06),
578
    see also "wince/wcemain.c" changelog entry for 6.00d01.  [Chr. Spieler]
579
 - fileio.c - uzmbclen(): corrected return type definition.  [Chr. Spieler]
580
 - win32/nt.c: added some typecasts in Initialize() to get newer gcc quiet.
581
    [Chr. Spieler]
582
 - win32/win32.c: added some superfluous variable initializations to prevent
583
    gcc compiler warnings.  [Chr. Spieler]
584
 - bzip2/descrbz2.mms: made MMS description file work (at least on OpenVMS 8.3
585
    IA64 testdrive account).  [Chr. Spieler]
586
 - vms/descrip_src.mms: modified bzip2 support so that it works with the
587
    library created by bzip2/descrbz2.mms, using the original bzip2 1.0.4
588
    sources.  [Chr. Spieler]
589
 
590
6.00d08 (29 Dec 07):
591
 - bzip2/descrbz2.mms: modified compile options to create a library which is
592
    binary compatible with the results of the SMS-specific deviated bzip2
593
    distribution for VMS.  [Chr. Spieler]
594
 - bzip2/buildbz2.com: new VMS DCL build script for the bzip2 "BZ_NO_STDIO"
595
    library used by the bzip2 support in  UnZip.  [Chr. Spieler]
596
 - vms/descrip.mms, vms/descrip_src.mms: changed back so that the SMS-specific
597
    deviated bzip2 source package works again; added/completed support for
598
    standalone bzip2-included build using bzip2/descrbz2.mms.  [Chr. Spieler]
599
 - vms/make_unz.com, vms/link_unz.com: removed these obsolete files, they have
600
    been replaced by vms/build_unzip.com.  [Chr. Spieler]
601
 - vms/build_unzip.com: added support for compiling bzip2-enabled programs
602
    in "standalone" source setup, using bzip2/buildbz2.com for creating the
603
    bz2 object library.  [Chr. Spieler]
604
 - updated the UNICODE_SUPPORT code from Ed Gordon's work (6.00d05t, excluding
605
    the win32-wide specific code).  This code is unfinished, besides other
606
    issues there is a memory leak to be fixed.  [Ed Gordon, Chr. Spieler]
607
 - unzip.c: Added "static" to test_buf definition in the "NEXTBYTE operation
608
    test" code block of main function unzip().  [SMS]
609
 - unzpriv.h: Added -related stuff from 6.00d05t (SMS), with some
610
    corrections.  [Steven M. Schweda, Chr. Spieler]
611
 
612
6.00d09 (06 Jan 08):
613
 - unzip.c: corrected parser code for "negated -D" option.  [Steven M. Schweda]
614
 - man/unzip.1: extended explanation of the VMS-specific differences in the
615
    "-D" option behaviour for clarity.  [Steven M. Schweda]
616
 - vms/unzip_cli.cld, vms/cmdline.c: corrections and refinements applied to
617
    the CLI parsing code for the new "-D" option.  [Steven M. Schweda]
618
 - vms/INSTALL.VMS: added/updated build description aspects concerning optional
619
    bzip2 support.  [Steven M. Schweda]
620
 - vms/unzip_cli.help: clarified description of the changed and extended
621
    /RESTORE qualifier.  [Steven M. Schweda]
622
 - vms/vms.c, vms/vms.h, vms/cmdline.c, ttyio.c: Added defines to translate all
623
    used system routine names to uppercase, to allow using /NAMES=AS_IS with
624
    the broken header files of older DECC distributions.  [Steven M. Schweda]
625
 
626
6.00d10 (10 Feb 08):
627
 - globals.h, process.c, fileio.c: fix memory leak concerning filename_full
628
    handling (UNICODE_SUPPORT code).  [Chr. Spieler]
629
 - ubz2err.c: renamed formal parameter "errcode" into "bzerrcode" to work
630
    around a bug in MS Visual C++ 9.0 (2008).  [Chr. Spieler]
631
 - VMS: small cleanups to CLI code.  [Steven Schweda, Chr. Spieler]
632
 - vms/vmscfg.h: added missing cma$tis_errno_get_addr uppercase define for
633
    broken compiler distributions.  [Steven Schweda, Chr. Spieler]
634
 - vms/descrip_mkdeps.com: Added CLEAN and CLEAN_ALL targets.  [Steven Schweda]
635
 - win32, windll: added MS VC++ 8.0 project files.  [Chr. Spieler]
636
 - win32/Makefile: removed dependency on ntwin32.mak, for better compatibility
637
    with VC++ 8.0 Express Edition.  [Chr. Spieler]
638
 - api.c: moved  include down behind "unzip.h" include to shut up
639
    "depreciation" warnings with VC++ 8.0 and newer.  [Chr. Spieler]
640
 - windll/struct.h: added D_flag support to option structure.  [Chr. Spieler]
641
 - windll/vb/vbunzip.bas: corrected UZDLLPAss callback function interface,
642
    adapted to recent DLL interface changes.  [Johnny Lee, Chr. Spieler]
643
 - windll: removed "DESCRIPTION" clause from all module definition files;
644
    newest VC++ version does no longer tolerate it.  [Chr. Spieler]
645
 - unzip.h: enable H_flag and U_flag for UNIX, VMS, WIN32 (those systems that
646
    are currently supposed to support UTF8 names); unzip.h must not depend on
647
    internal configuration settings like UNICODE_SUPPORT.  [Chr. Spieler]
648
 
649
6.00d11 (16 Feb 08):
650
 - vms/cmdline.c: canceled name-change for local variable 'restore_date'
651
    (was incomplete in 6.00d10 and broke compilation).  [Chr. Spieler]
652
 - unzpriv.h: removed "fixed" allocation of space for the two string
653
    delimiters from the definition of type slinkentry. [Steven M. Schweda]
654
 - unix/unix.c - set_symlnk_attribs(): modified usage of typecasts to remove
655
    some compiler warnings.  [Steven M. Schweda]
656
 - aosvs, atari, atheos, beos, unix, vms - close_outfile(): Increased the
657
    allocation size for the slnk_entry structure by 2 for the two '\0'
658
    end-of-string markers.  [Chr. Spieler]
659
 - unix/Makefile: modified bzip2 lib target to be only applicable to the
660
    bzip2 subdir of the UnZip distribution.  [Chr. Spieler]
661
 - unix/configure: extended bzip2 support check from Zip's configure to better
662
    support "externally" supplied bzip2 libraries.  [St. Schweda, Chr. Spieler]
663
 - vms/descrip_src.mms, bzip2/descrbz2.mms: cleaned up VMS MMS support for
664
    integrated build of bzip2-enabled UnZip executables.  [Chr. Spieler]
665
 - msdos, unix, vms, win32: at request from SMS, changed all occurrences of
666
    "DIR_BZ2LIB" symbol in build scripts for the directory of the bzip2 library
667
    sources (and often also binaries) into "IZ_BZIP2", for synchronization
668
    with Zip.  [Chr. Spieler]
669
 
670
6.00d (17 Feb 08):
671
 - win32/Makefile: fixed configuration variations of bzip2 support when using
672
    non-standard build options regarding rtl linking; added documentation
673
    section for the supported build variant flags on the nmake command line.
674
    [Chr. Spieler]
675
 
676
6.00e01 (17 Feb 08):
677
 - unzpriv.h: re-added "fixed" allocation of space for the first of two string
678
    delimiters from the definition of type slinkentry, the "buf[]" structure
679
    member is not accepted by some older compilers. [Chr. Spieler]
680
 - aosvs, atari, atheos, beos, unix, vms - close_outfile(): Reduced the
681
    allocation size for the slnk_entry structure by 1, one of the two '\0'
682
    end-of-string markers is again part of the structure.  [Chr. Spieler]
683
 - unix/configure: export CC and IZ_BZIP2 symbols to flags, to feed their
684
    current settings to the child make process without having to use special
685
    make command qualifiers.  [Steven M. Schweda, Chr. Spieler]
686
 
687
6.00e02 (08 Mar 08):
688
 - unix/unix.c - close_outfile(): added missing semicolon in the SYMLINKS code
689
    for the non-SET_SYMLINK_ATTRIBS case.  [Steven M. Schweda]
690
 - unzip.c: removed extra "credit to Myles Bennet" note from startup screen
691
    for space considerations; added credit note to README and referenced
692
    Myles Bennet in proginfo/CONTRIBS.  [Chr. Spieler]
693
 - vms/vms.c: fixed dir separator find logic in vms_path_fixdown() for cases
694
    where directory name contains a '.' or '[' itself.  [Steven M. Schweda]
695
 - crc32.h: replaced explicit inclusion of zip.h by a note that this header
696
    should be read after zip.h resp. unzip.h.  [Steven M. Schweda, C. Spieler]
697
 - unix/configure, unix/Makefile: cleaned up auto-configured build procedure.
698
    * pass the "configure"-selected C optimizations to the bzip2 build process.
699
    * clean only affects the unzip-specific bzip2 subdirectory.
700
    * let make display the bzip2 clean subprocess call.
701
    [Steven M. Schweda]
702
 - unzip.c, unzip.h, zipinfo.c, fileio.c - UNICODE_SUPPORT, revised the
703
    options to control UTF-8 handling:
704
    * removed the -H option
705
    * modified -U option syntax: -U forces to escape all non-ASCII UTF-8 chars,
706
      -UU must be used now to entirely disable UTF-8 support.
707
    [Chr. Spieler]
708
 - windll/windll.{c|txt}: added U_flag to option stucture.  [Chr. Spieler]
709
 - man/unzip.1, man/zipinfo.1: added description of the new UTF-8 related
710
    syntax for the -U option.  [Chr. Spieler]
711
 - win32/w32cfg.h, wince/wcecfg.h: enabled UNICODE_SUPPORT by default.
712
    [Chr. Spieler]
713
 - win32/Makefile: adapted to modified UNICODE_SUPPORT default.  [Chr. Spieler]
714
 - wince/intrface.cpp - close_outfile(): moved local (wide string) copy of
715
    filename outside of conditional "set timestamps" block.  [Chr. Spieler]
716
 - unzpriv.h: do never include  here for the wince port (_WIN32_WCE or
717
    POCKET_UNZIP), this must be handled elsewhere for C++.  [Chr. Spieler]
718
 - unzip.c: removed the -U option description from the introductory screen for
719
    WIN32 because of lacking space. Maybe, these "debugging" options should not
720
    be shown there at all.  [Chr. Spieler]
721
 
722
6.00e03 (29 Mar 08):
723
 - unix/configure: corrected detection of ANSI C vs. bundled C compiler on
724
    HP-UX.  [Steven M. Schweda]
725
 - VMS, unzip.c: help screen extended to show correct "-D" semantics for the
726
    special VMS defaults.  [Steven M. Schweda]
727
 - unix/Makefile: added "generic_gcc" target, using auto-configuration with
728
    GNU compiler.  [Steven M. Schweda]
729
 - unzip.c: renamed error message constant for clarity.  [Chr. Spieler]
730
 - unshrink.c: revision to fix long-standing decompression bug, added boundary
731
    checks to detect invalid compressed data.  [Santiago Vila, Chr. Spieler]
732
 - extract.c: added error message handling for "invalid data" errors from
733
    unshrink().  [Chr. Spieler]
734
 - process.c, unzpriv.h: disabled compilation of unused UNICODE_SUPPORT helper
735
    function.  [Chr. Spieler]
736
 - process.c, win32/win32.c: added special win32-only version of the
737
    wide_to_local_string() helper function to work around "ANSI vs. OEM"
738
    codepage problems with non-Microsoft C-runtime libraries.  [Chr. Spieler]
739
 - zipinfo.c - zipinfo(): corrected "back at end-of-cdir" check (synchronized
740
    it with the corresponding list_files() code).  [Chr. Spieler]
741
 - fileio.c - do_string(): closed UNICODE_SUPPORT related memory leaks
742
    (free allocated utf8 buffers when no longer used).  [Chr. Spieler]
743
 - vms/vms.c - set_direc_attribs(): do not restore any size info from the
744
    (PK-style) extra field record attributes settings.  The new directory
745
    created during extraction may contain fewer (restored) entries than the
746
    original source folder, so that the old non-matching size data would
747
    result in corrupted interal directory structures.  [Steven M. Schweda]
748
 
749
6.00e04 (27 Apr 08):
750
 - vms/vms.c - set_direc_attribs(): fixed NAM[L] initialization for the
751
    "normal" non-VMS-attributes case.  [Steven M. Schweda]
752
 - vms/NOTES.TXT updated (version copied from zip30h05).  [Steven M. Schweda]
753
 - unzip.c, vms/NOTES.TXT: added SYMLINKS to the special compilation options
754
    reported by show_version_info(); updated Symbolic Links section in
755
    NOTES.TXT.  [Chr. Spieler]
756
 - INSTALL: added documentation for the new UNICODE_SUPPORT related options.
757
    [Chr. Spieler]
758
 - README: added anouncement of the new UTF-8 coded entry names support.
759
    [Chr. Spieler]
760
 - fileio.c, process.c, unzip.c, globals.h, unzpriv.h, win32/w32cfg.h,
761
    wince/wcecfg.h : revised the UNICODE_SUPPORT code, added direct support for
762
    UTF-8 being the native MBCS char encoding, allowed separate activation of
763
    the "UTF-8 is native character coding" and the "translate UTF-8 <==> native
764
    extended-ASCII via Unicoded wchar_t" support methods.  [Chr. Spieler]
765
 - unix/configure, unix/Makefile: extended configure script to support
766
    automatic selection of UNICODE_SUPPORT support on capable systems,
767
    completed configuration support for the linking step.  [Chr. Spieler]
768
 - unix/unxcfg.h: changed interdependency rules of LARGE_FILE_SUPPORT and
769
    ZIP64_SUPPORT to prevent unsupported symbol combinations.  [Chr. Spieler]
770
 - man/unzip.1: extended description of -U option to mention the #Lxxxxxx
771
    escape format for characters beyond the basic unicode page.  [Chr. Spieler]
772
 - proginfo/extrafld.txt: updated wording and line wrapping of Info-ZIP
773
    Unicode extra fields.  [Chr. Spieler]
774
 
775
6.00e05 (09 Sep 08):
776
 - unix/unix.c - version(): added OS info support for Mac OS X (including a
777
    note for the recognized CPU architecture).  [Steven M. Schweda]
778
 - unix/configure: check for Mac OS X special linker options is only executed
779
    on systems that have been identified as Mac OS X.  [Steven M. Schweda]
780
 - unix/Makefile: moved "solaris" targets into new "autoconfig generic" group
781
    of machine target aliases.  [Steven M. Schweda, Chr. Spieler]
782
 - extract.c, fileio.c: use "sizeof(G.answerbuf)" as length argument in fgets()
783
    calls, for better robustness and "in-code" documentation.  [Chr. Spieler]
784
 - extract.c - extract_or_test_entrylist(): fixed handling of \n in response
785
    to "overwrite (y/n/r)" prompt.  [Steven M. Schweda, Chr. Spieler]
786
 - extract.c, special version of "replace file" prompt for VMS to take into
787
    account that VMS normally created a new version instead of overwriting
788
    an existing file.  [Steven M. Schweda]
789
 - unzpriv.h: for VMS, undefine the PATH_MAX definition provided by ,
790
    because it does not take into account long name support of ODS-5 volumes.
791
    [Steven M. Schweda]
792
 - VMS: added zlib.h and infback9.h jacket headers for support of using zlib
793
    as inflate decompression code; revised build procedures for zlib support
794
    (build_unzip.com, descrip.mms, descrip_src.mms).  [Steven M. Schweda]
795
 - inflate.c: corrected condition when to include "infback9.h" for Deflate64
796
    support with zlib 1.2.x.  [Chr. Spieler]
797
 - extract.c: standardized wording of error messages in SET_DIR_ATTRIBS code.
798
    [Steven M. Schweda]
799
 - vms/vms.c - set_direc_attribs(): ensure that the FAB block used is properly
800
    initialized.  [Steven M. Schweda]
801
 - aosvs, atari, atheos, beos, unix - mapname(): for all "unix-like" ports, the
802
    reserved file names "." and ".." are mapped to "_" resp. "__".
803
    [Steven M. Schweda, Chr. Spieler]
804
 - list.c - changed listing layout to emit four-digit years for file
805
    date-time-stamps.  [Ed Gordon, Chr. Spieler]
806
 - process.c - find_ecrec(): fixed zipfile comment handling within the Zip64-
807
    compatible end-of-central-dir records scanning, to take into account that
808
    the file pointer is no longer at the zipfile end when the eocdrec scanning
809
    has finished.  [Chr. Spieler]
810
 - process.c, zipinfo.c: revised and reorganized zipinfo log header output;
811
    the zip archive comment has to be reported before all of the eocdir info
812
    could be collected.  [Chr. Spieler]
813
 - man/unzipsfx.1 - Debian patches 4461_002 and 5293_009 fixing text errors;
814
    correct spelling of similarly and additional per debian patch; correct
815
     wrong formatting command \P to \fP.  [sanvila]
816
 - vms/build_unzip.com: fixed integrated bzlib build support.  [Chr. Spieler]
817
 
818
6.00e06 (13 Sep 08):
819
 - unix/unix.c - set_symlnk_attribs(): removed erronous surplus line with only
820
    "if" on it. [Steven M. Schweda]
821
 - vms/descrip_deps.mms: restored correct file which was accidentally
822
    overwritten by vms/descrip_src.mms.  [Steven M. Schweda]
823
 - vms/build_unzip.com: optimized the distinction between "compile destination
824
    subdir" for integrated BZIP2 compilation (should distinguish between the
825
    different compilers supported for VAX) and "external library dir" for
826
    user-supplied BZIP2 (and ZLIB) libraries (user-supplied library is expected
827
    to work with any supported compiler on VAX, so no dependency on the
828
    specific compiler used).  [Steven M. Schweda]
829
 - unzip.c: replaced tab characters in output messages by appropiate number of
830
    spaces (assuming standard tab spacing of 8 chars), to prevent mis-formatted
831
    output on terminals with non-standard tabstop settings.  [S. M. Schweda]
832
 - unix/unix.c
833
    * set_symlnk_attribs(): fixed uid/gid size check before calling lchown();
834
    * set_direc_attribs(): repared wrongly inserted patch and fixed uid/gid
835
      size check before calling chown().  [Chr. Spieler]
836
 - vms/vms.c: fixed user-query code for existing files on VMS when extracting
837
    in "-V" mode (retaining version numbers); fixed some problems with exotic
838
    extended ODS5 file names, and files named ".".  [Steven M. Schweda]
839
 - vms/cmdline.c, vms/unz_cli.cld: extended CLI to support the new extended
840
    meaning of the -o flag (-oo => "overwrite ALL existing" when retaining
841
    version numbers ("-V") and extracting archive members with attached version
842
    number (new /EXISTING option).  [Steven M. Schweda]
843
 - extract.c - extract_or_test_entrylist(): added code to skip the generic user
844
    query "overwrite (y/n/r)?" when extracting an entry with attached version
845
    number in "-V" (keep version number) mode.  [Steven M. Schweda, C. Spieler]
846
 - vms/unzip_cli.help, vms/unzip_hlp.rnh: updated documentation to reflect the
847
    UI extension to handle VMS-specific "overwrite or new version" settings.
848
    [Steven M. Schweda]
849
 - unzip.c: added VMS specific -n and -o (-oo) option description sections
850
    to online help screen definitions.  [Steven M. Schweda]
851
 - vms/cmdline.c: corrected some small formatting issues in online help output.
852
    [Chr. Spieler]
853
 - vms/unzip_cli.help, vms/unzip_hlp.rnh: corrected a few typos and updated the
854
    help screen for the "unix-style" commands in the CLI help.  [Chr. Spieler]
855
 - vms/vms.c, extract.c, unzpriv.h: fixed the the error handling of the VMS-
856
    specific "newver/overwrite/skip" query by extending the return code range
857
    of open_output() for VMS, without any new global data.  [Chr. Spieler]
858
 
859
6.00e (04 Jan 09):
860
 - fileio.c: changed tmpstat from struct stat to z_stat.  [EG]
861
 - unzip.c: expanded extended help to include unzip and zipinfo options.  [EG]
862
 - man/unzip.1: updated multi-part archive information; minor additions
863
    to authors activities list.  [EG]
864
 - fileio.c: added strerror(errno) output to CannotCreateFile message.  [SMS]
865
 - unix/unix.c: add more detailed error message using strerror() when a
866
    file error occurs.  [SMS]
867
 - unix/zipgrep - add additional information to top.  Clean up some lines and
868
    add commments.  Added code to handle backslashes in archive file names,
869
    and shell-special characters in the pattern. Changed to use "sed" for all
870
    escaping of shell-special characters. Tried to get the exit status to
871
    follow the status of egrep in the complex (default) situation, using only
872
    standard Bourne shell features, and to exit early if egrep returns
873
    status 2 (error).  [SMS]
874
 - vms/unzip_cli.help - VMS help updates.  [SMS]
875
 - vms/unzip_def.rnh - synchronized option description with unzip_cli.help.
876
    [Chr. Spieler]
877
 - fileio.c: extend backup number range from 65535 to 99999 on 32-bit systems;
878
    fixed limit detection on 16-bit systems.  [Chr. Spieler]
879
 - zipinfo.c: changed date layout of "short" (one-line) zipinfo modes to always
880
    use ISO-style YMD order.  [Chr. Spieler]
881
 - unix/configure: added a simple compiler test to check for a working C
882
    compiler setup.  [Steven M. Schweda]
883
 - cmsmvs/vmmvs.h: removed __EBCDIC preprocessor symbol definition (not used
884
    anywhere in UnZip, breaks compilation on Z-OS).  ["Lutz", Chr. Spieler]
885
 - unix/makefile - moved -L link option earlier in unzip$E rule.  [Lutz]
886
 - unzip.c - Remove "s" from "permits" in SYMLINKS feature message.  [SMS]
887
 - vms/vms.c: simplified the scheme to escape non-last dots, for compatibility
888
    with modifications in Zip 3.1.  [SMS]
889
 - vms/vms.c, vms/vms.h, function create_qio_output(): revised NMCTL flag
890
    handling ("overwrite or create-new" code) to be VAXC compatible.  [SMS]
891
 - extract.c - extract_or_test_entrylist(): removed '\n in middle of WINDLL
892
    "file exists ... skipping" message to get it displayed on one line.  [EG]
893
 - man/unzip.1, INSTALL: updated/corrected documentation for the UNIXBACKUP
894
    feature and the description of its -B qualifier.  [Chr. Spieler]
895
 - proginfo/ziplimits.txt: updated discussion of program implementation limits
896
    to the state of "released" Zip 3.0 and UnZip 6.0.  [EG, Chr. Spieler]
897
 - README, Bugs, ToDo: updated and syncronized documentation for release
898
    candidate.  [Chr. Spieler]
899
 - windll/structs.h: added structure version id field at the "top" of the
900
    "DCL" options struct.  [EG]
901
 - windll/structs.h: added UZ_DCL_STRUCTVER preprocessor symbol, holding the
902
    currently valid version id of the DCL structure definition.  [Chr. Spieler]
903
 - windll/windll.c - Wiz_SetOpts(): exit function if version id of passed in
904
    "DCL" structure is not equal to the expected setting.  [EG, Chr. Spieler]
905
 - windll/unexampl.c: synchronized with recent WinDLL option structure
906
    addition.  [EG, Chr. Spieler]
907
 - windll/vc?/exampl/c_dll_ex.[dsp|vcproj]: new Visual Studio project files
908
    for building the WinDLL C usage example uzexampl.exe.  [EG, Chr. Spieler]
909
 - windll/vb/vbunzip.bas: changed DLL interface to use UZxxx_I32 variants of
910
    callback functions that split 64-bit values into high and low part 32-bit
911
    integers that can be handled by VB(A)5/6.  Inside the VB code, low and
912
    high parts are added up in Currency type variables. Converted \ to / in
913
    duplicate file message.  Fixed MsgBox flags concatenation.  Added support
914
    for new OverwriteAll checkbox.  [EG]
915
 - windll/vb/vbunzip.frm: added OverwriteAll checkbox, added resizing to
916
    txtMsgOut output box.  [EG]
917
 - windll/vb/vbunzip.frm, windll/vb/vbunzip.bas: cleaned up and completed the
918
    recent modifications, resynchronized with WinDLL interface with UnZip 6.0
919
    master source, removed all modification incompatible with VB5, fixed the
920
    UZDLLServ_I32() callback calling interface, used Double instead of
921
    Currency as Int64 summation type to prevent potential numeric overflow
922
    issues.  [Chr. Spieler]
923
 
924
6.00f (11 Jan 09):
925
 - INSTALL: added notes on the difference between "old" Macintosh OS and
926
    current Apple Mac OS/X, which is supported as a BSD Unix port .  [EG]
927
 - unzip.c - help_extended(): added some documentation about funzip and
928
    unzipsfx stub.  [EG]
929
 - windll/csharp/: updated C# example to match the current Zip64-compatible
930
    WinDLL API, revised string parameter marshalling, initialized/resetted
931
    job statistic counters, added OverwriteAll checkbox.  [Chr. Spieler]
932
 - win32/Makefile: the DLL example frontend is now compiled with the same
933
    runtime library settings as the DLL binary.  [Chr. Spieler]
934
 - LICENSE: updated to version 2009-Jan-2, which removes the requirement to
935
    provide the LICENSE in documentation with distribution of binaries when
936
    the redistributed programs support display of the LICENSE by some command
937
    line option.  [EG]
938
 - vms/vms.h, vms/vms.c: moved "lowercase to uppercase mapping" define of
939
    sys$setdfprot from vms.c into vms.h in front of the starlet.h include,
940
    where all the other name case mappings are located.  [Steven M. Schweda]
941
 - vms/vms.c: made the declaration of sys$setdfprot() always active when
942
    the SETDFPROT symbol is defined.  [Chr. Spieler]
943
 - unix/unix.c: added strerror(errno) output to various "Cannot..." I/O error
944
    messages (in checkdir(), close_outfile(), set_symlnk_attribs()).
945
    [Steven M. Schweda, Chr. Spieler]
946
 - fileio.c - open_outfile(): added strerror(errno) output to the error
947
    messages "cannot rename ..." and "cannot delete ...".  [Chr. Spieler]
948
 - fileio.c - do_string(): corrected string length passed to win_fprintf()
949
    (comment string may get shortened by CRLF->LF translation). [Chr. Spieler]
950
 - beos/beos.c, beos/beocfg.h, aosvs/aosvs.c, win32/win32.c: extended various
951
    "Cannot..." I/O error messages with strerror(errno) output, to synchronize
952
    code with current state of the Unix port.  [Chr. Spieler]
953
 - unzip.c, unzpriv.h, unix/configure: added better check for UTF-8 codeset
954
    using nl_langinfo() function, as suggested on the sourceforge.net forum;
955
    added nl_langinfo() to the "function existence" checks in the configure
956
    script.  [Chr. Spieler]
957
 - wince/intrface.cpp: added missing wide_to_local_string() function from
958
    win32.c (is [currently] needed in process.c).  [Chr. Spieler]
959
 
960
6.00g01 (18 Jan 09):
961
 - extract.c, windll/structs.h, windll/windll.txt: added a bufsize parameter
962
    to the "replace()" callback function, updated UZ_DCL_STRUCTVER setting to
963
    0x600.  [Chr. Spieler]
964
 - windll/uzexampl.c, windll/csharp/Unzip.cs, windll/vb/vbunzip.bas,
965
   windll/guisfx/sfxwiz.c, wince/intrface.cpp: adapted frontend code to the
966
    "replace()" callback function signature change; updated DCL.StructVersID
967
    setting to reflect the change in the DLL code; added check against password
968
    buffer overflow (not in uzexampl.c).  [Chr. Spieler]
969
 - windll/vb/vbunzip.frm: removed obsolete comment.  [EG]
970
 - windll/csharp/ReadMeCS.txt: added note on problem with Visual Studio 8.0
971
    and 9.0 when used with unzip32.dll that was linked against the Visual
972
    Studio version of the MS C runtime dll.  [Chr. Spieler]
973
 - unix/Makefile: consistent use of "$E" for executable filename extension;
974
    fixed dependency of binary builds on system specific config header; added
975
    dependency of autoconfigured "generic" builds on the configure result.
976
    [Chr. Spieler]
977
 - unzip.c: added hint to "unzip -hh" extended help display to the short help
978
    screen.  [Chr. Spieler]
979
 - unzip.c - help_extended(): removed superfluous "]", corrected availability
980
    info for the "-B" option.  [EG, Chr. Spieler]
981
 - man/unzip.1, unzip.c, vms/unzip_def.rnh, vms/unzip_cli.help - modified
982
    description of -X option for VMS to emphasize that this option controls
983
    restoration of ACL protection info, whereas the standard S/O/G/W access
984
    restrictions get always restored.  [SMS, H. Goatley, Chr. Spieler]
985
 - unzip.h, api.c, unzipstb.c, unzvers.h, windll/windll.txt,
986
   windll/vb/vbunzip.bas:
987
    revised and extended the "version info retrieve" function calls, added
988
    version identifier for the "last incompatible API change", fixed version
989
    structure size handling, updated API documentation.  [Chr. Spieler]
990
 - windll/windll.c - UnzipAllocMemory(): fixed operator precedence bug by
991
    adding explicit parenteses.  [Chr. Spieler]
992
 - win32/Makefile.wat: added missing rule for crc32f.obj.  [Chr. Spieler]
993
 - unzip.c - uz_opts(): corrected parameter list for call of help_extended().
994
    [Chr. Spieler]
995
 - unix/Makefile: adapted linux_shlib and linux_shlibz targets to work with
996
    the changed organisation of the assembler CRC code.  [Chr. Spieler]
997
 
998
6.00g02 (25 Jan 09):
999
 - History.600, unzpriv.h, unix/unix.c: corrected/unified spelling of
1000
    "dependent" and "dependence".  [Steven M. Schweda]
1001
 - api.c - UzpVersion2(): added forgotten setting of dllapimin version info
1002
    (similar to UzpVersion()).  [Chr. Spieler]
1003
 - unzipstb.c, windll/uzexampl.c, windll/uzexampl.h: extended DLL version
1004
    display to report the new "DLL API" version info; added compatibility
1005
    checks for version of loaded dll, using the recently added additional
1006
    API version info.  [Chr. Spieler]
1007
 - windll/uzexampl.c: changed program return values to follow common usage
1008
    (0 for no error, -1 for fatal abort, unzipdll return code otherwise).
1009
    [Chr. Spieler]
1010
 - windll/vb/VBReadMe.txt, windll/vb/vbunzip.bas: revised and extended
1011
    documentation of unzip32.dll search process flow, added warning note
1012
    explaining the unexpected "dll not found" errors when running the VB code
1013
    inside the VB IDE.  [Chr. Spieler]
1014
 - windll/vb/vbunzip.bas: added version/api compatibility checks for the
1015
    loaded unzip32.dll, aborting the program in case of any detected
1016
    incompatibility.  [Chr. Spieler]
1017
 
1018
6.00g03 (10 Feb 09):
1019
 - README, History.600: documented support for new 32-bit UID/GID extra field
1020
    on Unix.  [Ed Gordon, Chr. Spieler]
1021
 - unzip.h: added "old lib swprintf" compatibility clause for Pocket-UnZip
1022
    (WinCE) to support current Visual Studio versions 8 and 9. [Chr. Spieler]
1023
 - wince/wcecfg.h: switched off UNIX_BACKUP for WinCE (rename() function not
1024
    available on Windows CE); moved the (none-WCE) configuration setup for
1025
    Zip64 support to the end (behind all header includes).  [Chr. Spieler]
1026
 - wince/wince.h: added guard against redefinition of isalpha() macro.
1027
    [Chr. Spieler]
1028
 - wince/intrface.cpp - win_fprintf(): reordered local loop counter variable
1029
    declaration to achieve compatibility with standard C++ (without breaking
1030
    the non-standard MS VC++ 6.0 variant).  [Chr. Spieler]
1031
 - extract.c, list.c, process.c, zipinfo.c: replaced strncmp() by memcmp()
1032
    when comparing against "binary" signatures.  [Chr. Spieler]
1033
 - process.c - wide_to_escape_string(): fixed a "write to unallocated memory"
1034
    bug.  [Chr. Spieler]
1035
 
1036
6.00g04 (16 Feb 09):
1037
 - unzpriv.h: mapped zfseeko and zftello to C rtl supplied functions for MS
1038
    C runtime of VC 8.0 or newer.  [Chr. Spieler]
1039
 - win32/win32i64.c: revised zfseeko() code to correctly clear the eof state
1040
    (and for "MSVC 6.0 or newer" rtl environments: manipulate internal flag
1041
    to prevent clearing a ferror() state).  [Chr. Spieler]
1042
 - windll/vc5/, windll/vc6/, windll/vc8/: added "link against static C rtl"
1043
    configurations to the unzip32 dll and c_example projects.  [Chr. Spieler]
1044
 - win32/vc8/, windll/vc8/: removed "UpdateFromVC600" property sheet settings,
1045
    they are not needed.  [Chr. Spieler]
1046
 - windll/guisfx/sfxwiz.c: added compatiblity preprocessor switches to shut up
1047
    MS VC 8 (and newer) complaining about depreciated standard C functions.
1048
    [Chr. Spieler]
1049
 - INSTALL, windll/Contents: added notes about different runtime configurations
1050
    (linking against C rtl dll vs. static C rtl lib) when building the UnZip
1051
    DLL.  [Chr. Spieler]
1052
 
1053
6.00g (28 Feb 09):
1054
 - unzip.c: cleaned up the UTF-8 check according to the code found in the
1055
    latest Zip 3.1 beta, removed the "switch to UTF-8 codeset" code because
1056
    it proved to not work as expected.  [Ed Gordon, Chr. Spieler]
1057
 - win32/w32cfg.h: use rtl-provided MBCS functions for MinGW32 when compiled
1058
    and linked against msvcrt.dll.  [Chr. Spieler]
1059
 - extract.c - fnfilter(): added "enhanced" non-printable charcode filtering
1060
    when a locale-aware isprint() implementation is available (controlled by
1061
    the preprocessor symbol HAVE_WORKING_ISPRINT).  [Chr. Spieler]
1062
 - win32: enabled "enhanced" fnfilter() filtering for compiler environments
1063
    using MSVC 6.0 (or newer) runtime, and for Borland C.  [Chr. Spieler]
1064
 - vms: enabled "enhanced" fnfilter() filtering using isprint(), may get
1065
   disabled by defining the NO_WORKING_ISPRINT symbol.  [Chr. Spieler]
1066
 - unix/unxcfg.h: enabled "enhanced" fnfilter() filtering when setlocale() is
1067
    available (NO_SETLOCALE is not defined).  [Chr. Spieler]
1068
 - unix/configure: added NO_SETLOCALE define when setlocale() check fails.
1069
    [Chr. Spieler]
1070
 - INSTALL: added documentation of NO_SETLOCALE and HAVE_WORKING_ISPRINT resp.
1071
    NO_WORKING_ISPRINT symbols.  [Chr. Spieler]
1072
 - general: unified spelling of "wildcard".  [Chr. Spieler]
1073
 
1074
6.00h01 (09 Mar 09):
1075
 - vms/vms.c: added missing case-translation define for sys$getdvi(), for
1076
    support of /NAMES=AS_IS with older DECC distributions.  [Steven M. Schweda]
1077
 - vms/build_unzip.com, vms/descrip.mms, vms/descrip_src.mms: resolved a
1078
    /NAME=AS_IS case issue by changing the linking command for bzip2-enabled
1079
    builds to read the unzip code library twice (before and after the bzip2
1080
    object library) to resolve the bzip2 error callback, instead of explicitely
1081
    loading the callback function.  [Steven M. Schweda]
1082
 - vms/NOTES.TXT: cleaned up wording of the Symbolic Links section. [SMS]
1083
 - extract.c, fileio.c, process.c, unzpriv.h: fixed recognition of "native
1084
    UTF-8" general purpose flag bit 11 when processing local header, added
1085
    check against mismatching central vs. local GPFlag bit 11 (not for SFX)
1086
    with warning display (suppressible by -q command qualifier).  [C. Spieler]
1087
 
1088
6.00h02 (16 Apr 09):
1089
 - extract.c: fixed evaluation sequence of check expression by adding correct
1090
    pairs of parentheses.  [EG, SMS]
1091
 - unix/configure: added working check for lchmod.  [SMS]
1092
 - unzip.c: added compile option display for MBCS support.  [Chr. Spieler]
1093
 - unzpriv.h, unix/unxcfg.h, win32/w32cfg.h: the new preprocessor symbol
1094
    NO_MBCS allows to explicitely disable MBCS support.  [Chr. Spieler]
1095
 - INSTALL: documented _MBCS and NO_MBCS preprocessor symbols.  [Chr. Spieler]
1096
 - unix/configure: added checks for MBCS support.  [Chr. Spieler]
1097
 
1098
6.00h03 (17 Apr 09):
1099
 - unzpriv.h: added missing OF() macro to uzmbclen() prototype.  [SMS]
1100
 - man/*.1: changed revision info to intended release date.  [Chr. Spieler]
1101
 
1102
6.00 (20 Apr 09):
1103
 - unzpriv.h, fileio.c: removed superfluous "define indirection" zlstat,
1104
    link attributes do never ever need 64-bit treatment.  [Chr. Spieler]
1105
 - man/unzip.1, ToDo: added remark to DECRYPTION section on still missing
1106
    support for UTF-8 encoded passwords on systems like Windows, that are
1107
    Unicode-aware without using UTF-8 as native character encoding; added
1108
    ToDo note about fixing UTF-8 password handling in the next release.
1109
    [Chr. Spieler]
1110
 - updated release dates (History.600, README, unzvers.h, all man pages),
1111
    changed all relevant files from BETA into release state.  [Chr. Spieler]
1112
 
1113
==================
1114
 
1115
These changes occurred in beta versions 6.00a to 6.00.  This list may have
1116
left out some bugfixes and even some features...void where prohibited, your
1117
mileage may vary, etc., etc.