Commit graph

176 commits

Author SHA1 Message Date
50b1f4b274 Impl. safe-link checking for v1 file format
As mentioned in the previous commit, "safe links" is on by default,
meaning that any symlinks pointing to outside of archived files (or
invalid) will not be stored. To store such symlinks, "--no-safe-links"
must be specified.

This commit implements "safe links" for v1 of the file format.
2024-10-21 17:12:48 +09:00
cef3e4184a Impl. "safe links" by default for v0
By default, links that point to outside of archive (or possibly doesn't
point to anything) will be ignored. Use "--no-safe-links" to preserve
such symlinks.

Note this has only been implemented for v0 of the file format in this
commit, and not yet v1.
2024-10-21 17:12:28 +09:00
7ee54bddf2 Version 1.3, update Changelog.md
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 2s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
Build for Releases / push-build-x86_64 (push) Successful in 6s
Build for Releases / push-build-aarch64 (push) Successful in 57s
Build for Releases / push-build-x86_64_debian (push) Successful in 33s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m40s
2024-10-16 13:56:37 +09:00
9d84b28efe Avoid busy-wait by sleep 1ms on non-blocking io 2024-10-16 13:54:29 +09:00
3dfc258fa4 Version 1.2
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 14s
Build for Releases / ensure-release-exists (push) Successful in 0s
Build for Releases / push-build-x86_64 (push) Successful in 7s
Build for Releases / push-build-aarch64 (push) Successful in 58s
Build for Releases / push-build-x86_64_debian (push) Successful in 34s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m49s
2024-10-11 12:34:51 +09:00
1b7bfde458 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-10 10:55:14 +09:00
04f4897dd3 Handle SIGINT (Ctrl+C) 2024-10-10 10:54:28 +09:00
fd5e9ab47d Update Changelog.md, version 1.1
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
Build for Releases / ensure-release-exists (push) Successful in 0s
Build for Releases / push-build-x86_64 (push) Successful in 7s
Build for Releases / push-build-aarch64 (push) Successful in 57s
Build for Releases / push-build-x86_64_debian (push) Successful in 31s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m33s
2024-10-08 16:05:22 +09:00
925ea46877 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-10-08 15:52:03 +09:00
d68c7caf41 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-10-08 15:51:05 +09:00
2a63793bcd Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 13s
2024-10-08 15:49:51 +09:00
adfa6836f5 Fix failing unit tests
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-08 15:47:57 +09:00
553cf2a6ec Pre-sort files by default, setting to disable
Some checks failed
Run Unit Tests / build-and-run-unit-tests (push) Failing after 6s
2024-10-08 15:45:25 +09:00
78ba5acd70 Add validation of files/symlinks count from files
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-08 15:31:40 +09:00
28c09b0232 Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-08 15:20:21 +09:00
d54fc441a3 Impl. pre-sort files by size before put in chunks
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-08 15:12:44 +09:00
d2d202235c Update Changelog.md 2024-10-08 14:47:32 +09:00
52c78b2fb4 Handle SIGPIPE in v1 de/compress, minor fixes 2024-10-08 14:46:56 +09:00
9add2a650d Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 1m5s
2024-10-08 14:05:20 +09:00
ccbb1acd95 Cleanup of example test files 2024-10-08 14:04:36 +09:00
c4e5fbf8ce Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-08 13:31:26 +09:00
e7e4736aa5 Add Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-10-08 13:26:50 +09:00
67f9242645 Add action/workflow to build/release tags
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
Build for Releases / ensure-release-exists (push) Successful in 1s
Build for Releases / push-build-x86_64 (push) Successful in 5s
Build for Releases / push-build-aarch64 (push) Successful in 15s
Build for Releases / push-build-x86_64_debian (push) Successful in 26s
Build for Releases / push-build-aarch64_debian (push) Successful in 4m43s
2024-10-08 12:56:05 +09:00
70b7050836 Merge branch 'issue_18_improve_compression'
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 1m7s
Resolves #18
2024-10-08 12:42:02 +09:00
62195c4d7d Update README.md, usage text
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-08 10:55:24 +09:00
bef9c37d72 Minor fix
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-10-08 10:39:21 +09:00
aa46172aa7 Buffer size to 32KiB, fixes
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-07 15:16:05 +09:00
8bae61d36d Minor quality-of-life fixes
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-07 14:03:12 +09:00
3c739f92b8 Fix errors de/compressing chunks
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-07 13:23:44 +09:00
f26509f227 Impl. more robust compression 2024-10-07 12:11:03 +09:00
1a16c2c3bb Impl. more robust decompression 2024-10-07 11:37:36 +09:00
36fb7bf042 clang-format, ensure --no-abs-symlink works in v1
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 9s
2024-10-04 21:39:13 +09:00
cf032cd9c1 Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 7s
2024-10-04 21:28:29 +09:00
b8c56026d1 Add filename validation for test/extracting
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 8s
This should prevent creation of files/symlinks outside of
current-working-directory or user-set-cwd.
2024-10-04 21:24:10 +09:00
b1745172f7 Fix release build compiler warnings
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-04 17:46:30 +09:00
302f7f804d Fix reordering of cleanup fns in archiver.c
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 15s
2024-10-04 17:35:12 +09:00
8e620fb0e9 Reorder cleanup to proper location
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-10-04 17:32:14 +09:00
8982b15cc5 Impl. create archive with compression, fixes
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 7s
2024-10-04 17:20:01 +09:00
1b7fcb2bfc WIP Impl. archiving without compression
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
TODO:
    archiving with compression
2024-10-04 15:36:53 +09:00
166632fc15 Update file_format for v1
Size of bytes for files per chunk was changed from 2 bytes to 4 bytes.
2024-10-04 14:02:54 +09:00
8040006afe WIP Work on v1 create archive
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
Implemented file-format up to list of symlinks.
2024-10-04 12:27:46 +09:00
7b6929397e Refactor function, add its declaration to header 2024-10-04 11:19:57 +09:00
c7cd445139 Refactorings for v1 extract, other refactorings
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-10-02 15:11:23 +09:00
b09948d245 Split "rel-path-from-abs-paths" into function 2024-10-02 15:11:23 +09:00
6376be2840 Add support for writing multiple file formats 2024-10-02 15:11:23 +09:00
da18464d5d Test/fix symlink test/extract in v1 file format 2024-10-02 15:11:23 +09:00
8fa430f842 Fix v1 archive decompression
Previous implementation sent too many bytes to decompressor if size was
less than 1024.
2024-10-02 15:11:23 +09:00
53fefb7ae8 Remove unnecessary printf used for testing 2024-10-02 15:11:23 +09:00
45fdffdc9c Impl. extract with decompressor file format v1 2024-10-02 15:11:23 +09:00
7407972450 v1 extract skip non-specified args if exists 2024-10-02 15:11:23 +09:00