Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6725 siemargl 1
================================
2
For UnZip 6.1/who knows:
3
================================
4
 
5
   o add extraction support for other compression algorithms used by new
6
     PKZIP, WinZIP, 7-Zip versions
7
     - LZMA, compression type 14 (most important, because of its efficiency)
8
     - PPMd, compression type 98 (maybe, less important)
9
     - WavPacked, compression type 97 (maybe, less important)
10
 
11
       LZMA is first-level priority for 6.1, other formats may be taken
12
       into consideration
13
 
14
   o add support for reading AES encrypted archives
15
     - WinZIP format (priority 1)
16
     - PKZip format (priority 2)
17
 
18
        top level item for 6.1
19
 
20
   o add multi-part zipfile handling
21
 
22
        major feature for 6.x!
23
 
24
        could happen for 6.1
25
 
26
   o better support for multilingual uses and different codepages;
27
     support unicode (UTF-8 coded) filenames and comment texts
28
 
29
        a requested feature getting more and more important,
30
        - partially done for the Windows port in 6.0
31
          (support restricted for chars of the current system codepage)
32
        - partially done (beta state) for Unix
33
          (requires native codepage to be UTF-8)
34
 
35
   o complete support for UTF-8 coded entry names (and comments)
36
     - add new "win32_wide" port to extend unicode support on Windows
37
       beyond the restrictions of the current (ANSI) system codepage
38
     - revise/extend the WinDLL interface to allow passing of "wide"
39
       string argument data
40
     - add simple built-in character translation between UTF-8 and the
41
       old (ISO-8851-1 / IBM850) code pages to allow old systems without
42
       standard UTF-8 support to read UTF-8 encoded archives.
43
     - extend the built-in translation tables to support other language
44
       regions besides "Western_Latin1" (e.g. Russian-kyrillic, Japanese,
45
       Chinese)
46
     - streamline the multilingual codepage and UTF-8 support for the UNIX
47
       port (standard codepage translation facility?, like WideChar<->AnsiCP
48
       translation functions under MS Windows)
49
 
50
        should happen for 6.1
51
        (there is internal alpha-state code for better "wide" support on
52
        Windows available at the time of the 6.0 release)
53
 
54
   o revise the "extended charcodes" handling in decryption password to
55
     support UTF-8 encoding on Unicode-aware systems where the "native"
56
     character coding is NOT UTF-8 (e.g. Windows).
57
 
58
   o revise the command line interface for more compatibility with Zip'
59
     command parser
60
     - implement the versatile command parser from Zip 3.0.
61
     - add "long option" definitions for all existing options; revise
62
       the UnZip user manual to document the long-option alternatives.
63
     - add support for reading the "process these entries" and the "skip
64
       these entries" pattern lists from a file (or from separate files ?).
65
     - add a (long) option to switch off UnZip's internal pattern matching
66
       on filename arguments.
67
 
68
        probably in 6.1,
69
        (first prototype of the revised command parser was available at the
70
        time of the 6.0 release)
71
 
72
   o add command line options for miscellaneous features requested by users
73
     and/or development team members:
74
     - display the Info-ZIP software license
75
     - more fine-tuning for file attributes set/restored at extraction, like:
76
       set/clear archive attribute on DOS/OS2/WIN32;
77
       apply/skip standard or user-defined umask filter on UNIX (& Unix-alike)
78
     - additional time-stamp related processing filters
79
     - more listing display modifications
80
     - overriding the default date-time display style
81
     - ...
82
 
83
     All these options are of minor importance and/or would collide with
84
     existing "one-character" options.  The current UnZip maintainer does not
85
     want to reserve any of the few not-yet-occupied short option characters.
86
     for one of these features.   So, any implementation effort for items
87
     of this feature wish-list has to be delayed until the "long option"
88
     support of the revised command line parser becomes available.
89
 
90
       some option may get implemented in 6.1
91
 
92
   o support for
93
     and/or development team members:
94
 
95
   o add new low-level, binary API; rewrite "normal" (command-line) UnZip
96
     to use it
97
 
98
        maybe soon (maybe 6.1)
99
 
100
   o MSDOS/WIN32/others: detection of "reserved" names (= names of character
101
     devices, or system extensions that look like a characters device driver)
102
     at runtime; with the goal of emitting "meaningful" error messages and/or
103
     rename queries.
104
     (Currently, these reserved names are catched as "non-deletable files".
105
      On MSDOS and WIN32, when the RTL stat() function allows to identify
106
      character devices, the "reserved" names are automatically prefixed with
107
      an underscore.)
108
 
109
   o redesign "file exists -- is newer/older -- overwrite/skip/rename"
110
     logic in extract.c and the corresponding system specific mapname()
