encrypt_header is left enabled when creating zip archives
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
File Roller |
Fix Released
|
Medium
|
|||
file-roller (Ubuntu) |
Fix Released
|
Low
|
Ubuntu Desktop Bugs | ||
Bug Description
Binary package hint: file-roller
Steps to recreate:
Right click a file to bring up the compression dialog.
Select the 7z format.
Under other options: enter a password, and check "Encrypt the file list too"
Click create.
Compress another file in the zip format, and enter a password.
"Encrypt the file list too" will be checked, but greyed out.
Clicking create will generate the following error.
-------
7-Zip 9.04 beta Copyright (c) 1999-2009 Igor Pavlov 2009-05-30
p7zip Version 9.04 (locale=
Scanning
Creating archive /home/greg/
System error:
E_INVALIDARG
-------
This is the same error received when using 7z with -tzip -mhe=on
mhe=on can only be used with the 7z format.
A quick way to uncheck it is to use:
gconftool-2 --type bool --set /apps/file-
$lsb_release -rd
Description: Ubuntu 9.10
Release: 9.10
$apt-cache policy file-roller
file-roller:
Installed: 2.28.1-0ubuntu1
Candidate: 2.28.1-0ubuntu1
Version table:
*** 2.28.1-0ubuntu1 0
500 http://
100 /var/lib/
Changed in file-roller: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
One possible solution: add_arg (comm->process, "-tzip");
fr-command-7z.c:
Original:
--------------
if (is_mime_type (comm->mime_type, "application/zip"))
fr_process_
fr_process_add_arg (comm->process, "-bd"); header) add_arg (comm->process, "-mhe=on");
fr_process_add_arg (comm->process, "-y");
fr_process_add_arg (comm->process, "-l");
add_password_arg (comm, comm->password, FALSE);
if ((comm->password != NULL) && (*comm->password != 0) && comm->encrypt_
fr_process_
--------------
Change:
--------------
fr_process_add_arg (comm->process, "-bd");
fr_process_add_arg (comm->process, "-y");
fr_process_add_arg (comm->process, "-l");
add_password_arg (comm, comm->password, FALSE);
if (is_mime_type (comm->mime_type, "application/zip")) add_arg (comm->process, "-tzip"); header) add_arg (comm->process, "-mhe=on");
fr_process_
else
if ((comm->password != NULL) && (*comm->password != 0) && comm->encrypt_
fr_process_
--------------