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