111
     services; to prevent superfluous decryption key prompts for entry
112
     that will be skipped, later.
113
 
114
   o rewrite to use fread/fseek/etc.  [eventually: test
115
     write(bytes) vs. fwrite(words), especially on Crays/Alphas]
116
 
117
        soon (probably in conjunction with multi-part handling)
118
 
119
   o incorporate new backfill version of inflate()
120
 
121
        wait for zlib version
122
 
123
   o check NEXTBYTE for EOF in crypt.c, funzip.c and explode.c, too
124
 
125
        whenever
126
 
127
   o add option to force completely non-interactive operation (no queries
128
     for overwrite/rename, password, etc.); also allow some sort of non-
129
     interactive password provision?  (file? command-line? env. variable?)
130
 
131
        someday?
132
 
133
   o add testing of extra fields (if have CRC)
134
 
135
        later
136
 
137
   o rewrite to allow use as a filter
138
 
139
        way, way later...
140
 
141
   o add Unix hard-link support?
142
 
143
        way, way later...
144
 
145
   o add ".ini" file support as a (more elaborate) alternative to the presently
146
     supported preconfiguring abilities via special environment variables
147
     (UNZIP on many systems...)?
148
 
149
        way, way later (if ever)...
150
 
151
   o add option to search zipfile contents for a string and print the
152
     results? ("zipgrep" option--e.g., unzip -g or unzip -S) (easy for
153
     fixed strings, hard for wildcards/true regex's)
154
 
155
        way, way later, if at all...probably use libregex
156
 
157
   o add -y "display symlinks" option to zipinfo?  various sorting options?
158
     (-St date/time, -Sn name)?
159
 
160
        who knows
161
 
162
   o add "in-depth" option to zipinfo? (check local headers against
163
     central, etc.)--make it a better debugging tool (or just create
164
     zipfix)
165
 
166
        who knows (zip -F, -FF already exist)
167
 
168
Some maintenance or OS specific topics for 6.0 release:
169
 
170
   * add "unix-style-path -> partitioned-dataset filename" conversion
171
     to MVS port
172
 
173
   * should we add support for (null) entry names (empty entry name field), to
174
     conform to the PKWARE specification?
175
 
176
 
177
=======================================
178
 
179
Requested features:
180
 
181
 - extract or exclude on basis of UID [Armin Bub, Armin.Bub@bk.bosch.de, 970904]
182
 
183
=======================================
184
 
185
   o miscellaneous little stuff:  whenever
186
     --------------------------
187
 
188
 - change DOS -f/-u stuff to use DOS API for getting filetimes, not stat()
189
 
190
 - add (-N?) option to lose all user input and/or switch to "(*input)()"
191
   function, replaceable by UzpAltMain() param
192
 - add -@ option to read from stdin (zip) or from file (PKZIP)?  (go32 built-in)
193
 - add -oo option to overwrite OS/2 and DOS system and hidden files, too
194
 - add option to compute MD5 checksum on files and/or on entire zipfile?
195
 
196
 - decide whether to use WinGUI "skipping" diagnostics in extract.c
197
 - combine "y/n/A/N" query/response stuff into unified section with query
198
    function(s) (InputFn?)
199
 - disable ^V code in remaining mapname() routines
200
 
201
 - change filename-matching logic so case-insensitive if case-sensitive fails?
202
 
203
 - allow multiple dir creation with -d option? [Bob Maynard]
204
 
205
 - use gcc -pg, gprof to do profiling on unzip
206
 
207
 - Doug Patriarche (doug.patriarche.bvdhp01@nt.com) Northern Telecom Canada Ltd.
208
    "I need to do a port of zip/unzip for Wind River Systems' VxWorks OS"
209
    [GRR:  15 March 95 -> "early June"]
210
 
211
 
212
Features from old BUGS file (mostly duplicates of other entries above):
213
 
214
 - ignore case for internal filename match on non-Unix systems, unless file-
215
    specs enclosed in single quotes
216
 - modify to decompress input stream if part of a pipe, but continue using
217
    central directory if not (BIG job!)--extended local header capability
218
 - add zipinfo option(s) to sort alphabetically, by date/time, in reverse, etc.
219
 - when listing filenames, use '?' for non-printables? [Thomas Wolff, 92.6.1]
220
 - add zipinfo "in-depth" option? (check local vs. central filenames, etc.)
221
 - create zipcat program to concatenate zipfiles
222
 - add -oo option (overwrite and override)?  no user queries (if bad password,
223
    skip file; if disk full, take default action; if VMS special on non-VMS,
224
    unpack anyway; etc.)
225
 - add -Q[Q[Q]] option (quiet mode on comments, cautions, warnings and errors)?
226
    forget -oo, or make synonym?  Default level -Q?