1UnZip, version 6.00, 20 April 2009 2 3Features added (or removed): 4 56.00a (): 6 - Many changes by Myles 7 86.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 216.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 286.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 386.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 506.00c9 (15 May 05): 51 - NO feature changes. 52 536.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 576.00c11 (23 May 05): 58 - NO feature changes. 59 606.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 676.00c13 (02 Oct 05), 6.00c14 (15 Nov 05), 6.00c15(17 Nov 05): 68 - NO feature changes. 69 706.00c (19 Nov 05): 71 - NO feature changes. 72 736.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 1096.00d02 (08 Mar 07), 6.00d03 (10 Mar 07), 6.00d04 (11 Mar 07): 110 - NO feature changes. 111 1126.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 1206.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 1296.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 1356.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 1406.00d09 (06 Jan 08): 141 - NO feature changes. 142 1436.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 1496.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 1546.00d (17 Feb 08): 155 - NO feature changes. 156 1576.00e01 (21 Feb 08): 158 - NO feature changes. 159 1606.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 1646.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 1726.00e04 (27 Apr 08): 173 - NO feature changes. 174 1756.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 1846.00e06 (13 Sep 08): 185 - NO feature changes. 186 1876.00e (04 Jan 09): 188 - unzip.h: enable -B option for Unix, OS/2, and Win32. [EG, Chr. Spieler] 189 1906.00f (11 Jan 09): 191 - NO feature changes. 192 1936.00g01 (08 Jan 09), 6.00g02 (25 Jan 09), 6.00g03 (10 Feb 09), 1946.00g04 (16 Feb 09), 6.00g (28 Feb 09), 1956.00h01 (09 Mar 09), 6.00h02 (16 Apr 09), 6.00h03 (17 Apr 09), 1966.00 (20 Apr 09): 197 - NO feature changes. 198 199Bugs fixed: 200 2016.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 2096.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 2156.00c (14 Feb 05): 216 - Disambiguated some identical VMS error messages. [SMC] 217 2186.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 2536.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 2766.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 2976.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 3026.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 3286.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 3546.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 3646.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 3716.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 3796.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 4606.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 4726.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 4786.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 4906.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 5136.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 5566.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 5906.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 <locale.h>-related stuff from 6.00d05t (SMS), with some 610 corrections. [Steven M. Schweda, Chr. Spieler] 611 6126.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 6266.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 <setjmp.h> 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 6496.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 6706.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 6766.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 6876.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 <wchar.h> 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 7226.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 7496.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 7756.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 <limits.h>, 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 8186.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 8596.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 9246.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 9606.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 9986.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 10186.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 10366.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 10536.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 10746.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 10886.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 10986.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 11026.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 1115These changes occurred in beta versions 6.00a to 6.00. This list may have 1116left out some bugfixes and even some features...void where prohibited, your 1117mileage may vary, etc., etc. 1118