Ticket #3433 (closed defect: fixed)
cd into zip file fail with "inconsistent extfs archive"
Reported by: | fubbes | Owned by: | andrew_b |
---|---|---|---|
Priority: | major | Milestone: | 4.8.16 |
Component: | mc-vfs | Version: | 4.8.14 |
Keywords: | extfs uzip | Cc: | |
Blocked By: | Blocking: | ||
Branch state: | merged | Votes for changeset: | committed-master |
Description
It's not possible to cd into some zip files. This happen only for specific ones.
After some investigations it seems mc isn't able to handle zip files with entries which have broken Unix file attributes. Whereas the zip file itself can be extracted without any problem.
zip with valid Unix permissions
$ /usr/lib/mc/extfs.d/uzip list foo.zip drwxrwxrwx 1 1000 1000 0 03/27/2015 04:39:26 addons/
$ zipinfo foo.zip | grep Unix file system or operating system of origin: Unix Unix file attributes (040777 octal): drwxrwxrwx
zip with invalid Unix permissions
$ /usr/lib/mc/extfs.d/uzip list foo_broken.zip ?rwsrwsrwt 1 1000 1000 0 03/27/2015 04:39:26 addons/
$ zipinfo foo_broken.zip | grep Unix file system or operating system of origin: Unix Unix file attributes (177777 octal): ?rwsrwsrwt
issue is also on github: https://github.com/MidnightCommander/mc/issues/55
Attachments
Change History
comment:2 Changed 9 years ago by and
Thanks fubbes and/or SubOptimal? for reporting.
unzip handled object as directory if filename ended with '/'
it will not depend on given file permission
So zipinfo can show strange perms but unzip can handle it.
patch attached.
Changed 9 years ago by and
- Attachment mc-3433-extfs-uzip-adjust-abnormal-directory-permission.patch added
comment:4 Changed 9 years ago by andrew_b
- Owner set to andrew_b
- Status changed from new to accepted
- Branch state changed from no branch to on review
Branch: 3433_zip_dir_perms
changeset:2e04dfd8f62557d345e813cc0f117490315473f6
comment:5 Changed 9 years ago by andrew_b
- Votes for changeset set to andrew_b
- Branch state changed from on review to approved
comment:6 Changed 9 years ago by andrew_b
- Status changed from accepted to testing
- Votes for changeset changed from andrew_b to committed-master
- Resolution set to fixed
- Branch state changed from approved to merged
Merged to master: [2e04dfd8f62557d345e813cc0f117490315473f6].