Commit Graph

522 Commits

Author SHA1 Message Date
Timofey Solomko ffe8be6d37 Set correct offset to the beginning of end of CD record 2017-07-16 10:59:49 +03:00
Timofey Solomko dbfdcb5c58 Zip cdEntry.fileName is now let again 2017-07-16 10:53:07 +03:00
Timofey Solomko 4f64d9cde8 Mention creationDate in comments of tarentry entryattributes 2017-07-16 10:34:56 +03:00
Timofey Solomko 83849ce616 Swiftlint autocorrect 2017-07-16 00:16:42 +03:00
Timofey Solomko 61c3db34cc Fix linux compatibility issues in Zip
Swift on Linux requires explicitly include CoreFoundation; there are some problems with CFStringEncodings enum and you have to use raw constants; CFStringEncoding is different type than raw constant of encoding number.
2017-07-16 00:13:54 +03:00
Timofey Solomko 070af415f6 Add tar creation time to entryAttributes 2017-07-15 22:10:23 +03:00
Timofey Solomko 0b611edbea Fix problem with repeated access to zip entry's data 2017-07-15 22:08:33 +03:00
Timofey Solomko 32394d66c0 Prepare for test release 2017-07-15 21:09:17 +03:00
Timofey Solomko e2bc619832 Support creation time in TarEntry 2017-07-15 20:59:10 +03:00
Timofey Solomko f91908689b Use entryAttributes in ZipEntry.isDirectory 2017-07-15 20:57:12 +03:00
Timofey Solomko 6e2ddefbb5 Move tar long names parsing from entry to container 2017-07-15 20:47:57 +03:00
Timofey Solomko 7ba077aab7 Extract some common code for ZIP 2017-07-15 20:03:25 +03:00
Timofey Solomko fad0e5c83a Add support for ZIP standard cp437 encoding
This encoding is used by ZIP standard. We fallback to UTF-8 encoding if CP437 encoding is unavailable on the platform or it is detected that the text is actually in UTF-8 encoding. The latter is needed because files created by Info-ZIP with UTF-8 names doesn't actually have bit flag which is required (again, according to standard) for UTF-8.
2017-07-14 18:11:00 +03:00
Timofey Solomko 81e1d1cee0 Write checksum tables in hex 2017-07-14 15:23:15 +03:00
Timofey Solomko e78f67aa0b Use overflow operators 2017-07-13 23:22:39 +03:00
Timofey Solomko 228e499287 Use bitReader in ZIP only when necessary 2017-07-13 23:18:15 +03:00
Timofey Solomko 8b8fc3f3c8 Fix problem with decompressing bzip2 in zip files
This problem appeared because bzip2 uses "straight" bit order instead of reversed.
2017-07-09 13:55:20 +03:00
Timofey Solomko 73e739135e Add function to BitReader which returns another BitReader with opposite bitOrder
It will be used in Zip bzip2 decompression.
2017-07-09 13:54:30 +03:00
Timofey Solomko a9cdb50e85 Remove intFromAlignedBytes function
Also changes were made to adopt this removal. This was done to improve behavior in some corner cases as well as enforce intentional usage of particular integer types.
2017-07-09 13:29:33 +03:00
Timofey Solomko 9a4e1d6219 Add several toInt extensions to number types 2017-07-09 13:26:48 +03:00
Timofey Solomko eeefa31be0 Rename BitToByteWriter to BitWriter 2017-07-09 13:06:25 +03:00
Timofey Solomko ab931aa031 Rename DWP's prevAlignedByte to previousByte 2017-07-09 13:05:14 +03:00
Timofey Solomko cec206e672 Improve usage of DWP functions in some places 2017-07-09 13:04:09 +03:00
Timofey Solomko 6cd86a9aef Add uint16 function to DWP and BitReader 2017-07-09 13:03:47 +03:00
Timofey Solomko 98383f2bed Fix problem with reading zip64 data descriptor 2017-07-09 13:02:53 +03:00
Timofey Solomko cd6b748adb Fix problems with reading zip64 end of CD locator 2017-07-09 12:58:27 +03:00
Timofey Solomko 6bd66e4717 Reduce size of DWP functions' names
Also provide default values for count argmunets in uint32 and uint64 functions.
2017-07-09 12:44:03 +03:00
Timofey Solomko 369da20c16 Adopted DWP-BitReader split everywhere
I've also removed a most occurrences of inout keyword because DWP (and BitReader) are classes and they are already passed by reference in arguments.
2017-07-08 22:02:32 +03:00
Timofey Solomko 6eb62fc087 Adopted new BitOrder location for BitToByteWriter 2017-07-08 22:02:32 +03:00
Timofey Solomko af90da9eba Fix misaligned bytes from BitReader
Added overrides of DWP functions which call skipUntilNextByte() before calling superclass functions therefore restoring old behavior.
2017-07-08 22:02:32 +03:00
Timofey Solomko a4cd339fc4 Separated byte and bit reading parts of DWP into distinct class 2017-07-08 22:02:26 +03:00
Timofey Solomko dc49484cd5 Remove unnecessary pointerData arguments and properties from some internal LZMA classes 2017-07-08 17:26:32 +03:00
Timofey Solomko 850b82f49d Update copyright header in LZMA sources 2017-07-08 17:06:22 +03:00
Timofey Solomko 410ab31473 Split several more classes into separate files 2017-07-08 17:05:25 +03:00
Timofey Solomko 8e68695d7e Merge branch 'hotfix-3.1.3' into develop 2017-07-08 15:22:03 +03:00
Timofey Solomko 0d1e95253b Prepare for 3.1.3 2017-07-08 15:08:34 +03:00
Timofey Solomko 4e5c011815 Support mtimestamps from zip ext timestamp extra field
Access time and creation time stamps will be added in the future.
2017-07-08 14:13:03 +03:00
Timofey Solomko ec8f66a6b6 Fix ending gnu long names with NULL byte 2017-07-08 13:18:52 +03:00
Timofey Solomko 261332abf0 Add support for gnu long names and links in tar 2017-07-08 13:10:53 +03:00
Timofey Solomko ca0543e220 Move some parts of code in TarEntry 2017-07-08 12:15:58 +03:00
Timofey Solomko e3b21c9d0f Merge branch 'hotfix-3.1.2' into develop 2017-07-08 00:22:32 +03:00
Timofey Solomko 70ef2c7c11 Prepare for 3.1.2 2017-07-08 00:16:33 +03:00
Timofey Solomko 872f6c623a Fix wrongUstarVersion error for gnu tar containers 2017-07-07 23:58:24 +03:00
Timofey Solomko 3ce106d597 Implement TarEntry using DataWithPointer
This allows to simplify code a little bit as well as makes code looks more similar to other classes.
2017-07-06 19:54:22 +03:00
Timofey Solomko 2c2d2c614b Made multibyteDecode extension fileprivate 2017-07-06 18:47:21 +03:00
Timofey Solomko 0f54efb2e2 Implement auxilary int functions in tar as int extension 2017-07-06 18:45:33 +03:00
Timofey Solomko 39eea7c42a Split code into separate files
Overtime size of source files became unmanageble, so it is better to split them. Also internal zip structure have been renamed to include word zip.
2017-07-06 18:41:30 +03:00
Timofey Solomko 5eae722316 Prepare for 3.1.1 2017-07-05 22:28:36 +03:00
Timofey Solomko f40975e1ce Throw error on non-number required tar entry fields
Previously, when encountering a required field from tar entry header which cannot be converted to Int SWCompression was silently skipping this problem and proceeding further. Now it throws `fieldIsNotNumber`, consistently with other fields.
2017-07-05 22:26:24 +03:00
Timofey Solomko 689ea51b29 Update docs for entryAttributes properties.
They now list what are possible values of keys of entryAttributes dictionary.
2017-07-05 22:25:56 +03:00