mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-01 16:58:30 +00:00
added zip from Info-ZIP
This commit is contained in:
parent
98c53ae526
commit
4ce5664c4b
363 changed files with 119113 additions and 0 deletions
333
third_party/infozip/zip/WHATSNEW
vendored
Normal file
333
third_party/infozip/zip/WHATSNEW
vendored
Normal file
|
@ -0,0 +1,333 @@
|
|||
What's New
|
||||
|
||||
Last updated 1 July 2008
|
||||
|
||||
This file is the full list of new features and major changes for Zip 3.0
|
||||
by beta release. See the announcement file zip30.ann for a quick summary
|
||||
of all features and changes in Zip 3.0. Also see the file README for
|
||||
release information, INSTALL for installation procedures, and the manual
|
||||
pages zip.txt, zipsplit.txt, zipcloak.txt, and zipnote.txt for how to use
|
||||
the new features. The file CHANGES has all the day-to-day changes made
|
||||
during development.
|
||||
|
||||
|
||||
Below are some of the more significant items on the list for Zip 3.1
|
||||
(see ToDo for a more complete list):
|
||||
|
||||
- AES encryption.
|
||||
- Extended attributes for Windows, Linux, and Mac OS X.
|
||||
- Support -d@ for deleting list of files.
|
||||
- Decide if -R, -i and -x should use external rather than internal patterns.
|
||||
- Though Unicode paths have been implemented and tested, Unicode comments
|
||||
are not yet supported (except for comments on UTF-8 native systems which
|
||||
are supported).
|
||||
- Verbose mode -v may still need work.
|
||||
- When pattern is directory add end / automatically.
|
||||
- Add C# example for Zip 3.0 (need to be converted to new DLLs) - original
|
||||
C# example added with note.
|
||||
- Path Prefix maybe, so entries added to an archive can have a directory
|
||||
path string prepended to each path.
|
||||
- UNC path support maybe.
|
||||
- Support for other languages maybe.
|
||||
- Send in your suggestions.
|
||||
- ...
|
||||
|
||||
|
||||
MAJOR CHANGES BY BETA VERSION
|
||||
-----------------------------
|
||||
|
||||
New things in Zip 3.0 since Zip 3.0h:
|
||||
|
||||
- Unicode fixes.
|
||||
- Test and fix various ports as needed.
|
||||
- Update Win32 resource to support more Windows ports.
|
||||
- Add djgpp 2.x makefile that includes bzip2.
|
||||
- Add Win32 version resource to Win32 executable.
|
||||
- Bug fixes.
|
||||
- Documentation updates.
|
||||
- Package for release.
|
||||
|
||||
|
||||
New things in Zip 3.0h
|
||||
|
||||
- Allow -@ and -x to work together.
|
||||
- Unicode code cleanup.
|
||||
- Allow forcing use of UTF-8 storage in standard path and comment.
|
||||
- Update symbolic link checks.
|
||||
- Add support for storing 32-bit UIDs/GIDs using new extra field.
|
||||
Backward compatible support for the old 16-bit UID/GID extra field
|
||||
remains if Zip is compiled on an OS that has 16-bit UID/GID
|
||||
storage.
|
||||
- Update VMS notes.
|
||||
- Directory scan using -AS (include only files with Windows archive
|
||||
bit set) now ignores archive bit on directories to include all files
|
||||
with archive bit set in all directories. Also, to avoid empty
|
||||
directories being created, -AS now does not store directory
|
||||
entries.
|
||||
- Add Unix IBM support.
|
||||
- Change -W to -ws to free -W for later use.
|
||||
- Fix large file support for MinGW.
|
||||
- Fix large file support for bzip2.
|
||||
- Fix compile error in ZipCloak when UNICODE_SUPPORT is not enabled.
|
||||
- Fix Unicode bug in ZipCloak involving Unicode paths.
|
||||
- Long Unicode escapes changed from #Lxxxxxxxx to #Lxxxxxx to shorten
|
||||
paths with escaped Unicode.
|
||||
- Bug fixes.
|
||||
|
||||
|
||||
New things in Zip 3.0g
|
||||
|
||||
- Add split support to VB project for Zip64.
|
||||
- Disable reading of Unix FIFOs unless new -FI option used to avoid an
|
||||
archiving operation stopping when it hits an active unfed FIFO.
|
||||
- The "[list]" wildcard expression (regular expression matching of any
|
||||
character or range of characters in list) is now disabled on DOS and
|
||||
Windows as it has caused confusion when filenames have [ and ] in
|
||||
them. The new -RE option reenables it.
|
||||
- Add negation to many display options such as -dc and -db.
|
||||
- Allow -FF to read and fix archives having local entries that appear
|
||||
after central directory entries.
|
||||
- Bug fixes.
|
||||
|
||||
|
||||
New things in Zip 3.0f
|
||||
|
||||
- bzip2 - The bzip2 compression method looks supported for at least
|
||||
Windows, Unix, and VMS using the bzip2 library. A new option, -Z cm,
|
||||
selects the compression method.
|
||||
|
||||
- Split archives - Can now use -s to create a split archive. The
|
||||
default is to update split files as the archive is being written,
|
||||
which requires all splits to remain open until the archive is done.
|
||||
This should be no problem when writing the archive to a hard drive,
|
||||
for example, and this approach creates archives that should be
|
||||
supported by all unzips that support splits. Adding the -sp option
|
||||
enables split pause mode that instead writes splits that do not
|
||||
need updating and pauses Zip after each split. This allows splits
|
||||
to be written directly to removable media, however -sp archives
|
||||
may not be as universally compatible.
|
||||
|
||||
- Unicode support - Zip now stores Unicode paths that should be more
|
||||
portable across character sets and languages. The unzip must have
|
||||
Unicode support enabled or the Unicode paths are ignored. If
|
||||
reading an archive with Unicode paths, unsupported characters are
|
||||
replaced by #Uxxxx and #Lxxxxxxxx escapes in the file name. Option
|
||||
-UN controls how Unicode is handled. Also, on systems where the
|
||||
current character set is UTF-8, preliminary support for the new
|
||||
General Purpose Bit Flag, bit 11, UTF-8 flag, that indicates UTF-8
|
||||
is stored in the path and comment fields is implemented for paths.
|
||||
- Unicode on Win32 - On WIN32 systems that support the wide character
|
||||
calls (mainly NT and later systems using NTFS), when UNICODE SUPPORT
|
||||
is enabled Zip will now do directory scans using Unicode and convert
|
||||
the Unicode paths to the local character set for storage in the standard
|
||||
path field and store UTF-8 in the Unicode extra field. This allows
|
||||
directory scans to complete successfully regardless of the character
|
||||
set the path is in. On Win9x systems wide character scans are not
|
||||
generally supported and Zip automatically uses a local character scan
|
||||
instead.
|
||||
|
||||
- Keep extra fields option - The default operation has been, and continues
|
||||
to be, to read then strip old extra fields when reading entries from an
|
||||
existing archive and then recreate the extra fields that Zip knows about.
|
||||
Extra fields specific to each operating system get added by default also.
|
||||
The new option -X- (negated -X) keeps any old extra fields, copying
|
||||
them to the updated archive unchanged (unless Zip has updated them).
|
||||
The unnegated -X still strips most all extra fields except Zip64,
|
||||
Unicode, and UT time.
|
||||
|
||||
- License - minor updates to the license.
|
||||
|
||||
- Windows OEM - When compiled with WIN32_OEM (the default for WIN32),
|
||||
Zip on WIN32 now stores OEM paths, which should be more compatible
|
||||
with other zips and should fix some character set problems.
|
||||
- Windows Archive Bit support - On Windows can now use new -AS
|
||||
(include if archive bit set) option to select files with the DOS
|
||||
archive bit set and use new -AC (clear archive bits) option to clear
|
||||
the archive bits on files after the archive has been created.
|
||||
But -DF is probably better.
|
||||
|
||||
- Difference mode - A new option -DF (--dif) creates an output archive
|
||||
that includes only files changed or new since the input archive was
|
||||
created. Can use to create incremental backups.
|
||||
- File Sync - The new option -FS enables File Sync, a new mode that
|
||||
synchronizes the entries in an archive with the files on the file
|
||||
system, adding updating, and deleting entries as needed. This
|
||||
should create the same results as creating a new archive, but
|
||||
since existing entries are copied, may be much faster.
|
||||
|
||||
- Copy Mode - A new --out option allows creating a new archive with a
|
||||
different name than the input archive, leaving the input archive
|
||||
unchanged. This allows updating split archives. It also allows
|
||||
for a new copy mode to select entries in one archive and copy them
|
||||
directly to a new archive.
|
||||
- Empty archives - Now an empty archive is created when -i or -i@ is used
|
||||
and the file patterns given do not match anything. This has been
|
||||
requested to support scripts.
|
||||
|
||||
- Global dots - A new -dg option now displays progress dots as -dd does,
|
||||
but instead of displaying them for each file, the dots track the total
|
||||
bytes read for the archive. The -dg option also works when -q is used
|
||||
to disable most output, which allows for something like zip -qdgds 100m
|
||||
to be used to not display specific files but display a dot every 100 MB
|
||||
as a global status.
|
||||
- Date range - Can now use -t and -tt to set a date range
|
||||
- Fix options - Option -F redone and can recover files from an archive
|
||||
with a mostly complete central directory more reliably, but no longer
|
||||
can handle truncated archives. Option -FF redone and now can salvage
|
||||
files from slightly more damaged archives, including truncated archives.
|
||||
In some ways -F is less powerful but more stable than it was and -FF will
|
||||
be needed where -F in Zip 2.32 was enough. One big change is -F and -FF
|
||||
both now support split archives.
|
||||
- Console writing - Updates to how messages are written to the console have
|
||||
been made including more consistent handling of line breaks.
|
||||
- Show Files options - Option -sf lists the files that would be operated
|
||||
on. This option can be used alone to list the files in an archive.
|
||||
Also see options -su and -sU for showing Unicode paths.
|
||||
- UnZip Check - Now check that UnZip 6.00 or later is being used for
|
||||
unzip if testing a Zip64 archive. A new option -TT can be used to set
|
||||
the unzip to use with the -T check. Currently UnZip does not support
|
||||
split archives so split archives can't be tested by UnZip.
|
||||
- Streaming - Directories are now handled better when streaming.
|
||||
- Case matching - Normally all matching against archive entries is case
|
||||
sensitive, so *.BAR will not match or find foo.bar in an archive
|
||||
when deleting, copying, or freshening entries (deleting and copying
|
||||
only on VMS). New option -ic (--ignore-case) enables case insensitive
|
||||
matching. Currently -ic is only implemented on WIN32 and VMS.
|
||||
|
||||
- Delete date bug fixed - Bug when using -d to delete files while
|
||||
using -t or -tt to select the files based on date is fixed
|
||||
- Large file encryption bug fixed - Fix for bug that very rarely
|
||||
results in bad data being stored when deflating and encrypting
|
||||
uncompressable data and resulting in CRC errors when extracting,
|
||||
but the chance of error increases with file size (thanks to
|
||||
WinZip for finding this bug). See CHANGES for details.
|
||||
|
||||
|
||||
New things in Zip 3.0e
|
||||
|
||||
- Bugs described in Debian patches 004 (unix configure script update) and
|
||||
005 (large path bug) fixed
|
||||
- Various fixes
|
||||
- Add optional running stats and also end stats if not all files could
|
||||
be read
|
||||
- Options -l and -ll now do quick binary check on first buffer and skip
|
||||
formatting if first buffer has binary - still check at end to note
|
||||
if formatting was done on file that was later determined to be binary,
|
||||
but now potential file corruption is generally avoided
|
||||
- Main binary check now uses new algorithm that should also treat UTF-8 and
|
||||
other similar encodings as text, allowing proper line end translation
|
||||
for UTF-8 files
|
||||
- When output is not updatable by seeking back and Zip64 is enabled, output
|
||||
is forced to Zip64 to avoid possible later need for Zip64 when not enabled
|
||||
- More work on splits, but still not usable
|
||||
- Fixes for djgpp
|
||||
- Add log file capability to save all errors and optionally messages
|
||||
- Add code to test for a Zip64 archive when compiled without Zip64 support
|
||||
- New VC6 projects for Win32 and WinDLL
|
||||
- Updates to extended help
|
||||
- Changes to force-zip64 option
|
||||
- ZE_BIG error now given also for files too big to read or write
|
||||
- Fix file delete bug
|
||||
- Update license
|
||||
- Update export documentation
|
||||
- Add VMS extended filename support
|
||||
- Add directory traversal improvements, some for Win32 ports and some for
|
||||
all ports, that can result in a 10 times increase in speed in some cases
|
||||
|
||||
|
||||
New things in Zip 3.0d
|
||||
|
||||
- Some large file crypt fixes
|
||||
- Some updates to support WiZ
|
||||
- On VMS, changed -V (/VMS) processing to truncate file at EOF, allowing
|
||||
greater compatability with non-VMS systems. New -VV (/VMS=ALL) option
|
||||
saves all allocated blocks in a file. (Previously, -V did neither.)
|
||||
- On VMS, pushed 2GB file size limit with -V out to 4GB
|
||||
- On VMS (recent, non-VAX), with SET PROCESS /PARSE = EXTEND,
|
||||
command-line case is preserved. This obviates quoting upper-case
|
||||
options, like -V, when enabled
|
||||
- On VMS, fixed problems with mixed-case directory names. Also changed
|
||||
to keep ODS5 extended file name escape characters ("^") out of the
|
||||
archived names in simple cases
|
||||
- Changes to the display dots
|
||||
- Option -W should now force wildcard matching to not cross directory
|
||||
separators. For example, a/b*r/d will match a/bar/d but not a/ba/r/d
|
||||
- Option -nw should turn off all wildcard matching so foo[bar] is matched
|
||||
literally and [bar] is not considered a regular expression
|
||||
- Atheos port
|
||||
- Debugging of Unix and VMS large file ports. Most features may work now
|
||||
on these ports for large files. Still need to fix 2 GB to 4 GB when not
|
||||
compiled with large file support
|
||||
- On VMS, added an open callback function which (where supported) senses
|
||||
the process RMS_DEFAULT values for file extend quantity (deq)
|
||||
multi-block count (mbc), and multi-buffer count (mbf), and sets the
|
||||
FAB/RAB parameters accordingly. The default deq is now much larger
|
||||
than before (16384 blocks, was none), and the default mbc is now 127
|
||||
(up from 64), speeding creation of a large archive file. The "-v"
|
||||
option shows some of the activity. On old VMS versions, RMS_DEFAULT
|
||||
sensing (GETJPI) fails (silently, without "-v"), and no changes will
|
||||
be made. Even there, (DCL) SET RMS /EXTEND = <big> can help
|
||||
performance. RMS_DEFAULT values override built-in default values.
|
||||
|
||||
|
||||
New things in Zip 3.0c
|
||||
|
||||
- Converted to using 64-bit file environment instead of transitional functions
|
||||
like fseeko64 for ports that support it
|
||||
- Added "--" argument to read all following arguments as paths
|
||||
- Second help page added
|
||||
- Binary detection adjusted from 20% binary is binary to 2%
|
||||
- When -R and -i used together now -i has precedence over -R
|
||||
- Archive names with spaces can now be tested on MSDOS and Win32
|
||||
|
||||
|
||||
New things in Zip 3.0b
|
||||
|
||||
- Fixed ifdefs so can test base code by compiling with NO_LARGE_FILE_SUPPORT, then
|
||||
compiling with NO_ZIP64_SUPPORT to test 64-bit file calls (if port enables) but
|
||||
otherwise use base code, and compiling normally to enable Zip64 code
|
||||
- Unix Zip64 fixes - should now be able to create and read large files
|
||||
- WinDLL changes to support Zip64. Zip 3.0 dll named Zip32z64.dll
|
||||
- New VB example to show use of Zip32z64.dll
|
||||
- New options -sc (show final command line and exit) and -sd (show each
|
||||
step zip is doing, a little different than verbose which is still there) added
|
||||
to help debug but both or at least -sd might go away in the release
|
||||
- Some minor posted bugs fixed (see Changes)
|
||||
|
||||
|
||||
New things in Zip 3.0a
|
||||
|
||||
- Initial Zip64 support allowing large files and large numbers of files
|
||||
- New command line processor
|
||||
- Other changes, see file Changes
|
||||
|
||||
|
||||
Note: Zip 2.4 was never released. That code was the start of the Zip 3.0
|
||||
effort above.
|
||||
|
||||
|
||||
New things in Zip 2.3
|
||||
|
||||
- IBM OS/390 port (Unix like, but EBCDIC) by Paul von Behren
|
||||
- Apple Macintosh (MACOS) port by Dirk Haase
|
||||
- Theos port by Jean-Michel Dubois
|
||||
- Multibyte characterset support by Yoshioka Tsuneo
|
||||
- Support for ISO 8601 date format with -t and -tt options
|
||||
- Info-ZIP license
|
||||
|
||||
|
||||
New things in Zip 2.2
|
||||
|
||||
- BEOS port by Chris Herborth
|
||||
- QDOS port by Jonathan Hudson
|
||||
- TANDEM port by Dave Smith
|
||||
- WINDLL port (16-bit Win 3.x and 32-bit WinNT/Win95) by Mike White
|
||||
- SYSV packages support by John Bush
|
||||
- zip -P SeCrEt encrypts entries in the zip file with password SeCrEt
|
||||
(WARNING: THIS IS INSECURE, use at your own risk)
|
||||
- zip -R recurses into subdirectories of current dir like "PKZIP -rP"
|
||||
- zip -x@exclude.lst excludes files specified in the file exclude.lst
|
||||
- zip -i@include.lst includes files specified in the file include.lst
|
||||
- zip -@ only handles one filename per line, but supports whitespace in names
|
||||
- zip -t mmddyyyy, 4 digit year number for uniqueness of years beyond 2000
|
||||
- zip -tt mmddyyyy only includes files before a specified date
|
Loading…
Add table
Add a link
Reference in a new issue