1539 Commits

Author SHA1 Message Date
Timofey Solomko bb39e6e36d Remove DataError.encrypted
I think, this case is covered by DataError.unsupportedFeature, and we don't want redundant cases, since we're trying to minimize the amount of different error types.
2021-09-25 15:50:21 +03:00
Timofey Solomko 2daf285539 [LZ4] Implement content checks 2021-09-24 20:55:39 +03:00
Timofey Solomko a233ec8d08 [LZ4] Skip magic number when computing header checksum 2021-09-24 20:41:39 +03:00
Timofey Solomko c2278f781f [LZ4] Fix issues related to data slicing in xxHash32 2021-09-24 20:41:19 +03:00
Timofey Solomko 9e14fa159f [XZ] Make rotation operator fileprivate and simplify its implementation 2021-09-24 20:05:42 +03:00
Timofey Solomko 885d2e3828 [LZ4] Implement xxHash32 2021-09-24 20:04:36 +03:00
Timofey Solomko c8b4020a9b [LZ4] Implement Frame Descriptor processing 2021-09-24 18:55:41 +03:00
Timofey Solomko 3cb6cac20b Add two more cases to DataError 2021-09-24 18:55:31 +03:00
Timofey Solomko 46590ad631 [LZ4] Add an empty implementation of xxHash-32 2021-09-24 18:55:28 +03:00
Timofey Solomko de4fcb29cf [LZ4] Add an empty implementation of LZ4 2021-09-23 21:50:35 +03:00
Timofey Solomko 135f4c3bcd Add DataError enum
This enum will be used going forward instead of algorithm-specific error enums.
2021-09-23 21:46:30 +03:00
Timofey Solomko 2efdb3ef8c Prepare for 4.6.1 release 2021-09-21 13:29:03 +03:00
Timofey Solomko 7c6c98b3a3 [ZIP] Remove unused import 2021-09-20 12:00:12 +03:00
Timofey Solomko 86a9caf337 [ZIP] Unify the code for finding CP437 enconding 2021-09-19 18:28:25 +03:00
Timofey Solomko aefacf3e16 [7-Zip] Change SevenZipProperty from class to struct 2021-09-19 17:17:57 +03:00
Timofey Solomko 791beca597 [LZMA2] Fix a crash when trying to process empty data
Now it throws LZMAError.rangeDecoderInitError instead.
2021-09-19 15:49:09 +03:00
Timofey Solomko 15a99d1448 [swcomp] Replace ContainerCommand.Entry with ContainerType 2021-09-19 15:15:55 +03:00
Timofey Solomko 19c788eb30 [swcomp] Output uncertainty of the bench speed using avg speed units 2021-09-13 17:33:09 +03:00
Timofey Solomko d7824df50c [swcomp] Move most bench commands into BenchmarkGroup file 2021-09-13 17:32:16 +03:00
Timofey Solomko 3eed2595be [swcomp] Output results as a speed 2021-09-12 23:50:46 +03:00
Timofey Solomko 03af95fb96 [swcomp] Add CreateTar benchmarking command 2021-09-12 19:12:27 +03:00
Timofey Solomko 322fe5aaa8 [swcomp] Move createEntries function into a separate extension 2021-09-12 19:12:04 +03:00
Timofey Solomko 2fa22370dc [swcomp] Generalize BenchmarkCommand protocol 2021-09-12 19:11:39 +03:00
Timofey Solomko 97323fa76a Prepare for 4.6.0 release 2021-08-04 15:50:55 +03:00
Timofey Solomko 0ac48ae704 [docs] Add documentation for TarContainer.create(from:force:) 2021-08-04 10:52:31 +03:00
Timofey Solomko 4e8be1d4fc [TAR] Remove TarEntryInfo.format in favor of working with header format directly 2021-08-03 18:39:03 +03:00
Timofey Solomko 925986b9ed [TAR] Add an assertion that verifies that base-256 encoding will always succeed 2021-07-31 12:23:37 +03:00
Timofey Solomko d335ed450e [TAR] Counters for special entries are now UInt to prevent overflowing into negatives 2021-07-31 12:23:00 +03:00
Timofey Solomko fe672f29dd Prepare for the test release of 4.6.0 2021-07-28 11:21:59 +03:00
Timofey Solomko 417ef7ded8 [TAR] Small code comments changes 2021-07-28 11:17:49 +03:00
Timofey Solomko e8e7bf1a72 [swcomp] Remove extra "try" in TarCommand 2021-07-28 11:14:32 +03:00
Timofey Solomko ff269e3ffe [ZIP] Rename ByteReader+Zip to LittleEndianByteReader+Zip 2021-07-27 16:19:06 +03:00
Timofey Solomko 2a8fe7d37f [TAR] Remove an extra check in TarContainer functions for very small files
This situation is already covered by the check in TarParser, which results in ParsingResult.truncated. In addition, we repurposed TarError.tooSmallFileIsPassed for this cases (updated documentation).
2021-07-26 21:37:00 +03:00
Timofey Solomko 36f34c4e8f [TAR] Remove TarEntryInfo.blockStartIndex
To accomplish this, we added a second associated value to ParsingResult.entryInfo and rewrote TarContainer.open in similar way to TarContainer.info.
2021-07-26 21:22:03 +03:00
Timofey Solomko 265191ea05 [TAR] Remove TarEntryInfo.specialEntryType 2021-07-26 21:16:48 +03:00
Timofey Solomko b2f7084a0e [TAR] Rename TarEntryInfoProvider to TarParser 2021-07-26 21:15:06 +03:00
Timofey Solomko 49c4adf8e9 [TAR] Return ParsingResult from TarEntryInfoProvider.next()
ParsingResult is a new enum. This allows us to better distinguish between different situtations encounterd during parsing a TAR container.
2021-07-26 21:13:27 +03:00
Timofey Solomko a743229456 [docs] Mention format forcing in the docs for TarEntryInfo properties 2021-07-25 15:55:31 +03:00
Timofey Solomko 3d7a4a8fbc [docs] Remove Throws section from TarContainer.create 2021-07-25 15:54:29 +03:00
Timofey Solomko cc217f8f93 [TAR] The names of created special entries are now quasi-unique 2021-07-25 15:54:00 +03:00
Timofey Solomko af516f4090 [TAR] Add several asserts to TarEntryInfoProvider.next() 2021-07-24 15:28:37 +03:00
Timofey Solomko 5012788be4 [TAR] Rename ByteReader+Tar to LittleEndianByteReader+Tar 2021-07-24 15:28:19 +03:00
Timofey Solomko 8415cee9ae [TAR] Fix missing return statement in TarContainer.create 2021-07-24 15:15:29 +03:00
Timofey Solomko b344fe1f1f [TAR] Write ustar fields also for gnu format for 2021-07-24 15:00:13 +03:00
Timofey Solomko 753839f195 [TAR] Implement gnu tar headers fields creation 2021-07-24 14:33:40 +03:00
Timofey Solomko 5de2bc5768 Change conversion of utf8 strings to data without optional unwraps 2021-07-24 14:26:14 +03:00
Timofey Solomko 3e96a84f62 [TAR] Add a docs note to TarCreateError about it being never used 2021-07-24 14:23:10 +03:00
Timofey Solomko 505f35fc28 [TAR] Make TarContainer.create non-throwing by removing the usage of TarCreateError.utf8NonEncodable 2021-07-24 14:21:27 +03:00
Timofey Solomko c87e8bece7 [TAR] Remove unused generateContainerData function from TarEntry[Info] 2021-07-24 14:16:15 +03:00
Timofey Solomko 017afa06b8 [TAR] Add TarContainer.create(from:force:) function which can be used to specify tar format
In addition use this new function in the old TarContainer.create(from:) function with .pax format.
2021-07-24 14:15:35 +03:00