unzip from stdin does no loger work in 1.17.x

Denys Vlasenko vda.linux at googlemail.com
Tue Aug 17 14:26:28 UTC 2010


On Tue, Aug 17, 2010 at 3:56 PM, Natanael Copa <natanael.copa at gmail.com> wrote:
> This no longer work in busybox-1.17.1: cat test.zip | unzip -
>
> I get:
> unzip: lseek: Illegal seek
>
> bug or feature?

Both, I guess... unzip was taught to use the "Central Directory" structure,
which is found at the end of .zip file.

It is useful for "streamed" .zip files
(ones where file sizes were not known before zipping, and therefore
they are recorded only post-factum in CD, not at the beginning).
Openoffice and gmail are known to create such .zip files.

Also, CD contains file modes (if .zip was created on Unix).

But it means that streaming unzipping is lost.

The "bug" part of it is that I didn't know some features in unzip were lost.

Theoretically, it can be fixed for non-streaming .zip's.

-- 
vda


More information about the busybox mailing list