mdsteele / rust-cab

Rust library for encoding/decoding Windows cabinet (.cab) files
MIT License
15 stars 8 forks source link

Many errors on unpack CAB archive #14

Closed ikrivosheev closed 11 months ago

ikrivosheev commented 2 years ago

@mdsteele hello! thank you for the great library! I have cab archive (get from MSI): python.zip

I have two problems:

  1. Unpacking is very slow
  2. A lot errors:
    w9xpopen.exe unpacker error=Custom { kind: Other, error: ChunkTooLong }
    README.txt unpacker error=Custom { kind: Other, error: ChunkTooLong }
    NEWS.txt unpacker error=Custom { kind: Other, error: OverreadBlock }
    LICENSE.txt unpacker error=Custom { kind: Other, error: InvalidBlock(0) }
    python.exe unpacker error=Custom { kind: Other, error: ChunkTooLong }
    pythonw.exe unpacker error=Custom { kind: Other, error: ChunkTooLong }
    python27.dll unpacker error=Custom { kind: Other, error: OverreadBlock }
    ...
mdsteele commented 2 years ago

Thanks. It looks like that CAB file is using Lzx(21) compression, and those errors seem to be coming from the lzxd crate (see https://github.com/Lonami/lzxd/blob/ba70d7f8292ce840267b1ab89d44a9685c72ba1f/src/lib.rs#L90). The cab crate is already using the latest available version of lzxd (v0.1.4). So probably you'll need to report these issues there, sorry.

ikrivosheev commented 2 years ago

@mdsteele thank you! I created issue