Commit Graph

405 Commits

Author SHA1 Message Date
sebres
1eca571ea2 .zst, .br: avoid setting of size hint for unknown size by -si, since unpackSize will be supplied as -1 (UINT64_MAX) 2023-09-14 20:02:40 +02:00
sebres
8a5e1c82db make compression of zstd archive type more similar to Zstandard CLI (store dictID and checksum by default in zstd type, no effect for 7z type) 2023-09-14 18:23:11 +02:00
sebres
5697b3dece zstd compression - set source size as hint if it is known e. g. by file compression (slightly better performance and/or compression ratio);
although the feature still calling as "experimental", but zstd uses this in its own client since v.1.4 IIRC and the only known drawback would be significant regress of compression ration if guess considerably underestimates, but it does no matter in case of known file size.
2023-09-14 18:23:10 +02:00
Tino Reichardt
62bfad55c3 Merge pull request #352 from sebres/patch-1
Amend for brotli (de)compress (-mmt1), update README.md
2023-09-11 17:03:56 +02:00
sebres
09a6777b96 amend to #351: fixes register of zip archive (after adding of brotli codec, zip type gets missing because exceeded kNumArcsMax in registering structure g_Arcs) 2023-09-11 15:40:47 +02:00
sebres
6411fade3c translate threads to decoder (previously ignored): important for -mmt>=2 to use brotli-mt (the streams are incompatible) 2023-09-07 20:29:36 +02:00
sebres
2b48366507 if single-threaded brotli, retain artificial number set in BrotliHandler (0) - always prefer it for .br format, otherwise -mmt1 causes that it'd use brotli-mt and the stream is incompatible; -mmt=n with n >= 2 forces multi-threaded compression/decompression (therefore incompatible with standard brotli) 2023-09-07 20:29:35 +02:00
Sergey G. Brester
32ac26a4e7 README.md - brotli (de)compress, new hash algorithms
amend to #330, #351
2023-09-07 12:32:44 +02:00
sebres
eeae03eaa1 Add options to brotli and implement clean brotli .br support
- allow to specify brotli window size
  - parameter -m0=brotli:long=n, BROTLI_MAX_WINDOW_BITS (24) used by default in brotli-mt, smaller == faster
  - note that :long can be set up to BROTLI_LARGE_MAX_WINDOW_BITS (30), whereas :wlog can be set up to BROTLI_MAX_WINDOW_BITS (24) only...
  - todo: check whether set of BROTLI_PARAM_LARGE_WINDOW to BROTLI_TRUE is needed if (lgwin > BROTLI_MAX_WINDOW_BITS)

- implementation of single-threaded brotli compression / decompression for .br data

Signed-off-by: Sergey G. Brester <info@sebres.de>
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-09-06 17:56:30 +02:00
sebres
9bb11a56b6 Fix -mmt= option for many handlers
The option is previously ignored by handlers used SetCoderProperties to
set number of threads.

Signed-off-by: Sergey G. Brester <serg.brester@sebres.de>
2023-09-06 17:56:09 +02:00
Tino Reichardt
8f52579e9e Update README 2023-06-18 15:11:43 +02:00
Tino Reichardt
dddf507557 Add SHA3 hashing
- added these variants: SHA3-256, SHA3-384, SHA3-512
- reordered also the hashing id's
- added some notes about them in DOC/Hashes.txt

Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-06-18 15:09:58 +02:00
defrag257
9b8a493437 Add tzstd and tzst file extensions
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
Signed-off-by: defrag257 <defrag257@qq.com>
2023-06-18 08:39:19 +02:00
defrag257
7d5bb9ed84 Add official Zstandard extension .zst
- update ZstdHandler.cpp to support also "zst" and "tzst" as
  valid extensions
- update README.md to reflect these chnages

Signed-off-by: Defrag257 <defrag257@qq.com>
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-05-28 19:26:08 +02:00
Jevil7452
92d1609b8a Add "ZS" to the file manager's name
This will allow for differentiation between standard 7-Zip and 7-Zip ZS
in the start menu.

Signed-off-by: Jevil7452 <98893064+Jevil7452@users.noreply.github.com>
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-05-28 07:39:24 +02:00
Tino Reichardt
888ea19c58 Fix small typo in "About" window
Closes: #314

Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-04-14 21:18:10 +02:00
sebres
eef99c5416 GetQuotedString() uses correct windows cmdline notation
- escaping of backslash and quotes
- fixes gh-312 for new cmdline parser algorithm (gh-307, gh-310)

Signed-off-by: Sergey G. Brester <info@sebres.de>
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-04-14 21:18:03 +02:00
sebres
19e97e4c68 Code deduplication GetQuotedString()
Moved single function GetQuotedString() to MyString

Signed-off-by: Sergey G. Brester <info@sebres.de>
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-04-14 21:17:56 +02:00
sebres
8cfdd747c8 Fixes for "vulnerable command line parsing"
Signed-off-by: Sergey G. Brester <info@sebres.de>
Reviewed-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-04-14 21:17:50 +02:00
Tino Reichardt
d94284915a Revert the fixes for the "vulnerable command line parsing"
revert these commits:
- e615c8c63f
- 45c245645d.
- cc1192c7d9.
2023-04-05 19:12:15 +02:00
Tino Reichardt
aaf1f122b8 Update Zstandard to Version 1.5.5
Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-04-05 08:10:40 +02:00
Sergey G. Brester
e615c8c63f CommandLineParser: amend to #307
compatibility to CommandLineToArgvW or stdlib's main argument parsing

