Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  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?
  227.