- 14 Aug, 2020 1 commit
-
-
Alexey Ivanov authored
-
- 12 Apr, 2020 1 commit
-
-
Ragnar Thomsen authored
Reimplement hasBatchExtractionProgress() in LibzipPlugin so progress works when batch-extracting. Partially resolves bug 382599. CCBUG: 382599 Differential Revision: D28722
-
- 18 Sep, 2019 1 commit
-
-
Laurent Montel authored
-
- 02 Jun, 2019 1 commit
-
-
Elvis Angelaccio authored
Evolution of b1a251eb. We no longer want to distinguish between libarchive and libzip. If there are crashes in libarchive because of this new kill logic, we need to fix them.
-
- 01 Jun, 2019 1 commit
-
-
Laurent Montel authored
Summary: Port to for(...:...) Reviewers: elvisangelaccio Reviewed By: elvisangelaccio Subscribers: kde-utils-devel, #ark Tags: #ark Differential Revision: https://phabricator.kde.org/D21515
-
- 16 Feb, 2019 1 commit
-
-
Elvis Angelaccio authored
This is a sort of "slot", while the current name make it look like a signal.
-
- 13 Jan, 2019 1 commit
-
-
Elvis Angelaccio authored
Requires less boilerplate code than K_PLUGIN_FACTORY_WITH_JSON.
-
- 31 Oct, 2018 1 commit
-
-
Alexander Volkov authored
Summary: Use zip_register_progress_callback_with_state() that was introduced in libzip 1.3 (we already require this version). Pass 0.001 as precision because this value is used for old zip_register_progress_callback() inside libzip. Also pass nullptr as a free function, because 'this' doesn't need to be freed. Reviewers: #ark, elvisangelaccio Reviewed By: #ark, elvisangelaccio Subscribers: elvisangelaccio, kde-utils-devel, #ark Tags: #ark Differential Revision: https://phabricator.kde.org/D16276
-
- 20 Sep, 2018 1 commit
-
-
Laurent Montel authored
-
- 22 Jul, 2018 1 commit
-
-
Elvis Angelaccio authored
`zip_get_archive_comment` returns garbled text with some zip archives if we pass the `ZIP_FL_ENC_GUESS` flag. Reported upstream at https://github.com/nih-at/libzip/issues/57 Using `ZIP_FL_ENC_RAW` fixes the issue and doesn't seem to break other zip comments I have around. Since this flag doesn't seem to guarantee UTF-8 encoding of the comment, we switch from `QString::fromUtf8()` to `QString::fromLocal8Bit()` to play safe.
-
- 17 Jun, 2018 1 commit
-
-
Elvis Angelaccio authored
Some zip archives may not have a zip entry for a folder, but only the entries for the files within that folder. The Part generates a fake `Archive::Entry` in such cases, which gets added the to list of entries passed to the `ExtractJob`. This is properly handled by unzip (which prints a "caution: filename not matched" warning for the virtual entry) and 7z. However, the libzip plugin would abort the whole extraction when it couldn't stat the missing entry. This patch just prints a warning when it detects a folder that cannot be stat'd (due to the NOENT error), but the extraction will continue as normal. BUG: 394542 FIXED-IN: 18.04.3
-
- 21 Apr, 2018 1 commit
-
-
Marco Genasci authored
Summary: Build fails on some setups for use of std::unique_ptr. See also: https://bugs.gentoo.org/653546 Reviewers: #ark, elvisangelaccio Reviewed By: #ark, elvisangelaccio Subscribers: heikobecker, kde-utils-devel Tags: #ark Differential Revision: https://phabricator.kde.org/D12374
-
- 25 Feb, 2018 5 commits
-
-
Elvis Angelaccio authored
The libzip plugin sometimes cannot react to `QThread::requestInterruption()` because there is a blocking `zip_close()` which writes to disk (e.g. with AddJobs). This means we have to manually abort the thread (by passing a timeout to `QThread::wait()` in `Job::doKill()`. We cannot do this uconditionally because we would end up with crashes in libarchive. Since the libarchive plugin is not affected by this problem, we rework the logic in `Job::doKill()` by assuming that the interface will tell us whether it needs to be brutally killed. This way we can distinguish between the libarchive and the libzip plugins (the ones that use a worker thread). The mutex in this patch is needed because in theory `m_operationMode` could be read and written by different threads at the same time, even though that's unlikely. BUG: 389290 FIXED-IN: 18.03.80 Task: T7824
-
Elvis Angelaccio authored
Depends on fa3865693c, otherwise we would get two messageboxes after stopping the TestJob from the Plasma systray.
-
Elvis Angelaccio authored
If the user canceled an OverwriteQuery dialog, we should not claim the extraction finished. By emitting the canceled() signal, the extraction jobs will set the KilledJobError error and the plasma applet will not show the "Finished" string in the notification. BUG: 382601 FIXED-IN: 17.12.3 Task: T6707
-
Elvis Angelaccio authored
-
Elvis Angelaccio authored
QScopedPointer by default uses `delete`, even if we used `new []`. We would have to use the following verbose syntax: QScopedPointer<uchar, QScopedPointerArrayDeleter<uchar>> buf(new uchar[...]); But `std::unique_ptr` can do the right thing by just looking at the template parameter, so let's use that.
-
- 08 Nov, 2017 1 commit
-
-
Elvis Angelaccio authored
Differential Revision: D8406
-
- 22 Oct, 2017 2 commits
-
-
Ragnar Thomsen authored
Add support for bzip2 compression method and compression levels for both deflate and bzip2. These features were added in libzip 1.3.0, so this commit raises the required libzip version. Differential Revision: D8414
-
Elvis Angelaccio authored
GIT_SILENT
-
- 21 Oct, 2017 4 commits
-
-
Elvis Angelaccio authored
While at it, rename it with a more descriptive name. Differential Revision: D8407
-
Ragnar Thomsen authored
Permissions are read and set in the external attributes. BUG: 382815 FIXED-IN: 17.12.0 Differential Revision: D8305
-
Elvis Angelaccio authored
Mark variables as `const` whenever possible. Differential Revision: D8404 Date: Sat Oct 21 19:46:49 2017 +0200
-
Ragnar Thomsen authored
The old test implementation only opens the archive with some additional checks, but fails to detect archives with CRC errors for entries. We now read each entry and check the CRC checksum against the one given in the file header. We use zlib's crc32() function to compute the checksum. CCBUG: 384622 Differential Revision: D8400
-
- 16 Oct, 2017 2 commits
-
-
Ragnar Thomsen authored
QDateTime::toSecsSinceEpoch() was introduced in Qt 5.8, so use toMSecsSinceEpoch() instead, to avoid having to raise Qt version dependency.
-
Ragnar Thomsen authored
Set modtime for files and directories when extracting. Since Qt doesnt have api for setting modtime, we use utime(). BUG: 380225 FIXED-IN: 17.08.3 Differential Revision: D8299
-
- 27 Jun, 2017 1 commit
-
-
Elvis Angelaccio authored
Summary: The zip format reserves the 2 leftmost bytes of the extended file attribute field (32 bits) for the UNIX permissions. If the zip archive was crated with such metadata, we can just use the libzip api to retrieve the extended file attribute and extract the mode_t value from it. BUG: 381499 FIXED-IN: 17.07.80 Test Plan: This fixes the 2 failing libzip test cases in ExtractTest::testPreservePermissions(). Reviewers: #ark, rthomsen Subscribers: kde-utils-devel Tags: #ark Differential Revision: https://phabricator.kde.org/D6408
-
- 19 Mar, 2017 2 commits
-
-
Elvis Angelaccio authored
as recommended by clazy. GIT_SILENT
-
Elvis Angelaccio authored
Patch generated by: cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. run-clang-tidy.py -header-filter='.*' -checks='-*,modernize-use-nullptr' -fix
-
- 16 Mar, 2017 1 commit
-
-
Ragnar Thomsen authored
A new plugin for libzip was added. The plugin is only built if libzip 1.20 or higher is installed, but is the preferred plugin for zip archives. FEATURE: Differential Revision: D5039
-