README for Zip 3.1d (15 November 2015) -------------------------------------- Copyright (c) 1990-2015 Info-ZIP. All rights reserved. See the accompanying file LICENSE (the contents of which are also included in unzip.h, zip.h and wiz.h) for terms of use. If, for some reason, all of these files are missing, the Info-ZIP license may also be found at: ftp://ftp.info-zip.org/pub/infozip/license.html http://www.info-zip.org/pub/infozip/license.html Also see "Copyright notice" below. --------------------------------------------------------------------------- Zip 3.1d is a BETA. Do not distribute. Zip 3.1 is the latest update of Zip 3.x with large file and split archive support. For now Zip 2.3x (Zip 2.32 being the current 2.x release) remains available and supported, but users should switch to Zip 3.x as soon as possible as the Zip 2.3x code thread is getting out of touch with modern systems. Testing for Zip 3.x so far has focused mainly on Unix, VMS, Mac OS X, and Windows, so it's likely some ports may not be fully supported. If you find your favorite port is partially or completely broken, send us the details, or, better, send bug fixes. It's possible that unsupported ports may be dropped in the future. --------------------------------------------------------------------------- Zip 3.1d is considered a Release Candidate. The feature set is relatively complete and the code is more or less stable. Except for minor updates and bug fixes, what's in Zip 3.1d will likely be released as Zip 3.1. This may be your last chance to review Zip 3.1 before release and provide comments and suggestions, and to identify bugs and provide fixes (if you have them). --------------------------------------------------------------------------- Contents of this file: Overview Zip 3.1d Highlights Encryption Notice Copyright Notice Additional Notes Frequently Asked Questions --------------------------------------------------------------------------- Overview: Zip 3.1 is a compression and file packaging utility. It is compatible with PKZIP 2.04g (Phil Katz ZIP) for MSDOS systems. There is a companion to Zip called UnZip (of course) which you should be able to find in the same place you got Zip. Zip and UnZip should be available online at: http://www.info-zip.org/ http://sourceforge.net/projects/infozip/ So far Zip has been ported to a wide array of Unix and other mainframes, minis, and micros including VMS, OS/2, Minix, MSDOS, Windows, Atari, Amiga, BeOS and VM/CMS. Although highly compatible with PKware's PKZIP and PKUNZIP utilities of MSDOS fame, our primary objective has been one of portability and other-than-MSDOS functionality. Features not found in the PKWare version include creation of zip files in a pipe or on a device; VMS, BeOS and OS/2 extended file attributes; conversion from Unix to MSDOS text file format; and, of course, the ability to run on most of your favorite operating systems. And it's free. --------------------------------------------------------------------------- Zip 3.1d Highlights: (zip31d.ann is an expanded version of this list. See WHATSNEW for the detailed list and more on each item.) - AES encryption. Keyfiles. - LZMA and PPMd compression. - Command line improvements, such as -@@ to read list of files from file. - New Backup mode allows creation of backup sets including differential and incremental backups. - Revamped LIB/DLL interface, with examples for Windows, Unix and VMS. - On Unix, quoted/escaped wildcards now processed by Zip. Found files now alphabetically sorted. Updated support of named pipes. - Mac OS X resource storage. - Windows Unicode command line support. Windows symlinks. Windows mount and reparse points. Windows long paths. Windows 64-bit support. - Some z/OS and MVS updates. (Some updates untested in this beta.) - Updated Unicode support, including optional use of iconv. - UTF-8 paths now stored as native. Zip no longer transliterates paths. - Streaming mode, where Zip stores information sufficient for a streaming unzip to fully extract files. - Better selection of when to use Zip64 large file support. - Dates can now include times. -pt times performance of Zip. - New logging options. - Additional ways to update output paths. - Quick Zip version using -vq. - Options -FS (file sync) and -sf (show files) can now be used together to show differences between an archive and the file system. - Bug fixes. Debian patches. - New error codes for compilation, encryption and other errors. - Compiled manuals now in docs/ directory. - Enhanced comment support. - Support for .zipx archives. - Updates to utilities ZipCloak, ZipNote, and ZipSplit. See the extended help (zip -hh) and the manuals (man pages in /man or plain text versions in docs/) for more on how to use these and other new features. Note on 16-bit OS support: Though Zip 3.1 is designed to support the latest zip standards and modern OS, some effort has been made to maintain support for older and smaller systems. If you find Zip 3.1 does not fit on or otherwise does not work well on a particular OS, send in the details and we might be able to help. --------------------------------------------------------------------------- Encryption Notice (applies when AES encryption included): ------ This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See <http://www.wassenaar.org/> for more information. The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions and makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception. ------ See the file INSTALL for additional information. --------------------------------------------------------------------------- Copyright Notice: This source kit includes software from various sources. Software placed in the public domain remains in the public domain. Software from third party sources (such as bzip2 and AES code) are subject to the licensing noted in and with those files. We believe the licenses governing the included files are compatible with the Info-ZIP license in that meeting the conditions of the Info-ZIP license should also meet the conditions of the included third- party files, as long as the notification requirements of those packages are met. All other contents of this kit are subject to and distributed under the Info-ZIP license. --------------------------------------------------------------------------- Additional Notes: Installation. Please read the file INSTALL for information on how to compile and install Zip, ZipSplit, ZipCloak, and ZipNote. Read the manual pages (in man format in the man/ directory or in plain text format in the docs/ directory) for information on how to use them. INSTALL also includes installation notes, such as for the PPMd compression issue on AIX/PowerPC and HP-UX/PA-RISC systems. Utilities. At this point ZipSplit, ZipCloak, and ZipNote should work with large files (larger than 4 GiB) if LARGE_FILE_SUPPORT is enabled. ZipSplit and ZipNote now can read split (multi-disk) archives, though they can't output splits. ZipCloak does not handle split input archives due to limitations of the zcrypt software. (We hope to resolve these issues before Zip 3.1 is released.) Bug reports. Our primary method for receiving bug reports is via the web form at http://www.info-zip.org/zip-bug.html and suggestions for new features can be submitted there (although we don't promise to use all of them). (We have discontinued the old email address zip-bugs@lists.wku.edu because of too much spam.) We also are on SourceForge at http://sourceforge.net/projects/infozip/. In addition, a new Info-ZIP discussion forum is available (see below) and bug reports and feature requests can be posted there. A good approach may be to post the details on the forum so others can benefit from the posting, and may provide some help, then use the web reply form to let us know you did that if you don't get a reply from us in the forum in a reasonable time. Ports to other OS/compilers. If you're considering a port to a new system or compiler, please check in with zip-bugs FIRST, since the code is constantly being updated behind the scenes. We'll arrange to give you access to the latest source. Discussion forum. If you'd like to keep up to date with our Zip (and companion UnZip utility) development, join the ranks of BETA testers, add your own thoughts and contributions, etc., check out the new discussion forum at http://www.info-zip.org/phpBB3/index.php. This is the latest offering (courtesy of Hunter Goatley), after the various Info-ZIP mailing-lists on mxserver@lists.wku.edu were no longer available and the temporary QuickTopic discussion group for Info-ZIP issues at http://www.quicktopic.com/27/H/V6ZQZ54uKNL died a horrible death due to large amounts of spam. (The old QuickTopic discussion group remains available, but read only.) The new discussion forum can be used to discuss issues, request features, and is one place new betas and releases are announced. It also is a place to post bug reports, and patches can be submitted as attachments. Be sure to post new issues in new threads. You can also post Bug Reports and Feature Requests at SourceForge. However, the web site contact form remains available if you would rather not post on the public forums. --------------------------------------------------------------------------- Frequently Asked Questions on Zip and UnZip: (See the FAQ page on our website (http://www.info-zip.org/FAQ.html) for more information.) Q. When unzipping I get an error message about "compression method 8". A. This is standard deflate, which has been around for awhile. Please get a current version of UnZip. Q. How about "compression method 12"? What methods are out there? A. Compression method 12 is bzip2 and requires a relatively modern UnZip. Please get the latest version of UnZip. Here are some of the compression methods out there (* = Zip 3.1 has): * 0 Store * 8 Deflate 9 Enhanced Deflate (UnZip has; may get added to Zip soon) * 12 bzip2 * 14 LZMA 19 IBM LZ77 z Architecture (PFS) 95 XZ (may get added to Zip soon) 96 Jpeg 97 WavPack * 98 PPMd (version I, Rev 1) Use of anything other than Store or Deflate requires a relatively current unzip. UnZip 6.00 can read bzip2. UnZip 6.1 will read entries compressed with LZMA and PPMd. The next release of Zip will likely include additional methods, such as XZ. Q. What encryption does Zip support? UnZip? A. Zip 3.1 supports Traditional zip (ZipCrypto) encryption as well as AES encryption. (Zip 3.0 and before only supported Traditional encryption.) Traditional zip encryption is the encryption that has been supported by Zip since early on. It is widely supported, but is considered weak by today's standards and is relatively easy to crack. Zip now includes Traditional encryption in the base source kit (this kit). It can be disabled (see INSTALL for details), but we no longer ship a kit that is encryption free. Zip 3.1 now supports AES encryption. As our AES implementation is subject to US Export Control laws, we do not include it in the Zip base source kit but supply it in a separate kit on our ftp site. This allows import and use of Zip in countries where strong AES encryption is not allowed. To include AES encryption in Zip, just download the Info-ZIP AES WG kit and extract it into the top directory of this kit to populate the aes_wg directory, and recompile. (See INSTALL for details.) Our AES implementation is based on WinZip AES (which is based on Gladman's implementation of AES) and is compatible with WinZip, 7-Zip and other utilities out there. Zip supports 128-, 192- and 256-bit encryption. UnZip 5.x and UnZip 6.0 support Traditional encryption. UnZip 6.1 will support Traditional and AES encryption. Q. I can't extract this zip file that I just downloaded. I get "zipfile is part of multi-disk archive" or some other message. A. Please make sure that you made the transfer in binary mode. Check in particular that your copy has exactly the same size as the original. Note that the above message also may actually mean you have only part of a multi-part archive. Also note that UnZip 5.x and UnZip 6.0 don't have multi-disk (split) archive support. A work around is to use Zip 3.0 or later to convert the split archive to a single-file archive, then use UnZip on that archive. Another is to use ZipSplit to convert the split archive to a set of smaller archives that UnZip can process as a set. The latest UnZip 6.1 beta can read split archives. If the archive is actually broke or missing splits, try zip -F to put what you have into a new archive. If you're missing the last disk, you may have to use zip -FF. Q. When running UnZip, I get a message about "End-of-central-directory signature not found". A. This usually means that your zip archive is damaged, or that you have an uncompressed file with the same name in the same directory. In the first case, it makes more sense to contact the person you obtained the zip file from rather than the Info-ZIP software developers, and make sure that your copy is strictly identical to the original. In the second case, use "unzip zipfile.zip" instead of "unzip zipfile", to let UnZip know which file is the zip archive you want to extract. If the archive is actually missing the end, try zip -FF to fix it, but note that zip -FF can't restore files that are in the missing part of the archive. Q. Why doesn't Zip do <something> just like PKZIP does? A. Zip is not a PKZIP clone and is not intended to be one. In some cases we feel PKZIP does not do the right thing (e.g., not including pathnames by default); in some cases the operating system itself is responsible (e.g., under Unix it is the shell which expands wildcards, not Zip). (The shell remains the default on Unix, but Zip 3.1 now expands quoted or escaped wildcards.) Info-ZIP's and PKWARE's zipfiles are interchangeable, not the programs. For example, if you are used to the following PKZIP command: pkzip -rP foo *.c you must use instead on Unix: zip -R foo "*.c" (The "*.c" is a pattern Zip will use to match paths to. The quotes are needed to let the shell know that it should not expand the *.c argument but instead pass it on to the program, but are not needed on ports that do not expand file paths like MSDOS.) Q. Can I distribute Zip and UnZip sources and/or executables? A. You may redistribute the latest official distributions without any modification, without even asking us for permission. You can charge for the cost of the media (CDROM, diskettes, etc...) and a small copying fee. If you want to distribute modified versions please contact us at www.Info-ZIP.org first. You must not distribute beta versions. A partial exception are betas designated by Info-ZIP as "public betas." Public betas should not be distributed as well, as all features may not be fully implemented and full testing may not have been done, but it's understood that public betas may include features immediately useful to some users and so distribution is not recommended but not prohibited. The latest official distributions are always on ftp.Info-ZIP.org in directory /pub/infozip and subdirectories and at SourceForge. All source and binary distributions are subject to the conditions in the Info-ZIP license. See the Info-ZIP license for details. Q. Can I use the executables of Zip and UnZip to distribute my software? A. Yes, so long as it is made clear in the product documentation that neither UnZip nor Zip is being sold, that the source code is freely available, and that there are no extra or hidden charges resulting from its use by or inclusion with the commercial product. See the Info-ZIP license for more. Here is an example of a suitable notice: NOTE: <Product> is packaged on this CD using Info-ZIP's compression utility. The installation program uses UnZip to read zip files from the CD. Info-ZIP's software (Zip, UnZip and related utilities) is freely distributed under the Info-ZIP license and can be obtained as source code or executables from various sites, including ftp://ftp.info-zip.org/pub/infozip. Q. Can I use the source code of Zip and UnZip in my commercial application? Can I include binary libraries? A. Yes, as long as the conditions in the Info-ZIP license are met. For example, you could include in your product documentation the required acknowledgments and note that the original sources are available at www.Info-ZIP.org. If you have special requirements contact us.