README -- Info-ZIP UnZip ------------------------ Program version: 6.1c (BETA). Document date: 2017-12-08 ------------------------------------------------------------------------ Introduction ------------ Info-ZIP UnZip and Zip are free, portable, compressor-archiver utility programs, which are intended to be compatible with PKZIP by PKWARE, Inc. PKWARE and PKZIP are registered trademarks of PKWARE, Inc. The .ZIP archive format is widely used, by these and other programs. This document describes UnZip, the extraction program. (Zip is described in its own README file.) The UnZip kit includes the following programs: UnZip The normal UnZip program. UnZipSFX The UnZip self-extraction (SFX) program. (On most systems, append a ZIP archive to it to make a self-extracting archive bundle.) ZipInfo A mode of UnZip operation ("unzip -Z"), rather than a separate program, but it may be installed as an alias or link to the real UnZip program. Particular operating systems may have additional programs or variants of these basic programs. For example: fUnZip [Unix] Filter UnZip, a limited-capability extraction program, intended for use in a pipeline. ZipGrep [Unix] A Bourne shell script which uses UnZip and egrep to search for patterns in Zip archive members. VMS includes VMS-style CLI variants of UnZip, UnZipSFX, and ZipInfo. ------------------------------------------------------------------------ Information Sources ------------------- Main Info-ZIP Web site: http://info-zip.org/ UnZip page: http://info-zip.org/UnZip.html Info-ZIP forums: http://info-zip.org/phpBB3/index.php FTP access: ftp://ftp.info-zip.org/pub/infozip/ Info-ZIP at SourceForge: https://sourceforge.net/projects/infozip/ Info-ZIP forums at SourceForge: https://sourceforge.net/tracker/?group_id=118012 Info-ZIP programs are widely used and distributed (and often modified and redistributed). The sources listed above provide the original source code, and pre-built binaries for some system types. For the software license (and disclaimers) see: http://info-zip.org/license.html [HTML] http://info-zip.org/license.txt [plain text] ftp://ftp.info-zip.org/pub/infozip/license.html [HTML] ftp://ftp.info-zip.org/pub/infozip/doc/license [plain text] Source kits include this README file, and various other files, including BUGS, COPYING, INSTALL, LICENSE, and ToDo. Changes are noted in "History.610". (For changes in older versions, see other "History.*" files.) Many OS-specific subdirectories include "INSTALL*" and/or "README*" supplements. A "proginfo" subdirectory contains some additional (mostly old) documentation of particular interest to developers. For program usage information, source kits include a "docs" subdirectory which contains ".txt" files with formatted Unix "man" output, and may also include ".htx" files with VMS help output. ------------------------------------------------------------------------ Description ----------- UnZip is an extraction utility for archives in .ZIP format, in which member files usually are compressed, and may be encrypted. Although highly compatible both with PKWARE's PKZIP program and with Info-ZIP's own Zip program, the primary objectives for UnZip have been portability and non-MS-DOS functionality. Info-ZIP programs are developed primarily on Unix (and Unix-like, including GNU/Linux and Mac OS X), VMS, and Windows systems. Support for other, older or less popular operating environments depends on help from contributors outside the main Info-ZIP group, who have access to these systems. Similarly, we don't have every available compiler on every system type. We describe our programs as "portable", and welcome complaints and suggestions involving their use on almost anything. UnZip has been ported to operating systems like AmigaDOS, AOS/VS, Atari TOS, Acorn RISC OS, BeOS, FlexOS, Human68k, IBM mainframes (MVS, VM/CMS, z/OS), Macintosh (pre-OS-X), MS-DOS, OS/2, SMS/QDOS, Tandem NSK, and TOPS-20. A DLL is available for OS/2 and Windows. An object library is available on Unix, VMS, and Windows. ------------------------------------------------------------------------ Significant Behavior Changes and New Features Since UnZip 6.00 -------------------------------------------------------------- For more details on new command-line options or other features, please see the usual Unix "man" or VMS HELP documentation. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Behavior change: New command-line parser (like the one used by Zip). Functional changes include: - Addition of long options, like "--license". - Addition of two-character short options, for example, "-so". Note that this can make some combined one-character options ambiguous. When in doubt, separate one-character short options like "-s -o", instead of combining them into "-so". - Option negation now uses a trailing "-" instead of a leading "-". For example, "-q-" instead of "--q". Multiple levels of negation, like "----q", are no longer supported. Use multiple negative options, like "-q- -q- -q-", instead. - New option "-so"/"--options" lists all available options. - New option "-sc"/"--commandline" shows the input command line and exits. - New "--license" option displays the license. This allows program distribution without additional documentation. - Behavior change: Now, by default, date-time information is restored on extracted files only, not on created directories. Use "-D" to restore no date-time information. Use "-D-" to restore date-time information on directories as well as files. (On VMS, this is not a change, except for the new trailing-hyphen syntax for option negation.) - Behavior change: Now, by default, permission/protection information is restored on Unix(-like) and VMS systems, but limited by the user's Unix umask or VMS default protection. Use -k/--keep-permissions (/RESTORE = PROTECTION = ORIGINAL) to ignore the umask or default protection, and get the old default behavior. Use -k- (/RESTORE = NOPROTECTION) to ignore the archived permissions, leaving only the umask or default protection. - Behavior change: Now, on Unix(-like) and VMS systems, -X/--restore-owner (/RESTORE = OWNER) controls only restoration of Unix UID/GID or VMS UIC. On VMS, -ka/--keep-acl (/RESTORE = ACL) controls restoration of ACLs. - Behavior change: ZipInfo report format changes: - Headers and totals summary formats have been changed. New option: -mc/--member_counts. - "-v" report includes some raw hexadecimal values along with the old descriptions/interpretations. - Behavior change: Interactive queries to resolve file-system conflicts ("replace XXX ? [y]es, [n]o, [A]ll, [N]one, [r]ename:") were buggy. Previously, on some system types, the path/name shown in the query could be an archive path/name, not a file-system path/name. Also, a "-d exdir" extraction directory could be added to a user-specified "rename" path/name, which may already have included it. Now, the query should always show the file-system path/name which has the conflict (including the effects of any "-d exdir" or "-j[=N]" options), and a user-specified "rename" (file-system) path/name should be used as specified. - Behavior change (possible): New -da/--auto-extract-dir option to specify a destination directory for extracted files which is derived from the base name of the archive. For example, with -da, extraction of "fred.zip" is done into subdirectory "fred" instead of into the current directory. (On VMS, subdirectory "[.fred]".) Previously (with the old command-line parser), "-da" would be interpreted as equivalent to "-d a", which would extract into the destination directory "a". - Optional support for WinZip-compatible AES encryption (compression method 99). See aes_wg/README_AES_WG.txt for more information. - Optional support for compression methods LZMA (14) and PPMd (98). See szip/README_SZIP.txt for more information. - Better Unicode support for Windows - New -I and -O options for ISO and OEM character set conversion, respectively, using iconv. See INSTALL (or unix/Makefile) for details on enabling/disabling iconv support. (The unix/configure script should enable it automatically, by default, where it appears to work.) - -j/--junk-dirs option now accepts an optional value, the number of directory levels to discard. As before, plain "-j" discards all directory names. "-j=N" discards only the top "N" directory levels. - Initial support for AppleDouble storage of Finder info, resource fork data, and extended attributes on Macintosh (Mac OS X) systems. Intended to be compatible with Apple "ditto". - Initial support for an UnZip object library on Unix and VMS, providing a callable UnZip interface. Comments in an example main program source module, libiz/izunzip_example.c, explain some usage details. Currently, only a simple .a or .OLB object library is offered, not a .so shared object or .EXE shareable image. - Acorn port updated. - The Unix builders (unix/configure, unix/Makefile) have been changed substantially. See INSTALL and unix/Makefile for details. Highlights: - More consistent with Zip. - Use "CC=gcc" to specify GCC. "make" targets "*_gcc" are gone. - Use "PROD=subdir" to put product files (objects, executables, ...) into a subdirectory, rather than ".". - Windows MinGW support. - Minor changes to accommodate BAE Systems STOP OS. - Output from unix/configure script (used by "make generic") is more informative. - VMS CLI changes: - /[NO]CASE_INSENSITIVE (for -C) is now deprecated, replaced by new /MATCH = CASE = {BLIND|SENSITIVE}. - /[NO]TIMES (for -T) is now deprecated, replaced by new /[NO]DECIMAL_TIME. - /JUNK_DIRS (-j) now has an optional (integer) value. - New qualifiers/values: /[NO]AUTO_DIRECTORY (-da), /JAR (--jar), /LICENSE (--license), /RESTORE = ACL (-ka), /RESTORE = [NO]PROTECTION = [LIMITED|ORIGINAL] (-k), /RESTORE = OWNER (-X), /VERBOSE = COMMAND (-sc). Optional: /MATCH = [NO]WILD_MATCH_SLASH (-W). - New Windows builders for Microsoft Visual Studio (Visual C++) 2010 have more options, fewer projects. (Service Pack 1 may be needed for VS 2010. VS 2012 (and newer?) should be compatible.) Look for "vc10/" directory under "win32/" and "windll/". ------------------------------------------------------------------------ Distribution ------------ If you have a question regarding redistribution of Info-ZIP software, whether as-is, as packaging for a commercial product, or as an integral part of a commercial product, please read the Frequently Asked Questions (FAQ) section of the included COPYING.OLD file. All Info-ZIP releases are now covered by the Info-ZIP license. See the file LICENSE. The most current license should be available at: http://info-zip.org/license.html ftp://ftp.info-zip.org/pub/infozip/license.html The Info-ZIP group lacks access to many supported system types (and/or C compilers), so others may wish to provide pre-built executables for various environments. In general, there is no problem with this. We require only that such distributions include this README file, the LICENSE file (which includes copyright and redistribution information, and any appropriate documentation files (unzip.txt and/or unzip.1 for UnZip, and so on). Any commonly used kit scheme for the target system may be used, such as a tar+gzip kit for Unix, a BACKUP save set for VMS, a disk image, and so on. Plain Zip archives work if some kind of compatible unzipping program is easily available on the target system. If the target system provides a way to make self-extracting archives, in which both the executables and text files can be stored together, then that's often a good way. (Info-ZIP UnZipSFX is normally suitable, for example.) If a bare UnZip executable is supplied, then a separate Zip archive containing the remaining text and binary files should also be supplied. ------------------------------------------------------------------------ Talk to Info-ZIP -- Bug Reports, Feature Requests, ... ------------------------------------------------------ Info-ZIP offers two discussion forums for UnZip and related programs, our own forums: http://info-zip.org/phpBB3/index.php and SourceForge forums: https://sourceforge.net/tracker/?group_id=118012 Reports of bugs and documentation problems, and other complaints, are welcome, as are feature requests and other suggestions, and even general usage questions (ideally on topics which are not already well explained in the existing documentation). This is especially true for UnZip 6.1c, because of the extent of the changes made since UnZip 6.10b. The developers also use an internal e-mail discussion forum, with a Web-form submission gateway ("Info-ZIP Bug Report") at: http://info-zip.org/zip-bug.html We may never see discussions on other, OS- or application-specific forums, unless someone directs us to them. As with most such forums, these are subject to abuse. We try to reduce this on our own forums by requiring users to register, and by moderating postings. (The resulting delays may be annoying, but the noise was more annoying.) The bug-report Web form also blocks any message which contains a URI/URL, so some useful information may need to be omitted there, at least until the discussion gets going. Similarly, if a test case involves private data, a discussion which begins on a forum can move to private e-mail when appropriate. In all cases, a program problem report should include some basic information, like: Computer type and operating system (and version). Program version. (Ideally, a whole "unzip -v" or "zip -v" report, although you might need to edit out any URLs to get it through the bug-report Web form.) What you did, and what happened when you did it. Showing actual commands with their actual output is usually more helpful than a vague description or interpretation. Actual patches ("diff -u") to the code are welcome, but it's usually wise to discuss suggested changes before doing the extra work. It's often helpful to base patches on a recent internal-development source kit, rather than on a recent full release (or even the latest public beta kit, if it's getting old). Similarly, anyone trying to port these programs to a new system type will probably benefit by starting with a recent internal-development source kit. (Ask, and you are likely to receive.) Any such work should begin with a reading of the (old, but still useful) proginfo/ZipPorts file. ------------------------------------------------------------------------ Contributions ------------- Info-ZIP programs are the result of much work by many people, as suggested by the list in the proginfo/CONTRIBS file, but the number of active developers is rather small (as the pace of recent releases might suggest). A to-do list is kept in the file ToDo, which is a reasonable place to start for anyone wishing to contribute. There are many projects, small and large (some, _very_ large), listed there. New contributors are welcome. We try to acknowledge contributions in the release notes (History.*, and so on), but sometimes we fail. If you deserve credit for some contribution but don't see it, please let us know, and we'll try again in the next release. ------------------------------------------------------------------------ Apology ------- Too much time has passed between the releases of UnZip versions 6.10b and 6.1c. UnZip 6.1c lacks support for some new features in Zip 3.1d. We'll try to get the missing features into UnZip 6.1d, and to get the final UnZip 6.1 released in a more timely way. ------------------------------------------------------------------------ WARNING ------- The Info-ZIP AES_WG source kit (iz_aes_wg.zip), and the UnZip and Zip source kits which include it, are subject to US export control laws. BEFORE downloading or using any version of any of these kits, read the following Encryption Notice. You agree to follow these terms (as well as the terms of the Info-ZIP license) when you download and/or use any of these source kits. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Encryption Notice ----------------- This software kit includes encryption software. The country or other jurisdiction where you are may restrict the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check all applicable laws, regulations, and policies concerning the import, possession, use, and re-export of encryption software, to see if these are permitted. Some helpful information may be found at: http://www.wassenaar.org/ Export and re-export of this software from the US are governed by the US Department of Commerce, Bureau of Industry and Security (BIS). This is open-source ("publicly available") software. Info-ZIP has submitted the required notification to the BIS. The details are: Export Commodity Control Number (ECCN) 5D002 License Exception: Technology Software Unrestricted (TSU) (Export Administration Regulations (EAR) Section 740.13) A copy of the required BIS notification is available in the file aes_wg/USexport_aes_wg.msg in the source kits, and at: ftp://ftp.info-zip.org/pub/infozip/crypt/USexport_AES_WG.msg ------------------------------------------------------------------------