1539 Commits

Author SHA1 Message Date
Timofey Solomko 626c1f7b62 Change utf8 detection alogrithm in zip to favor more cp437 2017-08-16 20:26:33 +03:00
Timofey Solomko e40ddacd07 Fix incorrect posixPermissions in tar in some cases
Sometimes "mode" fields also includes unix type which we haven't accounted for.
2017-08-16 18:36:18 +03:00
Timofey Solomko 15b9169448 Add support for NTFS extra field in ZIP 2017-08-16 18:30:36 +03:00
Timofey Solomko 288e34179c Use new Date extension in 7z 2017-08-16 18:07:05 +03:00
Timofey Solomko 7f78732973 Add Date extension with initializer from ntfs time 2017-08-16 18:06:49 +03:00
Timofey Solomko a0d150c68c Add isTextFile property to ZipEntry 2017-08-16 17:55:39 +03:00
Timofey Solomko fe74423356 Fix problems when ZipEntry.data() is called multithreadingly 2017-08-16 17:48:25 +03:00
Timofey Solomko f68a1f0cb7 Remove warnings about deprecation of certain TAR entry properties 2017-08-16 17:04:22 +03:00
Timofey Solomko a29dc61183 Add isLink and linkPath properties to ContainerEntry protocol 2017-08-16 17:04:00 +03:00
Timofey Solomko 9160abf068 Add isLink and linkPath properties to ZIP 2017-08-16 17:03:42 +03:00
Timofey Solomko 67c445491e Add isLink property to TAR 2017-08-16 17:03:24 +03:00
Timofey Solomko a9b3a110fe Save byte in bit functions instead of constantly access data property 2017-08-15 12:09:13 +03:00
Timofey Solomko f21f0c7292 Reduce usage of intFromBits function 2017-08-15 12:04:22 +03:00
Timofey Solomko 2134d63535 Perform alignment of bitreader in 7z specific code of bitreader 2017-08-15 11:37:06 +03:00
Timofey Solomko 5210c16cf9 Change logic of alignment requirements in byte functions of BitReader
Previously, functions like byte(), uint32(), etc had a side effect: they were silently permorming alignement (skipping all bits until next byte's boundary). I've considered this as a bad practice and now a call of align() function is required before using byte function. In addition, isAligned computed property was added to check if alignment is required.
2017-08-15 11:18:02 +03:00
Timofey Solomko 0a1b356b1b 7z entries now always have type in entryAttributes 2017-08-14 18:49:59 +03:00
Timofey Solomko 8229afde2e Prepare for first test release 2017-08-14 17:36:35 +03:00
Timofey Solomko a65666cd19 Remove unused coder IDs and extra comments 2017-08-14 17:29:58 +03:00
Timofey Solomko 59a0896fa5 Add tests for different 7z compression methods 2017-08-10 16:48:36 +03:00
Timofey Solomko b8eb63b834 Minor code improvements. 2017-08-06 18:17:43 +03:00
Timofey Solomko ece5bc5c99 Fix problems with reading entries' data caused by incorrect interpretation of packedStreams property of 7zFolder 2017-08-06 17:44:24 +03:00
Timofey Solomko c341a9263c Fix incorrect reading of substreams' crcs 2017-08-06 17:43:23 +03:00
Timofey Solomko ffb1c78434 Fix incorrect read of end byte in 7z substream 2017-08-05 15:11:22 +03:00
Timofey Solomko f76a7c677a Add support for several 7z coders 2017-08-03 00:32:32 +03:00
Timofey Solomko e79924bf84 Populate entryAttributes for 7z entry; set linkPath, too 2017-08-02 17:34:09 +03:00
Timofey Solomko 8ca5f9e37c Use new attribute types in 7z entry info 2017-08-02 17:31:33 +03:00
Timofey Solomko 0bc1d470e9 Add some types for permissions/attributes 2017-07-31 18:55:56 +03:00
Timofey Solomko 42553d82bf Fix problem with 7z containers with empty and non-empty files
unpackSizes array doesn't have values for empty files.
2017-07-31 17:49:44 +03:00
Timofey Solomko f0c0c24d90 Return empty arrays for completely empty containers 2017-07-30 22:26:25 +03:00
Timofey Solomko 995ee29531 Parse 7zEntryInfo into 7zEntry.entryAttributes 2017-07-30 20:03:26 +03:00
Timofey Solomko 5831c5201d Add encryptionNotSupported error for 7z 2017-07-30 18:36:07 +03:00
Timofey Solomko e9774296a5 Use folder.unpack(data:) function for unpacking packed headers 2017-07-30 16:00:06 +03:00
Timofey Solomko a7dfb66820 Fix problems with unpacking files
We now account for the fact that one stream contains information for several files.
2017-07-30 15:53:52 +03:00
Timofey Solomko 3503bcbb89 Support unavailable data in SevenZipEntry (when no substreamInfo is found) 2017-07-30 15:52:28 +03:00
Timofey Solomko f0bdff081a Extract function for unpacking data in 7z 2017-07-30 15:48:03 +03:00
Timofey Solomko 45e70d5f7a Fix incorrect badge link in README 2017-07-29 23:38:03 +03:00
Timofey Solomko c477194969 Don't return empty info array when no substreamInfo found
In this case we can still get some information about files and we should return it.
2017-07-29 23:28:33 +03:00
Timofey Solomko 0968395757 Implement SevenZipContainer.open function
There are some problems when one packed stream contains several files, though.
2017-07-29 23:28:33 +03:00
Timofey Solomko b1bc89ecdd Add update-crc version for crc32 function with Data argument 2017-07-29 23:28:33 +03:00
Timofey Solomko 559c47a42d Fixes for packed header decoding
Don't use optional for storing packed header end index, use correct pointer data object for LZMA2 decoding.
2017-07-29 23:28:33 +03:00
Timofey Solomko b3dcb761d9 Style improvements 2017-07-29 15:44:09 +03:00
Timofey Solomko a222b05c71 Make winAttributes uint32 2017-07-29 15:35:05 +03:00
Timofey Solomko 8f9a0393f7 Remove unused 7zFileInfo.File properties 2017-07-29 15:34:46 +03:00
Timofey Solomko 363fe78ead Add 7zEntry class and its first iteration 2017-07-29 00:02:17 +03:00
Timofey Solomko 8c558c5a77 Fix problems with isDirectory and times in 7zEntryInfo 2017-07-28 20:26:14 +03:00
Timofey Solomko 83c2a0d213 Add new EntryInfo struct for 7z and public function for getting them 2017-07-28 19:48:48 +03:00
Timofey Solomko c98ed2a62e Extract function to read "definedBits" as a BitReader extension 2017-07-28 19:19:23 +03:00
Timofey Solomko 3b31a51792 Use BitReader everywhere in 7z
It should protect from not updating index in DWP when we switch between DWP and BitReader.
2017-07-28 19:19:11 +03:00
Timofey Solomko e0f84717de Return only integer in multi-byte decode function for 7z
We never use its bytes for anything.
2017-07-28 19:03:14 +03:00
Timofey Solomko 415d6669d5 Throw error on detected additional streams
Because we don't support them (yet?)
2017-07-28 19:00:07 +03:00