]>
git.seodisparate.com - SimpleArchiver/log
Stephen Seo [Mon, 7 Oct 2024 03:08:38 +0000 (12:08 +0900)]
Impl. more robust compression
Stephen Seo [Mon, 7 Oct 2024 02:23:10 +0000 (11:23 +0900)]
Impl. more robust decompression
Stephen Seo [Fri, 4 Oct 2024 12:39:13 +0000 (21:39 +0900)]
clang-format, ensure --no-abs-symlink works in v1
Stephen Seo [Fri, 4 Oct 2024 12:28:29 +0000 (21:28 +0900)]
Update README.md
Stephen Seo [Fri, 4 Oct 2024 12:24:10 +0000 (21:24 +0900)]
Add filename validation for test/extracting
This should prevent creation of files/symlinks outside of
current-working-directory or user-set-cwd.
Stephen Seo [Fri, 4 Oct 2024 08:46:30 +0000 (17:46 +0900)]
Fix release build compiler warnings
Stephen Seo [Fri, 4 Oct 2024 08:35:12 +0000 (17:35 +0900)]
Fix reordering of cleanup fns in archiver.c
Stephen Seo [Fri, 4 Oct 2024 08:32:14 +0000 (17:32 +0900)]
Reorder cleanup to proper location
Stephen Seo [Fri, 4 Oct 2024 08:20:01 +0000 (17:20 +0900)]
Impl. create archive with compression, fixes
Stephen Seo [Fri, 4 Oct 2024 06:36:53 +0000 (15:36 +0900)]
WIP Impl. archiving without compression
TODO:
archiving with compression
Stephen Seo [Fri, 4 Oct 2024 05:02:54 +0000 (14:02 +0900)]
Update file_format for v1
Size of bytes for files per chunk was changed from 2 bytes to 4 bytes.
Stephen Seo [Fri, 4 Oct 2024 03:27:46 +0000 (12:27 +0900)]
WIP Work on v1 create archive
Implemented file-format up to list of symlinks.
Stephen Seo [Fri, 4 Oct 2024 02:19:57 +0000 (11:19 +0900)]
Refactor function, add its declaration to header
Stephen Seo [Wed, 2 Oct 2024 06:10:22 +0000 (15:10 +0900)]
Refactorings for v1 extract, other refactorings
Stephen Seo [Wed, 2 Oct 2024 04:15:30 +0000 (13:15 +0900)]
Split "rel-path-from-abs-paths" into function
Stephen Seo [Wed, 2 Oct 2024 02:38:39 +0000 (11:38 +0900)]
Add support for writing multiple file formats
Stephen Seo [Mon, 30 Sep 2024 08:53:39 +0000 (17:53 +0900)]
Test/fix symlink test/extract in v1 file format
Stephen Seo [Mon, 30 Sep 2024 06:45:48 +0000 (15:45 +0900)]
Fix v1 archive decompression
Previous implementation sent too many bytes to decompressor if size was
less than 1024.
Stephen Seo [Mon, 30 Sep 2024 06:15:00 +0000 (15:15 +0900)]
Remove unnecessary printf used for testing
Stephen Seo [Mon, 30 Sep 2024 05:54:01 +0000 (14:54 +0900)]
Impl. extract with decompressor file format v1
Stephen Seo [Mon, 30 Sep 2024 04:12:39 +0000 (13:12 +0900)]
v1 extract skip non-specified args if exists
Stephen Seo [Fri, 27 Sep 2024 07:09:23 +0000 (16:09 +0900)]
Impl. setting stored UID/GID if EUID 0
Stephen Seo [Fri, 27 Sep 2024 06:46:54 +0000 (15:46 +0900)]
"Fix" Linux/Mac/Unix usage
Stephen Seo [Fri, 27 Sep 2024 06:40:11 +0000 (15:40 +0900)]
Impl. simple test/extract new file format (WIP)
TODO:
Extract symlinks in new format (implemented but untested).
Extract compressed files in new format.
Stephen Seo [Fri, 27 Sep 2024 03:58:53 +0000 (12:58 +0900)]
Split up handling of archive file based on version
Stephen Seo [Tue, 24 Sep 2024 09:54:38 +0000 (18:54 +0900)]
Fix typo
Stephen Seo [Tue, 24 Sep 2024 09:48:15 +0000 (18:48 +0900)]
Fix typo in file format specification version 1
Stephen Seo [Tue, 24 Sep 2024 09:43:47 +0000 (18:43 +0900)]
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.
Stephen Seo [Wed, 2 Oct 2024 05:52:05 +0000 (14:52 +0900)]
backport: Fixes for v0-file-format extract fn
Stephen Seo [Mon, 30 Sep 2024 10:16:29 +0000 (19:16 +0900)]
Error if "-C <dir>" where "dir" doesn't exist
Stephen Seo [Sat, 28 Sep 2024 10:07:12 +0000 (19:07 +0900)]
Fix potential NULL-ptr dereference
Stephen Seo [Thu, 26 Sep 2024 08:31:06 +0000 (17:31 +0900)]
Add compiler hardening flags
Stephen Seo [Sat, 21 Sep 2024 09:43:23 +0000 (18:43 +0900)]
Impl. way to set custom hasher for hash_map
Stephen Seo [Sat, 21 Sep 2024 02:55:26 +0000 (11:55 +0900)]
Convert "unsigned long long" to "uint64_t"
Missed during previous changes using stdint.h .
Stephen Seo [Sat, 21 Sep 2024 02:43:25 +0000 (11:43 +0900)]
`clang-format`
Stephen Seo [Fri, 20 Sep 2024 12:40:35 +0000 (21:40 +0900)]
Use stdint.h types instead of "int", "long", etc.
Stephen Seo [Fri, 13 Sep 2024 03:51:09 +0000 (12:51 +0900)]
Add single-ptr variants data structures' free fns
Stephen Seo [Fri, 13 Sep 2024 02:33:15 +0000 (11:33 +0900)]
Refactor priority-heap insert fn
priority-heap insert now takes a pointer to a priority-heap instead of a
double pointer.
Stephen Seo [Wed, 11 Sep 2024 03:46:27 +0000 (12:46 +0900)]
Refactor data_structures/hash_map rehash fn
Stephen Seo [Mon, 9 Sep 2024 08:10:17 +0000 (17:10 +0900)]
Cleanup related to change of hash-map insert fn
Stephen Seo [Mon, 9 Sep 2024 02:25:00 +0000 (11:25 +0900)]
Refactor hash_map insert to use single ptr
Previous implementation used a double ptr for inserting into a hash map.
This refactoring allows for only needing to use a single ptr.
Fixes https://git.seodisparate.com/stephenseo/SimpleArchiver/issues/17 .
Stephen Seo [Fri, 6 Sep 2024 05:23:27 +0000 (14:23 +0900)]
Fixes related to compiler warnings
Fix integer mismatch usages/comparisons.
Use "size_t" instead of "unsigned int" for data structures.
Stephen Seo [Wed, 4 Sep 2024 06:30:37 +0000 (15:30 +0900)]
hash_map: Use const where applicable
Stephen Seo [Sun, 1 Sep 2024 06:40:17 +0000 (15:40 +0900)]
hash_map iter fn: const key-value, update unittest
Stephen Seo [Sun, 1 Sep 2024 06:11:57 +0000 (15:11 +0900)]
Impl. hash_map iter, clang-format
Stephen Seo [Fri, 30 Aug 2024 02:35:17 +0000 (11:35 +0900)]
Switch to ISC License
Stephen Seo [Mon, 29 Jul 2024 07:31:10 +0000 (16:31 +0900)]
Cleanup/refactorings
Moved common functions to helpers.h, and similar cleanup/refactorings.
Stephen Seo [Fri, 26 Jul 2024 07:25:02 +0000 (16:25 +0900)]
Add NULL check when printing cwd on temp file fail
Stephen Seo [Fri, 26 Jul 2024 07:23:50 +0000 (16:23 +0900)]
More verbose log when failing to create temp file
Stephen Seo [Fri, 26 Jul 2024 07:18:07 +0000 (16:18 +0900)]
Improve file-count logs
Stephen Seo [Fri, 26 Jul 2024 07:01:39 +0000 (16:01 +0900)]
Add check if file(s) are readable when archiving
Also some minor changes like more error logs and refactorings.
Stephen Seo [Fri, 26 Jul 2024 04:23:51 +0000 (13:23 +0900)]
"Fix" windows build
TODO:
Native Windows implementation.
Stephen Seo [Fri, 26 Jul 2024 04:17:11 +0000 (13:17 +0900)]
Fix "-C <dir>" usage
TODO:
Merge re-used functions into "helpers".
Stephen Seo [Fri, 26 Jul 2024 03:42:43 +0000 (12:42 +0900)]
Update README.md
Stephen Seo [Fri, 26 Jul 2024 03:39:56 +0000 (12:39 +0900)]
Impl. "-C <dir>", refactorings
Stephen Seo [Thu, 25 Jul 2024 01:46:00 +0000 (10:46 +0900)]
Update README.md
Stephen Seo [Thu, 25 Jul 2024 01:42:31 +0000 (10:42 +0900)]
Impl. being able to set dir for temporary files
Stephen Seo [Thu, 25 Jul 2024 01:26:34 +0000 (10:26 +0900)]
Refactor parser, setup for different temp dir
Stephen Seo [Wed, 24 Jul 2024 06:27:05 +0000 (15:27 +0900)]
Minor help-text/doc fix
Stephen Seo [Wed, 24 Jul 2024 06:24:44 +0000 (15:24 +0900)]
Update README.md
Stephen Seo [Wed, 24 Jul 2024 06:22:39 +0000 (15:22 +0900)]
Update README.md
Stephen Seo [Wed, 24 Jul 2024 06:21:04 +0000 (15:21 +0900)]
Update README.md
Stephen Seo [Wed, 24 Jul 2024 06:05:01 +0000 (15:05 +0900)]
Comment out debug print
Stephen Seo [Wed, 24 Jul 2024 06:03:34 +0000 (15:03 +0900)]
"Fix" windows build
Stephen Seo [Wed, 24 Jul 2024 05:52:35 +0000 (14:52 +0900)]
Impl. link extracting
Stephen Seo [Wed, 24 Jul 2024 05:31:38 +0000 (14:31 +0900)]
Add abs_path check when referring out of archive
If absolute paths are enabled, and a link points to something outside of
the archive, a flag is set on the symlink entry to prefer absolute
paths.
Stephen Seo [Wed, 24 Jul 2024 05:05:05 +0000 (14:05 +0900)]
Create "set" of filenames for use when archiving
Stephen Seo [Wed, 24 Jul 2024 05:04:19 +0000 (14:04 +0900)]
Split off code into internal helper function
Function gets absolute path to given filename.
Stephen Seo [Wed, 24 Jul 2024 05:03:03 +0000 (14:03 +0900)]
Minor tweak to includes in archiver
Stephen Seo [Wed, 24 Jul 2024 04:33:46 +0000 (13:33 +0900)]
Update file_format.md
Stephen Seo [Wed, 24 Jul 2024 04:32:39 +0000 (13:32 +0900)]
Add "--no-abs-symlink" to not store absolute paths
Stephen Seo [Tue, 23 Jul 2024 06:28:59 +0000 (15:28 +0900)]
Impl. archiving abs/rel-paths for symbolic links
TODO:
Choosing the ideal link based on if link points to an archived file.
Extracting (creating) symbolic links from archive.
Stephen Seo [Tue, 23 Jul 2024 05:16:57 +0000 (14:16 +0900)]
Set user permission bits if non-Unix platform
Stephen Seo [Mon, 22 Jul 2024 05:01:01 +0000 (14:01 +0900)]
Fix improper handling of unsupported symlinks
TODO:
Archive symlinks properly.
Extract symlinks properly.
Stephen Seo [Fri, 19 Jul 2024 07:45:51 +0000 (16:45 +0900)]
Support "-f -" to read/write archive stdin/stdout
Stephen Seo [Fri, 19 Jul 2024 03:15:20 +0000 (12:15 +0900)]
Use SIGPIPE handling on UNIX platforms
Stephen Seo [Fri, 19 Jul 2024 03:13:54 +0000 (12:13 +0900)]
Improve error handling
Handle SIGPIPE.
Stephen Seo [Fri, 19 Jul 2024 02:29:14 +0000 (11:29 +0900)]
More robust error handling
Stephen Seo [Thu, 18 Jul 2024 13:56:12 +0000 (22:56 +0900)]
Fix robust cleanup of temporary compressed file
Stephen Seo [Thu, 18 Jul 2024 13:32:04 +0000 (22:32 +0900)]
More robust handling of bad compressor cmd
Stephen Seo [Thu, 18 Jul 2024 13:09:03 +0000 (22:09 +0900)]
Do not create archive file on failure
Stephen Seo [Thu, 18 Jul 2024 13:08:48 +0000 (22:08 +0900)]
More robust cleanup of temporary file
Stephen Seo [Thu, 18 Jul 2024 09:55:42 +0000 (18:55 +0900)]
Improve error print
Stephen Seo [Thu, 18 Jul 2024 06:57:45 +0000 (15:57 +0900)]
Print permissions when in "-t" mode
Stephen Seo [Thu, 18 Jul 2024 06:49:22 +0000 (15:49 +0900)]
Fix error when checking with "-t"
Stephen Seo [Thu, 18 Jul 2024 06:46:27 +0000 (15:46 +0900)]
Improve error printing
Stephen Seo [Thu, 18 Jul 2024 06:36:09 +0000 (15:36 +0900)]
Remove unnecessary "include"s
Stephen Seo [Thu, 18 Jul 2024 06:32:48 +0000 (15:32 +0900)]
Comment out debug print
Stephen Seo [Thu, 18 Jul 2024 06:30:05 +0000 (15:30 +0900)]
Impl. extract "white-list"
When extracting, the given positional args will determine a "white-list"
of files to extract. If no positional args are given, then all files in
the archive will be extracted.
Stephen Seo [Thu, 18 Jul 2024 05:39:01 +0000 (14:39 +0900)]
Improve error handling when parsing/extracting
Stephen Seo [Thu, 18 Jul 2024 05:17:50 +0000 (14:17 +0900)]
Fix extracting when no compressor was used
Stephen Seo [Thu, 18 Jul 2024 05:02:15 +0000 (14:02 +0900)]
Store/restore file permissions
Stephen Seo [Thu, 18 Jul 2024 04:33:35 +0000 (13:33 +0900)]
"Fix" windows build
Stephen Seo [Thu, 18 Jul 2024 04:16:24 +0000 (13:16 +0900)]
Implement extracting from archive
TODO:
Storing file permissions to be extracted with same permissions.
Archiving and extracting symbolic links.
Stephen Seo [Thu, 18 Jul 2024 02:53:00 +0000 (11:53 +0900)]
Add helper to create dirs from filepath
Stephen Seo [Wed, 17 Jul 2024 10:00:34 +0000 (19:00 +0900)]
Use waitpid on compress to avoid defunct processes
Stephen Seo [Wed, 17 Jul 2024 08:22:09 +0000 (17:22 +0900)]
Output when writing file to archive
Stephen Seo [Wed, 17 Jul 2024 07:37:32 +0000 (16:37 +0900)]
Impl. compressing with arbitrary command
TODO:
Archive extracting.
Create archive with symbolic links.
Stephen Seo [Wed, 17 Jul 2024 06:01:39 +0000 (15:01 +0900)]
Minor fixes
Stephen Seo [Wed, 17 Jul 2024 05:32:39 +0000 (14:32 +0900)]
Impl. setup for de/compression
Some setup code in preparation of doing the actual file compression when
creating an archive.