Issue 26293: Embedded zipfile fields dependent on absolute position (original) (raw)

Issue26293

Created on 2016-02-05 08:52 by spoo, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
zipfile_concatenated.patch serhiy.storchaka,2016-05-13 19:14 review
Pull Requests
URL Status Linked Edit
PR 1484 merged serhiy.storchaka,2017-05-06 11:13
PR 1485 merged serhiy.storchaka,2017-05-06 11:54
PR 1486 merged serhiy.storchaka,2017-05-06 11:57
Messages (14)
msg259642 - (view) Author: (spoo) Date: 2016-02-05 08:52
Example: from zipfile import ZipFile with open('a.zipp', 'wb') as base: base.write(b'old\n') with ZipFile(base, 'a') as myzip: myzip.write('eggs.txt') If the embedded zip portion of the file is extracted (first four bytes deleted), some fields will be incorrect in the resultant file - commenting out line 3 produces a file that can serve as a comparison. These differences cause issues opening with some zip library implementations. My best guess is that this is related to this line: https://github.com/python/cpython/blob/master/Lib/zipfile.py#L1459
msg259644 - (view) Author: (spoo) Date: 2016-02-05 08:59
I'm not familiar with iOS development, but I'd hazard a guess that "some zip library implementations" means a (the official?) iOS zip library.
msg265484 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2016-05-13 19:14
Yes, this may be a bug. After appending all offsets are absolute file positions. Here is a patch that presumably fixes this issue. Unfortunately I can't write tests for this issue. ZipFile is too lenient and all written tests are passes with unpatched code. Please test the patch manually.
msg267095 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2016-06-03 12:27
spoo, can you confirm that the patch fixes your issue?
msg267107 - (view) Author: (spoo) Date: 2016-06-03 15:39
On 06/03/2016 09:27 PM, Serhiy Storchaka wrote: > > Serhiy Storchaka added the comment: > > spoo, can you confirm that the patch fixes your issue? > > ---------- > > _______________________________________ > Python tracker <report@bugs.python.org> > <http://bugs.python.org/issue26293> > _______________________________________ > Yes, sorry, and thank you for looking into this! It may take me a few days to be able to test it.
msg267598 - (view) Author: (spoo) Date: 2016-06-07 06:25
Thank you for looking into this! I don't have my tablet to test with at the moment, but testing locally with zipinfo there used to be a warning about missing bytes and now there is none. I will test with the tablet in a week or two when I get it back.
msg278079 - (view) Author: (spoo) Date: 2016-10-04 18:59
I confirmed this fixes the issue loading zips on an iPad.
msg278262 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-10-07 19:25
New changeset 005704f5634f by Serhiy Storchaka in branch '3.5': Issue #26293: Fixed writing ZIP files that starts not from the start of the https://hg.python.org/cpython/rev/005704f5634f New changeset b06e75ae1981 by Serhiy Storchaka in branch '3.6': Issue #26293: Fixed writing ZIP files that starts not from the start of the https://hg.python.org/cpython/rev/b06e75ae1981 New changeset 64a19fe3a16a by Serhiy Storchaka in branch 'default': Issue #26293: Fixed writing ZIP files that starts not from the start of the https://hg.python.org/cpython/rev/64a19fe3a16a
msg278264 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-10-07 20:13
New changeset 9a99a88301ef by Serhiy Storchaka in branch '2.7': Issue #26293: Fixed writing ZIP files that starts not from the start of the https://hg.python.org/cpython/rev/9a99a88301ef
msg278265 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2016-10-07 20:15
Thank you for your report and testing.
msg292912 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-05-03 16:10
Unfortunately we should revert this change. It breaks other cases. See .
msg293155 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-05-06 11:46
New changeset 3763ea865cee5bbabcce11cd577811135e0fc747 by Serhiy Storchaka in branch 'master': Revert bpo-26293 for zipfile breakage. See also bpo-29094. (#1484) https://github.com/python/cpython/commit/3763ea865cee5bbabcce11cd577811135e0fc747
msg293157 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-05-06 12:10
New changeset 70dc6a7a0b7f104d87512556fca242c2ca96a010 by Serhiy Storchaka in branch '3.6': [3.6] Revert bpo-26293 for zipfile breakage. See also bpo-29094. (GH-1484). (#1485) https://github.com/python/cpython/commit/70dc6a7a0b7f104d87512556fca242c2ca96a010
msg293159 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-05-06 12:11
New changeset c8faabce6ef318f3b425c6defd846e274d61e2ef by Serhiy Storchaka in branch '3.5': [3.5] Revert bpo-26293 for zipfile breakage. See also bpo-29094. (GH-1484). (#1486) https://github.com/python/cpython/commit/c8faabce6ef318f3b425c6defd846e274d61e2ef
History
Date User Action Args
2022-04-11 14:58:27 admin set github: 70481
2017-05-06 12:11:22 serhiy.storchaka set messages: +
2017-05-06 12:10:52 serhiy.storchaka set messages: +
2017-05-06 11:57:37 serhiy.storchaka set pull_requests: + <pull%5Frequest1588>
2017-05-06 11:54:20 serhiy.storchaka set pull_requests: + <pull%5Frequest1586>
2017-05-06 11:46:03 serhiy.storchaka set messages: +
2017-05-06 11:13:01 serhiy.storchaka set pull_requests: + <pull%5Frequest1584>
2017-05-03 16:10:55 serhiy.storchaka set messages: +
2017-05-03 16:08:26 serhiy.storchaka set pull_requests: - <pull%5Frequest1050>
2017-03-31 16:36:32 dstufft set pull_requests: + <pull%5Frequest1050>
2016-10-07 20:15:03 serhiy.storchaka set status: open -> closedversions: + Python 3.7messages: + resolution: fixedstage: patch review -> resolved
2016-10-07 20:13:15 python-dev set messages: +
2016-10-07 19:25:25 python-dev set nosy: + python-devmessages: +
2016-10-04 18:59:54 spoo set messages: +
2016-06-07 06:25:15 spoo set messages: +
2016-06-03 15:39:42 spoo set messages: +
2016-06-03 12:27:05 serhiy.storchaka set messages: +
2016-05-13 19:14:12 serhiy.storchaka set files: + zipfile_concatenated.patchversions: + Python 2.7, Python 3.5messages: + keywords: + patchstage: patch review
2016-02-05 09:43:39 serhiy.storchaka set assignee: serhiy.storchakanosy: + twouters, alanmcintyre, serhiy.storchaka
2016-02-05 08:59:20 spoo set messages: +
2016-02-05 08:52:35 spoo create