Commit Graph

286 Commits

Author SHA1 Message Date
Mark Karpov da5df36c81 Fix corruption of large files when zip64 is used
Previously the code did not account for the fact that the initial stub local
header (with uncompressed and compressed sizes set to 0) could not serve for
correct estimation of the final local header size due to the fact that the
local header size was determined by the uncompressed and compressed sizes of
the corresponding data, which are only known after streaming of the data.
These sizes dictated whether or not a zip64 extra field entry should be
included in the header or not. Thus, before this fix there would be cases of
corruption where the final (longer) local header written by seeking back to
the beginning of the initial stub local header after the data had been
streamed would overwrite the beginning of the data.

This is fixed by

* always writing a zip64 entry in local headers, which does not violate the
  spec and will be safely ignored in the case of smaller entries, and
* respecting the spec more precisely where it says that whenever there is a
  zip64 extra field entry in a local header both uncompressed and compressed
  sizes must always be written.

This is deemed safe because the only source of size variation for local
headers is the uncompressed and compressed sizes of the corresponding data.
2024-04-20 09:33:59 +02:00
Mark Karpov 63a355332e Allow bytestring-0.12 2024-01-01 12:10:48 +01:00
Mark Karpov 200fb6928d Test with GHC 9.8.1, drop 9.2.x 2023-10-22 12:48:07 +02:00
Mark Karpov b758b9da0a Remove Setup.hs 2023-10-22 12:06:14 +02:00
Mark Karpov 177c5e5b16 Add hie.yaml to .gitignore 2023-10-22 12:06:04 +02:00
Mark Karpov 00fe45458f Test with GHC 9.4.7 2023-09-21 21:35:33 +02:00
dependabot[bot] 5666652e7e Bump haskell-actions/run-ormolu from 13 to 14
Bumps [haskell-actions/run-ormolu](https://github.com/haskell-actions/run-ormolu) from 13 to 14.
- [Release notes](https://github.com/haskell-actions/run-ormolu/releases)
- [Changelog](https://github.com/haskell-actions/run-ormolu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/haskell-actions/run-ormolu/compare/v13...v14)

---
updated-dependencies:
- dependency-name: haskell-actions/run-ormolu
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 13:46:08 +02:00
dependabot[bot] a80a2a539c Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 12:58:58 +02:00
Mark Karpov fdeceeeca7 Test with GHC 9.4.5 2023-06-29 21:17:07 +02:00
Mark Karpov 70266eda9b Test with GHC 9.2.8 and 9.6.2 2023-06-28 23:04:22 +02:00
dependabot[bot] 408c54ee84 Bump haskell-actions/run-ormolu from 12 to 13
Bumps [haskell-actions/run-ormolu](https://github.com/haskell-actions/run-ormolu) from 12 to 13.
- [Release notes](https://github.com/haskell-actions/run-ormolu/releases)
- [Changelog](https://github.com/haskell-actions/run-ormolu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/haskell-actions/run-ormolu/compare/v12...v13)

---
updated-dependencies:
- dependency-name: haskell-actions/run-ormolu
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 08:38:38 +02:00
Mark Karpov 2afe92d731 Test with GHC 9.2.7 and 9.6.1 2023-06-24 11:58:51 +02:00
Mark Karpov 4f16086219 Modernize GHC flags 2023-06-24 11:58:51 +02:00
Mark Karpov 1848e8b3f9 Switch to GHC2021 2023-06-24 11:58:51 +02:00
dependabot[bot] a9e448f1ad Bump actions/cache from 3.2.5 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.5...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-21 09:14:27 +02:00
Mark Karpov 9b0db30f6f Allow transformers-0.6 2023-06-20 18:33:27 +02:00
dependabot[bot] 1e7357054d Bump mrkkrp/ormolu-action from 10 to 12
Bumps [mrkkrp/ormolu-action](https://github.com/mrkkrp/ormolu-action) from 10 to 12.
- [Release notes](https://github.com/mrkkrp/ormolu-action/releases)
- [Changelog](https://github.com/haskell-actions/run-ormolu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mrkkrp/ormolu-action/compare/v10...v12)

---
updated-dependencies:
- dependency-name: mrkkrp/ormolu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 18:13:53 +02:00
Mark Karpov 61bd060e20 Version bump (2.0.0) 2.0.0 2023-04-27 16:43:37 +02:00
Masahiro Sakai 04c1f22efe Introduce UnsupportedCompressionMethod
This data constructor of ZipException is defined unconditionally and
replaces BZip2Unsupported and ZstdUnsupported which previously were defined
conditionally via CPP.
2023-04-27 16:43:23 +02:00
dependabot[bot] 9672ec2602 Bump actions/cache from 3.2.4 to 3.2.5
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.4...v3.2.5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 17:46:05 +01:00
dependabot[bot] 267a19f3c0 Bump mrkkrp/ormolu-action from 9 to 10
Bumps [mrkkrp/ormolu-action](https://github.com/mrkkrp/ormolu-action) from 9 to 10.
- [Release notes](https://github.com/mrkkrp/ormolu-action/releases)
- [Changelog](https://github.com/mrkkrp/ormolu-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mrkkrp/ormolu-action/compare/v9...v10)

---
updated-dependencies:
- dependency-name: mrkkrp/ormolu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 17:45:38 +01:00
Mark Karpov afc12cf10a Test with GHC 9.2.5 and 9.4.4 2023-02-09 08:49:46 +01:00
dependabot[bot] ee94f11a59 Bump actions/cache from 3.2.3 to 3.2.4
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.3...v3.2.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 09:59:50 +01:00
dependabot[bot] ecaa459fc0 Bump mrkkrp/ormolu-action from 7 to 9
Bumps [mrkkrp/ormolu-action](https://github.com/mrkkrp/ormolu-action) from 7 to 9.
- [Release notes](https://github.com/mrkkrp/ormolu-action/releases)
- [Changelog](https://github.com/mrkkrp/ormolu-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mrkkrp/ormolu-action/compare/v7...v9)

---
updated-dependencies:
- dependency-name: mrkkrp/ormolu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-25 09:42:38 +01:00
dependabot[bot] d24e15220d Bump actions/cache from 3.0.7 to 3.2.3
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.7 to 3.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.7...v3.2.3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-25 09:42:25 +01:00
Mark Karpov ecdf2eddf6 Add .github/dependabot.yml 2023-01-24 21:07:46 +01:00
Mark Karpov 667b2419e3 Allow unix-2.8 2022-12-21 16:36:09 +01:00
Mark Karpov dc9690dd5f Allow resourcet-1.3 2022-10-24 10:12:16 +02:00
Mark Karpov fdb7b29d40 Use Cabal 3.8 on CI 2022-10-03 11:25:47 +02:00
Mark Karpov f7dcab5238 Test with GHC 9.2.4 and 9.4.1 + misc updates 2022-08-18 18:36:11 +02:00
Mark Karpov 2afd5b6cd6 Use Ormolu action v6 (Ormolu 0.5.0.0) 2022-05-12 15:23:34 +02:00
ˌbodʲɪˈɡrʲim 546f806731 Allow text-2.0 2022-04-19 21:29:06 +02:00
Mark Karpov 770801e246 Test with 3 latest versions of GHC, update Ormolu 2021-12-04 14:19:02 +01:00
Mark Karpov 2a73746113 Version bump (1.7.2) 1.7.2 2021-10-29 20:35:08 +02:00
Mark Karpov f9a9099f35 Write the Zip64 extra field only when it is necessary 2021-10-29 20:20:10 +02:00
Mark Karpov bc10b93466 Allow time-1.12 2021-08-07 10:32:32 +02:00
Mark Karpov d7c5b5dc0e Test with GHC 8.10.5 2021-07-14 21:48:50 +02:00
Mark Karpov 1a585173f2 Version bump (1.7.1) 1.7.1 2021-06-06 16:31:02 +02:00
Julian Ospald 630998e997 Fix build with disable-zstd/disable-bzip2 2021-06-06 16:30:18 +02:00
Mark Karpov fc967375c9 Improve the writing 2021-04-18 20:47:29 +02:00
Mark Karpov 57e69cd3f7 Use haskell/actions/setup v1.2 2021-03-09 20:21:54 +01:00
Mark Karpov 892e2fcf59 Test with GHC 9.0.1 and 8.10.4 2021-03-06 18:24:13 +01:00
Mark Karpov d228f0faf6 Version bump (1.7.0) 1.7.0 2021-01-19 11:41:15 +01:00
Alexander Vershilov fc1027caa6 Set file permissions on Unix platforms
Set user permissions on linux platform as follows:

  * if an existing file is added, use its permissions
  * if an entry is generated from a bytestring or a stream, use 0600

This behavior mimics the zip utility.
2021-01-18 23:55:03 +01:00
Mark Karpov 8121748d6a Allow bytestring-0.11 2021-01-04 15:44:29 +01:00
Mark Karpov 1551856589 Test with GHC 8.10.3 2021-01-04 14:45:38 +01:00
Mark Karpov 775968de89 Use latest versions of GitHub actions 2020-11-24 16:13:07 +01:00
Mark Karpov fc28225556 Use ormolu-action 2020-11-16 12:18:48 +01:00
Mark Karpov a5ee8022a4 Test with GHC 8.10.2 2020-10-12 20:31:56 +02:00
Csaba Hruska 4ef24161dc Update README.md 2020-09-17 12:51:29 +02:00