1266 Commits

Author SHA1 Message Date
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
Timofey Solomko 7c54d2b991 [TAR] Implement TarHeader.generateContainerData 2021-07-24 14:10:04 +03:00
Timofey Solomko 082aaf5092 [TAR] Reorder and comment properties of TarHeader to clarify used formats 2021-07-24 14:09:34 +03:00
Timofey Solomko 11a2054498 [TAR] Move Data extensions from TarEntryInfo into separate file
In addition Data.append(tarString:maxLength:) has been modified to not be throwing.
2021-07-24 13:56:52 +03:00
Timofey Solomko 0bc1987500 [TAR] Add two new initializers to TarHeader
One creates a header based on TarEntryInfo, and the second one creates a header for special entries like pax headers.
2021-07-23 16:52:42 +03:00
Timofey Solomko bdf22b2cc5 [TAR] Add a Data extension function which pads to 512 bytes and appends 2021-07-23 16:40:21 +03:00
Timofey Solomko 1730eabc1c [TAR] TarEntryInfo (internal) init is no longer throwing 2021-07-23 15:18:39 +03:00
Timofey Solomko 1ec17a3137 [TAR] Rename several properties of TarHeader for consistency 2021-07-22 23:52:54 +03:00
Timofey Solomko a65f66c473 [TAR] Update TarEntryInfo.init and TarEntryInfoProvider to use TarHeader
Temporarily we had to leave the code that is being moved to TarHeader (such as TarEntryInfo.specialEntryType and blockStartIndex properties), because the format and create functionalities of TAR currently rely on it being present in TarEntryInfo to work. However, we were able to remove TarEntryInfo.SpecialEntryType enum, and use the TarHeader's version of it.
2021-07-22 23:49:47 +03:00
Timofey Solomko 0815fee187 [TAR] Rename TarEntryInfoProvider.byteReader to reader 2021-07-22 23:08:19 +03:00
Timofey Solomko 64a85690a3 [XZ] Remove wrong doc comment for a private processPadding function 2021-07-21 20:22:55 +03:00
Timofey Solomko bc3362c568 [TAR] Add TarHeader struct 2021-07-21 20:22:20 +03:00
Timofey Solomko cb8a6738a0 [Common] Change DeltaFilter from final class to enum 2021-07-21 19:47:30 +03:00
Timofey Solomko cb730a334d [LZMA] Change LZMAConstants from struct to enum 2021-07-21 19:47:05 +03:00
Timofey Solomko 7646ec34a1 [TAR] Remove pre-Swift 5.0 crash workaround 2021-07-21 19:34:48 +03:00
Timofey Solomko aba14af8c5 Small changes to code comments 2021-07-17 11:14:53 +03:00
Timofey Solomko 5245a73a6c Merge branch 'hotfix-4.5.11' into develop 2021-06-12 18:53:45 +03:00
Timofey Solomko ff5732a714 Prepare for 4.5.11 release 2021-06-12 18:50:39 +03:00
Timofey Solomko 1fa0abce06 [docs] Add docs for LZMAProperties.init() 2021-06-12 18:39:35 +03:00
Timofey Solomko f766fbc7ed [TAR] Add a comment explaining why the new data indices check uses strict inequalitites 2021-06-09 21:14:58 +03:00
Timofey Solomko d197d76769 [TAR] Check if the data is truncated before extracting entry data 2021-06-08 20:26:42 +03:00
Timofey Solomko c19694aa12 Merge branch 'hotfix-4.5.10' into develop 2021-05-23 00:10:17 +03:00
Timofey Solomko 233e0c8042 Prepare for 4.5.10 release 2021-05-22 23:48:27 +03:00
Timofey Solomko 73dec6720e [BZip2] Combine MTF and RLE steps in compression 2021-05-22 23:35:03 +03:00