Bugs item #1742205, was opened at 2007-06-23 16:07
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1742205&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Python Library
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: alexis (asak)
Assigned to: Nobody/Anonymous (nobody)
Summary: ZipFile.writestr writes incorrect extended local headers

Initial Comment:
According to http://www.onicos.com/staff/iz/formats/zip.html the format of an 
optional extended local header is:

Extended local header:
Offset   Length   Contents
  0      4 bytes  Extended Local file header signature (0x08074b50)
  4      4 bytes  CRC-32
  8      4 bytes  Compressed size
 12      4 bytes  Uncompressed size

If you call ZipFile.writestr passing a ZipInfo where flag_bits & 0x08 is true, 
it will try to write an extended local header, but it won't write the header 
signature.

Even though (on Linux) unzip doesn't complain about it, a zip -T file.zip tells 
me:

$ zip -T file.zip
        zip warning: extended local header not found for filename

zip error: Zip file structure invalid (file.zip)


Tested on a debian unstable system, with Python 2.3.5, 2.4.4 and 2.5.1.

I'm attaching a simple test case.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1742205&group_id=5470
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to