Signed-off-by: Sergey G. Brester <serg.brester@sebres.de>
2023-03-30 18:00:15 +02:00
sebres
45c245645d few optimizations building string vector with arguments
- avoid unneeded copying (don't gather remaining string)
- don't build args byte by byte

Signed-off-by: Sergey G. Brester <serg.brester@sebres.de>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
2023-03-22 17:34:35 +01:00
sebres
cc1192c7d9 fixes vulnerable command line parsing
- considers valid windows escape sequences, like backslashes
  followed by quote-char as well as quote triples)
- SplitCommandLine works now very similar to CommandLineToArgvW
  (but doesn't require dependency to shell32)

Signed-off-by: Sergey G. Brester <serg.brester@sebres.de>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
2023-03-22 17:32:20 +01:00
Tino Reichardt
b2d7bd30d7 Update Lizard - use internal HUF and FSE entropy
- AdjustLiz.sh fixes some double defines with zstd of lizard
- lizard uses it's own entropy lib again
- this will fix #302

Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-02-27 14:43:39 +01:00
Tino Reichardt
36c2a9c760 Fix missing context menu (issue #301)
Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-02-21 22:36:28 +01:00
Tino Reichardt
4fae369d2d Fix selectable uppercase / lowercase hash formatting
- the last fix was not done correctly
- issue #177 is solved really now

Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-02-18 20:03:54 +01:00
Tino Reichardt
f0954038bc Add Github Action for generating release binaries 2023-02-18 18:03:30 +01:00
sebres
8b011d230f reorder initialization in constructor matching to member declaration order (silence [-Werror=reorder]) 2023-02-15 15:35:00 +01:00
sebres
ebe8399e0f resolve deprecated ZSTD_resetDStream with its equivalent ZSTD_DCtx_reset(_ctx, ZSTD_reset_session_only); 2023-02-15 15:34:55 +01:00
Tino Reichardt
d56903e09d Add Github Build Action
Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-02-13 23:13:27 +01:00
Tino Reichardt
650fba0328 Add history tracking and selectable hash formatting
Re-add clearing of various history tracking within registry
- see issue #113 for comments on this
- you can re-enable this via tools->options->settings

Re-add: selectable uppercase / lowercase hash formatting
- see issue #177 for more info about this

Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-02-13 23:12:34 +01:00
Tino Reichardt
edeaf1339f Update Icons 2023-02-13 23:12:34 +01:00
Tino Reichardt
9bc1a5a42a Update README
- Zstandard version 1.5.2 -> 1.5.4
- ".zst" extension should be ".zstd"
2023-02-13 23:12:34 +01:00
Tino Reichardt
d32f195e90 Fix issues with incorrect compression method
This version will use LZMA2 as default one also now
2023-02-13 23:12:34 +01:00
Tino Reichardt
26ef822798 Update appveyor.cmd for Visual Studio 2022
Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-02-13 23:12:34 +01:00
Tino Reichardt
4671e41b5e Fix Lizard for new Zstandard version 2023-02-13 23:12:34 +01:00
Tino Reichardt
83b87f6fe3 Update Zstandard to Version 1.5.4
Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
2023-02-13 23:12:34 +01:00
Tino Reichardt
5fac496461 Fix Version numbers 2023-01-15 19:18:20 +01:00
Tino Reichardt
180c358d1b Add 7za.exe and 7za.dll to uninstall routine 2023-01-15 19:18:20 +01:00
Tino Reichardt
cf29d0c1ba Add other methods to compression dialog
Signed-off-by: SCell555 <kubci.rusnk645@gmail.com>
Co-Authored-By: Tino Reichardt <milky-7zip@mcmilk.de>
2023-01-15 19:17:40 +01:00
Tino Reichardt
3c65c6c314 Add APFS Icon 2023-01-15 19:17:40 +01:00
Tino Reichardt
a92cc9e743 Add correct LZ4 version to README.md an fix building date 2023-01-15 19:17:40 +01:00
Tino Reichardt
9ff7956897 Disable compiler warnings zstd.h 2023-01-15 19:17:40 +01:00
Tino Reichardt
76770869d0 Remove crlf for .rc files in .gitattributes 2023-01-15 19:17:21 +01:00
Tino Reichardt
d03b30eb8d Update LZ4 to version 1.9.4 2022-10-16 22:09:46 +02:00
Tino Reichardt
e3ef376ea6 Update Zstandard to Version 1.5.2 2022-08-07 10:18:54 +02:00
Tino Reichardt
f9e0730191 Update to 7-Zip Version 22.01
See: https://sourceforge.net/p/sevenzip/discussion/45797/thread/c43cbc5f18/
2022-08-07 10:06:40 +02:00
Tino Reichardt
57558682a8 Update to 7-Zip Version 22.00
See: https://sourceforge.net/p/sevenzip/discussion/45797/thread/9c2d9061ce/
2022-08-07 10:06:40 +02:00
Tino Reichardt
6a4fe97fc3 Update to 7-Zip Version 21.07
See: https://sourceforge.net/p/sevenzip/discussion/45797/thread/0a7b47970b/
2022-08-07 10:06:40 +02:00