Commit graph

156 commits

Author SHA1 Message Date
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
3d58f466af Impl. setting stored UID/GID if EUID 0 2024-10-02 15:11:23 +09:00
b273d91896 "Fix" Linux/Mac/Unix usage 2024-10-02 15:11:23 +09:00
c71f4f45c7 Impl. simple test/extract new file format (WIP)
TODO:
    Extract symlinks in new format (implemented but untested).
    Extract compressed files in new format.
2024-10-02 15:11:23 +09:00
c1faae90e9 Split up handling of archive file based on version 2024-10-02 15:11:23 +09:00
d625c1b1cb Fix typo 2024-10-02 15:11:23 +09:00
a7aa31fc89 Fix typo in file format specification version 1 2024-10-02 15:11:23 +09:00
f76e383e78 Create file format for format version 1
This is in preparation of improving compression by concatenating files
together before compressing them to reduce the per-file overhead.
2024-10-02 15:11:23 +09:00
efde02b4ab backport: Fixes for v0-file-format extract fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-10-02 15:11:00 +09:00
b098fd6d69 Error if "-C <dir>" where "dir" doesn't exist
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-30 19:16:29 +09:00
a81ec4434a Fix potential NULL-ptr dereference
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-28 19:07:12 +09:00
5afefb9496 Add compiler hardening flags
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-26 17:31:06 +09:00
70415c6caf Impl. way to set custom hasher for hash_map
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 8s
2024-09-21 18:43:23 +09:00
4a69d281de Convert "unsigned long long" to "uint64_t"
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
Missed during previous changes using stdint.h .
2024-09-21 11:55:26 +09:00
5068a1b90d clang-format
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-09-21 11:43:25 +09:00
bb574d2a2c Use stdint.h types instead of "int", "long", etc.
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 7s
2024-09-20 21:40:35 +09:00
ed85ded967 Add single-ptr variants data structures' free fns
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
2024-09-13 12:51:09 +09:00
6b862ab022 Refactor priority-heap insert fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
priority-heap insert now takes a pointer to a priority-heap instead of a
double pointer.
2024-09-13 11:33:15 +09:00
2252b7d732 Refactor data_structures/hash_map rehash fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 5s
2024-09-11 12:46:27 +09:00
88d228644e Cleanup related to change of hash-map insert fn
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 4s
2024-09-09 17:10:17 +09:00
3408183b39 Refactor hash_map insert to use single ptr
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 6s
Previous implementation used a double ptr for inserting into a hash map.
This refactoring allows for only needing to use a single ptr.

Fixes #17 .
2024-09-09 11:25:00 +09:00