Zip 3.1c is a BETA version. Do not distribute. Zip 3.1 is the latest Zip update of Zip 3.x with large file and split archive support. For now Zip 2.3x remains available and supported, but users should switch to Zip 3.x at some point. Testing for Zip 3.x so far has focused mainly on Unix, VMS, Max OS X, Win32, z/OS, and MVS, so it's likely some ports may not be fully supported. If you find your favorite port is partially or completely broke, send us the details or, better, send bug fixes. It's possible that unsupported ports may be dropped in the future. Copyright (c) 1990-2010 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 also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html and http://www.info-zip.org/pub/infozip/license.html. 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. See the file 'WHERE' for details on ftp sites and mail servers. Also check online at http://www.info-zip.org/ and 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. See the file zip31c.ann for a summary of new features in Zip 3.1c and WhatsNew for the full list of new features and changes. The file CHANGES details all day-to-day changes during development. Notes: Multi-volume support. This version does not support multi-volume spanned archives as in pkzip 2.04g, and there is no intention at this point to support spanned archives, but Zip 3.1 supports split archives. A split archive is an archive split into a set of files, each file a piece of the archive and each file using an extension, such as .z02 as in the file name archive.z02, that provides the order of the splits. In contrast, a spanned archive is the original multi-floppy archive supported by pkzip 2.0g where the split order is contained in the volume labels. The contents of split and spanned archives are mostly identical and there is a simple procedure to convert between the formats. Many current unzips now support split archives. Zip64 support. This version supports Zip64 archives as described in the PKWare AppNote. These archives use additional fields to support archives greater than 2 GB and files in archives over the 2 GB previous limit (4 GB on some ports). The Zip64 format also allows more than 64k entries in an archive. Support by the OS for files larger than 4 GB is needed for Zip to create and read large files and archives. On Unix, Win32, and some other ports, large file and Zip64 support is automatically checked for and compiled in if available. Use of Zip64 by Zip is automatic and to maximize backward compatibility the Zip64 fields will only be used if needed. A Zip64 archive requires a pkzip 4.5 compatible unzip, such as UnZip 6.0. Unicode support. This version has initial Unicode support. This allows paths and names of files in other character sets to be accurately recreated on OS that have sufficient character set support. On Win32, if wide character calls are supported (not Win 9x unless Unicode support has been added) all files (including paths with illegal characters in the current character set) should now be readable by zip. Unicode support is provided using a new set of UTF-8 path and comment extra fields and a new UTF-8 bit for flagging when the current character set is already UTF-8. Zip 3.1 maintains backward compatibility with older archives and is mostly compliant with the new Unicode additions in the latest PKWare AppNote. The exception is UTF-8 comments, which are not supported if UTF-8 is not the native character set, but should be fully implemented by the time Zip 3.1 is released. 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. Compression methods. In addition to the standard store and deflate methods, Zip now can use the bzip2 compression format using the bzip2 library. Though bzip2 compression generally takes longer, in many cases using bzip2 results in much better compression. However, some unzips may not yet support bzip2 compressed entries in archives, so test your unzip first before using bzip2 compression. We are considering adding LZMA (from 7-Zip) and PPMd compression methods before Zip 3.1 is released. Let us know if there's interest in these or other compression methods. Encryption. This version supports standard zip encryption. Until recently the encryption code was distributed separately because of the US export regulations but now is part of the main distribution. See crypt.c for details. Decryption can be made with unzip 5.0p1 or later, or with zipcloak. We plan to add AES strong encryption to Zip 3.1 before release. Installation. Please read the file INSTALL for information on how to compile and install zip, zipsplit, zipcloak, and zipnote and please read the manual pages ZIP.txt, ZIPSPLIT.txt, ZIPCLOAK.txt, and ZIPNOTE.txt for information on how to use them. Also, if you are using MSDOS or Windows, note that text files in the distribution are generally in Unix line end format (LF only) and Windows and DOS users will need to either convert the files as needed to DOS line ends (CR LF) or extract the distribution contents using unzip -a. Utilities. At this point zipsplit, zipcloak, and zipnote should work with large files, but they currently do not handle split archives. A work around is to use zip to convert a split archive to a single file archive and then use the utilities on that archive. We hope to look at adding split archive support to the utilities in Zip 3.1 as appropriate. Bug reports. All bug reports or patches should go to zip-bugs via the web site contact form at http://www.info-zip.org/zip-bug.html (we have discontinued the old email address zip-bugs@lists.wku.edu because of too much spam lately) and suggestions for new features can be submitted there also (although we don't promise to use all of them). We also are on SourceForge at http://sourceforge.net/projects/infozip/ and should automatically get Bug Reports and Feature Requests submitted there. In addition, a new Info-ZIP discussion forum is available as well. See below. Bug reports can also be posted there, and we should get automatic notification of new threads created. A good approach may be to post the details on the forum so others can benefit from the posting, then use the web reply form to let us know you did that if you don't get a reply in a reasonable time. Ports. 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 group. 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. This is the latest offering, after the various Info-ZIP mailing-lists on mxserver@lists.wku.edu (courtesy of Hunter Goatley) 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 new discussion forum is now available at http://www.info-zip.org/board/board.pl (thanks again to Hunter Goatley) and 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 Source Forge. 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: 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. See the file 'WHERE' for details. Q. How about "compression method 12"? A. Compression method 12 is bzip2 and requires a relatively modern unzip. Please get the latest version of unzip. 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. We are planning to add split support to UnZip 6.1. As a last result, if there's something readable in what you have, zip -FF should be able to recover it. 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 to 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. Q. Why doesn't zip do 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). 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 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. 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 zip or unzip are not 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: 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 anonymous-ftp sites, including ftp://ftp.info-zip.org/pub/infozip. Q. Can I use the source code of zip and unzip in my commercial application? A. Yes, as long as the conditions in the Info-ZIP license are met. We recommend you include in your product documentation an acknowledgment and note that the original compression sources are available at www.Info-ZIP.org. If you have special requirements contact us.