Commons Compress
  1. Commons Compress
  2. COMPRESS-115

Imploded entry decompression for Zip archives (method 6)

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0
    • Fix Version/s: 1.7
    • Component/s: Archivers
    • Labels:

      Description

      This is a RFE to implement the decompression of zip file entries using the imploded compression method (aka method 6). This method is found in archives created with old versions of PKZip. Only the decompression operation is really useful since this method is less efficient than deflate.

      Some links with technical information about this format:

      http://www.pkware.com/documents/casestudies/APPNOTE.TXT

      http://en.wikipedia.org/wiki/Shannon%E2%80%93Fano_coding

      http://en.wikipedia.org/wiki/LZ77

      http://src.opensolaris.org/source/xref/sfw/usr/src/cmd/unzip/explode.c

      1. imploding-4Kdict-2trees.zip
        0.7 kB
        Emmanuel Bourg
      2. imploding-8Kdict-3trees.zip
        4 kB
        Emmanuel Bourg
      3. explode.c
        24 kB
        Emmanuel Bourg

        Issue Links

          Activity

          Emmanuel Bourg created issue -
          Hide
          Emmanuel Bourg added a comment -

          Here are 2 test files covering the variants of the imploded format (4K or 8K sliding dictionary, 2 or 3 Shannon-Fano trees)

          Show
          Emmanuel Bourg added a comment - Here are 2 test files covering the variants of the imploded format (4K or 8K sliding dictionary, 2 or 3 Shannon-Fano trees)
          Emmanuel Bourg made changes -
          Field Original Value New Value
          Attachment imploding-4Kdict-2trees.zip [ 12446727 ]
          Attachment imploding-8Kdict-3trees.zip [ 12446728 ]
          Emmanuel Bourg made changes -
          Link This issue is blocked by COMPRESS-93 [ COMPRESS-93 ]
          Show
          Emmanuel Bourg added a comment - - edited Alternative explode implementation in ClamAV: https://github.com/vrtadmin/clamav-devel/blob/master/libclamav/explode.h https://github.com/vrtadmin/clamav-devel/blob/master/libclamav/explode.c
          Sebb made changes -
          Component/s Archivers [ 12313595 ]
          Stefan Bodewig made changes -
          Labels zip
          Emmanuel Bourg made changes -
          Attachment explode.c [ 12618010 ]
          Emmanuel Bourg made changes -
          Comment [ InfoZIP explode implementation ]
          Emmanuel Bourg made changes -
          Assignee Emmanuel Bourg [ ebourg ]
          Emmanuel Bourg committed 1552325 (18 files)
          Reviews: none

          Explode support for ZipFile and ZipArchiveInputStream (COMPRESS-115)

          commons trunk
          Emmanuel Bourg made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 1.7 [ 12325345 ]
          Resolution Fixed [ 1 ]

            People

            • Assignee:
              Emmanuel Bourg
              Reporter:
              Emmanuel Bourg
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development