26 Commits

Author SHA1 Message Date
Timofey Solomko ea9aaccfb9 Update copyright year to 2026 2026-01-31 15:30:24 +08:00
Timofey Solomko ed66991cbd Update copyright year to 2024 2024-01-11 16:57:04 +03:00
Timofey Solomko 43132fc39d Update copyright year to 2023 2023-02-07 15:31:45 +02:00
Timofey Solomko efd67feb07 [TAR] Handle PAX headers with non-utf8 values and values with newline characters
For example, Apple's implementation of TAR on macOS produces such containers, which technically do not conform to the (informal) specifications.
2022-10-22 18:42:44 +03:00
Timofey Solomko 79295db930 Update copyright year to 2022 2022-01-08 15:02:59 +03:00
Timofey Solomko 417ef7ded8 [TAR] Small code comments changes 2021-07-28 11:17:49 +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 505f35fc28 [TAR] Make TarContainer.create non-throwing by removing the usage of TarCreateError.utf8NonEncodable 2021-07-24 14:21:27 +03:00
Timofey Solomko e83f23effa Update copyright year to 2021 2021-01-11 11:20:57 +02:00
Timofey Solomko 31ec1f1553 Update copyright year to 2020 2020-01-01 19:06:33 +03:00
Timofey Solomko ce47019097 Update copyright year to 2019 2019-01-02 23:15:43 +03:00
Timofey Solomko 455a3c9de0 [TAR] Length of ownerUser/GroupName is now taken into account when deciding if creation of PAX header is necessary 2018-08-07 19:01:57 +03:00
Timofey Solomko bd8562c966 [TAR] Remove unused empty TarExtendedHeader.init() 2018-08-07 19:01:23 +03:00
Timofey Solomko 1d0af24755 [TAR] Create pax headers if name or linkname cannot fit into tar header 2018-07-31 21:03:49 +03:00
Timofey Solomko d33ae76d85 [TAR] Add initializer to ext header which creates header with only necessary fields 2018-07-29 19:24:19 +03:00
Timofey Solomko 3725c14fe4 [TAR] Implement generateContainerData for extended header 2018-07-25 20:59:03 +03:00
Timofey Solomko 53d0c951e5 [TAR] Make extended header's unknownRecords variable and add empty init() so extended header could be used in tests 2018-07-25 20:59:03 +03:00
Timofey Solomko 6f5085bb03 [TAR] ExtendedHeader init(_:) is no longer failable 2018-07-17 19:58:04 +03:00
Timofey Solomko e461fae1d7 [TAR] Correctly read PAX extended headers with unicode characters in their content
The problem arised from my misunderstanding of what the length of the header entry is. Previously, it was treated as a length of entry converted to UTF-8 _string_, but apparently it is the byte-length. The problem manifests itself when a PAX entry contains multi-byte UTF-8 characters, and was undiscovered until now due to insufficient testing.
2018-07-16 20:18:03 +03:00
Timofey Solomko 1d838c1d7e Slightly simplify and improve certain code 2018-04-07 13:38:00 +03:00
Timofey Solomko a73f5ddcde [TAR] Add unknownExtendedHeaderRecords to TarEntryInfo 2018-03-03 12:34:16 +03:00
Timofey Solomko 068b83d62f [TAR] Add known extended header fields as properties to TarExtendedHeader 2018-03-03 01:14:51 +03:00
Timofey Solomko e714dc308b Updated copyright year to 2018 2018-01-03 19:44:18 +03:00
Timofey Solomko 489a3a693f Accept Optional(Data) in TarExtendedHeader 2017-10-14 00:30:54 +03:00
Timofey Solomko 77dccc5365 Make TarExtendedHeader more compact by keeping only dictionary 2017-10-14 00:08:40 +03:00
Timofey Solomko 47a5924109 Add TarExtendedHeader struct 2017-10-12 19:33:44 +03:00