mirror of https://github.com/BOINC/boinc.git
166 lines
6.2 KiB
Plaintext
166 lines
6.2 KiB
Plaintext
|
================================
|
||
|
For UnZip 6.0/6.1/who knows:
|
||
|
================================
|
||
|
|
||
|
o implement handling of file sizes beyond the 32-bit limit of
|
||
|
2GByte (resp. 4GByte), using the new 64-bit extra field extensions
|
||
|
as defined by PKWARE (this will not get implemented for the present
|
||
|
16-bit ports - plain DOS and OS/2 1.x)
|
||
|
|
||
|
top of the list for 6.0!
|
||
|
|
||
|
o add multi-part zipfile handling
|
||
|
|
||
|
major feature for 6.0!
|
||
|
|
||
|
o add new low-level, binary API; rewrite "normal" (command-line) UnZip
|
||
|
to use it
|
||
|
|
||
|
very soon (maybe 6.1)
|
||
|
|
||
|
o use (simple!) configure script in combination with Unix Makefile
|
||
|
|
||
|
very soon (6.0 or 6.1)
|
||
|
|
||
|
o add precautions against extracting files outside the tree below
|
||
|
the current directory resp. the specified extraction folder.
|
||
|
(automatically remove absolute path specs from zip entries; emit
|
||
|
warnings when traversing outside the extraction tree...)
|
||
|
|
||
|
o MSDOS/WIN32/others: detection of "reserved" names (= names of character
|
||
|
devices, or system extensions that look like a characters device driver)
|
||
|
at runtime; with the goal of emitting "meaningful" error messages and/or
|
||
|
rename queries.
|
||
|
(Currently, these reserved names are catched as "non-deletable files".
|
||
|
On MSDOS and WIN32, when the RTL stat() function allows to identify
|
||
|
character devices, the "reserved" names are automatically prefixed with
|
||
|
an underscore.)
|
||
|
|
||
|
o redesign "file exists -- is newer/older -- overwrite/skip/rename"
|
||
|
logic in extract.c and the corresponding system specific mapname()
|
||
|
services; to prevent superfluous decryption key prompts for entry
|
||
|
that will be skipped, later.
|
||
|
|
||
|
o rewrite to use fread/fseek/etc. [eventually: test
|
||
|
write(bytes) vs. fwrite(words), especially on Crays/Alphas]
|
||
|
|
||
|
soon (probably in conjunction with multi-part handling)
|
||
|
|
||
|
o incorporate new backfill version of inflate()
|
||
|
|
||
|
wait for zlib version
|
||
|
|
||
|
o check NEXTBYTE for EOF in crypt.c, funzip.c and explode.c, too
|
||
|
|
||
|
whenever
|
||
|
|
||
|
o add option to force completely non-interactive operation (no queries
|
||
|
for overwrite/rename, password, etc.); also allow some sort of non-
|
||
|
interactive password provision? (file? command-line? env. variable?)
|
||
|
|
||
|
someday?
|
||
|
|
||
|
o add testing of extra fields (if have CRC)
|
||
|
|
||
|
later
|
||
|
|
||
|
o rewrite to allow use as a filter
|
||
|
|
||
|
way, way later...
|
||
|
|
||
|
o add Unix hard-link support?
|
||
|
|
||
|
way, way later...
|
||
|
|
||
|
o add ".ini" file support as a (more elaborate) alternative to the presently
|
||
|
supported preconfiguring abilities via special environment variables
|
||
|
(UNZIP on many systems...)?
|
||
|
|
||
|
way, way later (if ever)...
|
||
|
|
||
|
o add option to search zipfile contents for a string and print the
|
||
|
results? ("zipgrep" option--e.g., unzip -g or unzip -S) (easy for
|
||
|
fixed strings, hard for wildcards/true regex's)
|
||
|
|
||
|
way, way later, if at all...probably use libregex
|
||
|
|
||
|
o add -y "display symlinks" option to zipinfo? various sorting options?
|
||
|
(-St date/time, -Sn name)?
|
||
|
|
||
|
who knows
|
||
|
|
||
|
o add "in-depth" option to zipinfo? (check local headers against
|
||
|
central, etc.)--make it a better debugging tool (or just create
|
||
|
zipfix)
|
||
|
|
||
|
who knows (zip -F, -FF already exist)
|
||
|
|
||
|
Some maintance or OS specific topics for 6.0 release:
|
||
|
|
||
|
* add "unix-style-path -> partitioned-dataset filename" conversion
|
||
|
to MVS port
|
||
|
|
||
|
* should we add support for (null) entry names (empty entry name field), to
|
||
|
conform to the PKWARE specification?
|
||
|
|
||
|
|
||
|
=======================================
|
||
|
|
||
|
Requested features:
|
||
|
|
||
|
- extract or exclude on basis of UID [Armin Bub, Armin.Bub@bk.bosch.de, 970904]
|
||
|
|
||
|
=======================================
|
||
|
|
||
|
o miscellaneous little stuff: whenever
|
||
|
--------------------------
|
||
|
|
||
|
- add support for setting directory time stamps to win32 port. This requires
|
||
|
a solution similar to the UNIX SET_DIR_ATTRIB optional code; maybe, it could
|
||
|
be combined with the delayed restoring of directory ACLs. Unfortunately,
|
||
|
the simple version used in the OS/2 case (setting dir time stamp just after
|
||
|
creating the directory) does not work, because WinNT updates directory
|
||
|
change times whenever the directory content gets modified (addition,
|
||
|
deletion, rename, file change), at least for NTFS file systems.
|
||
|
(SPC, 2000-11-16)
|
||
|
|
||
|
- change DOS -f/-u stuff to use DOS API for getting filetimes, not stat()
|
||
|
|
||
|
- add (-N?) option to lose all user input and/or switch to "(*input)()"
|
||
|
function, replaceable by UzpAltMain() param
|
||
|
- add -@ option to read from stdin (zip) or from file (PKZIP)? (go32 built-in)
|
||
|
- add -oo option to overwrite OS/2 and DOS system and hidden files, too
|
||
|
- add option to compute MD5 checksum on files and/or on entire zipfile?
|
||
|
|
||
|
- decide whether to use WinGUI "skipping" diagnostics in extract.c
|
||
|
- combine "y/n/A/N" query/response stuff into unified section with query
|
||
|
function(s) (InputFn?)
|
||
|
- disable ^V code in remaining mapname() routines
|
||
|
|
||
|
- change filename-matching logic so case-insensitive if case-sensitive fails?
|
||
|
|
||
|
- allow multiple dir creation with -d option? [Bob Maynard]
|
||
|
|
||
|
- use gcc -pg, gprof to do profiling on unzip
|
||
|
|
||
|
- Doug Patriarche (doug.patriarche.bvdhp01@nt.com) Northern Telecom Canada Ltd.
|
||
|
"I need to do a port of zip/unzip for Wind River Systems' VxWorks OS"
|
||
|
[GRR: 15 March 95 -> "early June"]
|
||
|
|
||
|
|
||
|
Features from old BUGS file (mostly duplicates of other entries above):
|
||
|
|
||
|
- ignore case for internal filename match on non-Unix systems, unless file-
|
||
|
specs enclosed in single quotes
|
||
|
- modify to decompress input stream if part of a pipe, but continue using
|
||
|
central directory if not (BIG job!)--extended local header capability
|
||
|
- add zipinfo option(s) to sort alphabetically, by date/time, in reverse, etc.
|
||
|
- when listing filenames, use '?' for non-printables? [Thomas Wolff, 92.6.1]
|
||
|
- add zipinfo "in-depth" option? (check local vs. central filenames, etc.)
|
||
|
- create zipcat program to concatenate zipfiles
|
||
|
- add -oo option (overwrite and override)? no user queries (if bad password,
|
||
|
skip file; if disk full, take default action; if VMS special on non-VMS,
|
||
|
unpack anyway; etc.)
|
||
|
- add -Q[Q[Q]] option (quiet mode on comments, cautions, warnings and errors)?
|
||
|
forget -oo, or make synonym? Default level -Q?
|