1================================ 2For 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 168Some 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 179Requested 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 212Features 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? 227