Commit graph

1,288 commits

Author SHA1 Message Date
EH
197028a1ed FIX: Zip plugin - allow cancelling TAR archive packing mid-operation (#2874)
* FIX: zip plugin - allow cancelling TAR archive packing mid-operation

TAbTarArchive.SaveArchive iterated all items without ever checking
the abort flag, making it impossible to cancel a TAR/TGZ/TBZ2 pack
operation until all files had been written.

Add a DoArchiveProgress call with abort check after each item in the
save loop, identical to the pattern already used in TAbZipArchive.SaveArchive
(abziptyp.pas) and in all extract loops (abarctyp.pas).

When the user cancels, EAbUserAbort is raised, caught in PackFilesW,
and the incomplete archive is deleted if it did not exist before packing.

* FIX: zip plugin - prevent crash on TAR abort inside GZip archive

When TAbUserAbort propagates out of TAbTarArchive.SaveArchive (e.g.
from the abort check added to the save loop), it exits the IsGzippedTar
branch of TAbGzipArchive.SaveArchive without calling SwapToGzip. The
outer finally block then compares FStream (which equals FTarStream,
possibly nil) with NewStream (FGzStream) and incorrectly frees
NewStream. The destructor later calls SwapToGzip (restoring FStream to
the already-freed FGzStream) and then frees FStream a second time,
causing an access violation.

Fix: compare FGzStream instead of FStream in the finally condition.
FGzStream always holds the original gzip stream reference and is never
changed by SwapToTar/SwapToGzip, so the NewStream ownership check is
correct regardless of which swap state the archive is in.

---------

Co-authored-by: heredie <heredie@localhost>
(cherry picked from commit 6123a21ed0)
2026-06-13 23:56:48 +03:00
Alexander Koblov
568da03d67 UPD: Zip - set owner/group before mode
(cherry picked from commit 2b0d593338)
2026-03-28 21:50:06 +03:00
Alexander Koblov
3c5af1f6ff ADD: Zip - restore owner when extract from TAR archive (Unix)
(cherry picked from commit 3c19843873)
2026-03-28 21:50:06 +03:00
Alexander Koblov
68bbec8ef7 FIX: CanYouHandleThisFile function result type
(cherry picked from commit a8ebb41c81)
2026-03-28 21:49:53 +03:00
Alexander Koblov
f9454e6fe9 FIX: Zip - remove a partial archive on cancel (fixes #1260)
(cherry picked from commit f2eb7513c8)
2026-02-14 15:33:27 +03:00
Alexander Koblov
231a73fe2c FIX: FTP - save connection with implicit FTPS (fixes #2717)
(cherry picked from commit ec27554fad)
2026-01-22 17:50:42 +03:00
Alexander Koblov
582e625e8c FIX: Zip - extract Unix symbolic links under Windows (fixes #2659)
(cherry picked from commit 0524bcd4e8)
2026-01-17 18:47:48 +03:00
Alexander Koblov
a2ea7d16f2 UPD: FTP - language files
(cherry picked from commit 9dad38408a)
2026-01-08 13:16:33 +03:00
Alexander Koblov
b3ef410b11 ADD: FTP - more strings translation
(cherry picked from commit a46139cea0)
2026-01-08 13:16:33 +03:00
Alexander Koblov
205656bc90 ADD: FTP - custom icons
(cherry picked from commit 3ebc9c7d7e)
2026-01-07 14:23:23 +03:00
Alexander Koblov
705f2e9370 UPD: Use 'main' password instead 'master'
(cherry picked from commit 9a0044e532)
2025-11-30 13:10:59 +03:00
Alexander Koblov
3f588131d4 UPD: Sample plugin 2025-11-11 18:17:02 +03:00
Alexander Koblov
396d7b541a UPD: Zip - Better suspicious symbolic links handling 2025-11-04 15:05:06 +03:00
Alexander Koblov
9370d9ec7c FIX: Wrong "From" path when copying from .b64 (issue #1639) 2025-11-03 14:18:22 +03:00
Alexander Koblov
344b0b786b FIX: Zip - When reading archives replace relative paths by underlines 2025-11-02 13:46:22 +03:00
Alexander Koblov
520c66620e UPD: Zip - Do not extract symbolic links that point outside the target directory 2025-11-02 13:46:21 +03:00
rich2014
632c724605 FIX: zip plugins compile error on UNIX(and not Linux), issue #2571 2025-10-27 15:23:13 +08:00
Alexander Koblov
a8e1440aea ADD: Zip - more accurate time support (fixes #2555) 2025-10-25 21:38:27 +03:00
Alexander Koblov
4b4b38eb97 FIX: Zip - synchronize central directory header with local file header (fixes #2542) 2025-10-13 21:58:14 +03:00
Alexander Koblov
bc9d0074d2 ADD: SevenZip - install plugin under Linux (experimental) 2025-10-11 13:39:55 +03:00
Alexander Koblov
85f15abb5a FIX: FTP - execute SIZE command in the binary mode (fixes #2510) 2025-09-21 18:36:26 +03:00
Alexander Koblov
69b61db9ac FIX: FTP - remove warnings, refactoring 2025-09-21 18:36:25 +03:00
Alexander Koblov
21a7e06543 ADD: Zip - extract from brotli compressed files (.br) 2025-09-20 22:12:38 +03:00
Alexander Koblov
3ad188b21f ADD: Zip - Brotli decompression support 2025-09-20 17:07:25 +03:00
Alexander Koblov
84c311a648 FIX: Zip - progress calculation 2025-09-15 20:21:23 +03:00
Alexander Koblov
e192d3b8bd FIX: Use _SC_NPROCESSORS_CONF constant 2025-09-14 01:46:08 +03:00
Alexander Koblov
62843e9999 ADD: Zip - don't show file size for files which don't have a size (issue #2497) 2025-09-14 00:29:30 +03:00
Alexander Koblov
bf062ab594 ADD: FTP - CLNT command support 2025-06-27 22:54:38 +03:00
rich2014
b27864fe36 UPD: MacCloud/Options: the width of the Connection List changes with the Splitter 2025-06-27 21:21:03 +08:00
rich2014
91f98d59f0 FIX: MacCloud: the issue that when revoke token, it may need to get token first 2025-06-27 21:11:45 +08:00
rich2014
91d1d605c3 FIX: MacCloud: the issue in OAuth2 RefreshToken() 2025-06-26 22:11:43 +08:00
Alexander Koblov
8a316d20d5 FIX: Everything - stop search 2025-06-25 21:16:52 +03:00
rich2014
1836be8ebf UPD: MacCLoud: hide 0 size for Connections in the File Panel 2025-06-24 20:47:08 +08:00
rich2014
79ba3f946e ADD: MacCloud/Icon: support FsExtractCustomIconW() 2025-06-23 19:15:00 +08:00
rich2014
42588e4d1a ADD: MacCloud/Icon: support FsExtractCustomIconW() 2025-06-23 19:14:25 +08:00
Alexander Koblov
9e690e36ee UPD: Sample.wfx plugin 2025-06-22 20:18:10 +03:00
rich2014
abc64806bb UPD: MacCloud: replace deprecated Cocoa API selectRow_byExtendingSelection 2025-06-02 18:48:27 +08:00
rich2014
7d4a31c5a2 ADD: MacCloud/S3: step-154: improve list buckets 2025-05-22 18:54:43 +08:00
rich2014
0acfc8b593 ADD: MacCloud/Options: step-153: more clear notes 2025-05-22 18:54:27 +08:00
rich2014
9c49da4e58 ADD: MacCloud/Options: step-152: notes configurable 2025-05-22 18:54:14 +08:00
rich2014
6c27f206fd ADD: MacCloud/BackBlazeB2: step-151: MainIcon 2025-05-22 18:53:59 +08:00
rich2014
952f41a93e ADD: MacCloud/BackBlazeB2: step-150: regions.json 2025-05-22 18:53:46 +08:00
rich2014
eb628cd8f4 ADD: MacCloud/S3: step-149: BackBlaze B2 2025-05-22 18:53:33 +08:00
rich2014
5aa91266c3 UPD: MacCloud/Options: step-148: remove spaces from user input 2025-05-21 21:05:04 +08:00
rich2014
e63af3136e ADD: MacCloud/Upyun: step-147: MainIcon 2025-05-21 21:04:49 +08:00
rich2014
866f2dea27 ADD: MacCloud/Upyun: step-146: i18n 2025-05-21 21:04:36 +08:00
rich2014
07f3afffbd ADD: MacCloud/S3: step-145: Upyun USS 2025-05-21 21:04:20 +08:00
rich2014
fdfab7d552 ADD: MacCloud/QiniuKODO: step-144: regions.json 2025-05-21 21:04:05 +08:00
rich2014
5773d1e154 ADD: MacCloud/QiniuKODO: step-143: MainIcon 2025-05-21 21:03:48 +08:00
rich2014
b4e572d064 ADD: MacCloud/QiniuKODO: step-142: i18n 2025-05-21 21:03:35 +08:00