]>
git.seodisparate.com - SimpleArchiver/log
Stephen Seo [Fri, 24 Jan 2025 09:07:18 +0000 (18:07 +0900)]
WIP --prefix: Impl --prefix for file v0 extracting
Minor fixes to helper code.
TODO:
- file v1, v2, and v3 archiving and extracting with "--prefix"
Stephen Seo [Thu, 23 Jan 2025 07:36:09 +0000 (16:36 +0900)]
WIP --prefix: Impl --prefix for file v0 archiving
TODO:
- file v0 extraction "--prefix"
- file v1, v2, and v3 archiving and extraction "--prefix"
Stephen Seo [Wed, 22 Jan 2025 08:53:35 +0000 (17:53 +0900)]
WIP --prefix: Parser and Helper code setup
Added "--prefix <prefix>" to parser to specify a prefix to prepend to
files/dirs/symlinks when archiving or extracting.
Added some helper functions to facilitate the creation of this feature
and some unit tests to test them.
Stephen Seo [Wed, 15 Jan 2025 11:01:42 +0000 (20:01 +0900)]
Update cmake conf: omit flags for cross compiling
Stephen Seo [Wed, 15 Jan 2025 04:09:45 +0000 (13:09 +0900)]
Update LICENSE year
Stephen Seo [Tue, 14 Jan 2025 05:26:23 +0000 (14:26 +0900)]
Merge branch 'dev', Version 1.11
Stephen Seo [Tue, 14 Jan 2025 05:25:23 +0000 (14:25 +0900)]
Version 1.11, update Changelog.md
Stephen Seo [Mon, 13 Jan 2025 04:10:57 +0000 (13:10 +0900)]
Update README.md
Stephen Seo [Fri, 10 Jan 2025 07:44:31 +0000 (16:44 +0900)]
Impl extract UID/GID remapping format ver 1 & 2
Stephen Seo [Thu, 9 Jan 2025 07:17:33 +0000 (16:17 +0900)]
Fix typo
Stephen Seo [Thu, 9 Jan 2025 07:14:32 +0000 (16:14 +0900)]
Update README.md, add notice about perms/ownership
Stephen Seo [Thu, 9 Jan 2025 07:09:22 +0000 (16:09 +0900)]
Impl UID/GID remap for extract file format v3
TODO: Impl remap for previous file format versions.
Stephen Seo [Thu, 9 Jan 2025 05:54:47 +0000 (14:54 +0900)]
Impl remapping for symlinks on extract (file v3)
TODO: Remapping for rest of extracting file v3, and remapping for
extracting other file versions.
Stephen Seo [Wed, 8 Jan 2025 07:15:47 +0000 (16:15 +0900)]
Print file format version on start of parsing
Stephen Seo [Wed, 8 Jan 2025 06:58:38 +0000 (15:58 +0900)]
Impl UID/GID remap for file format v1
TODO: Remap on extract.
Stephen Seo [Wed, 8 Jan 2025 06:52:13 +0000 (15:52 +0900)]
Impl UID/GID remap for file v2
TODO: Remapping on extract.
Stephen Seo [Wed, 8 Jan 2025 06:43:32 +0000 (15:43 +0900)]
Impl UID/GID remap on v3 archive
TODO: Impl UID/GID remap on extract.
Stephen Seo [Tue, 7 Jan 2025 11:18:35 +0000 (20:18 +0900)]
Update README.md
Stephen Seo [Tue, 7 Jan 2025 06:51:00 +0000 (15:51 +0900)]
WIP UID/GID remap, impl helper get fns in parser
Stephen Seo [Mon, 6 Jan 2025 06:48:43 +0000 (15:48 +0900)]
WIP UID/GID remapping, more verbose remap errors
Stephen Seo [Mon, 6 Jan 2025 06:45:18 +0000 (15:45 +0900)]
Update Changelog.md, UID/GID remapping still WIP
Stephen Seo [Mon, 6 Jan 2025 06:40:09 +0000 (15:40 +0900)]
WIP remapping, verbose user/group mapping errors
Stephen Seo [Mon, 6 Jan 2025 05:24:11 +0000 (14:24 +0900)]
Ensure start-of-unit-test-message is flushed
Stephen Seo [Mon, 6 Jan 2025 05:20:11 +0000 (14:20 +0900)]
WIP user/group mapping, more mapping validation
Stephen Seo [Mon, 6 Jan 2025 04:54:44 +0000 (13:54 +0900)]
WIP work on `--map-user`, `--map-group`
The parser code sets up the mappings, but the archiving code doesn't
handle it yet.
Stephen Seo [Fri, 3 Jan 2025 07:43:33 +0000 (16:43 +0900)]
Update Changelog.md
Stephen Seo [Fri, 3 Jan 2025 07:42:40 +0000 (16:42 +0900)]
Update README.md
Stephen Seo [Fri, 3 Jan 2025 07:21:02 +0000 (16:21 +0900)]
Add `--extract-prefer-uid`, `--extract-prefer-gid`
Stephen Seo [Thu, 2 Jan 2025 12:14:07 +0000 (21:14 +0900)]
Improve priorty_heap iter fn, improve ds unit test
Stephen Seo [Thu, 2 Jan 2025 12:03:11 +0000 (21:03 +0900)]
Update Changelog.md
Stephen Seo [Thu, 2 Jan 2025 04:41:39 +0000 (13:41 +0900)]
Fix symlink UID/GID force setting (file v3)
Stephen Seo [Thu, 2 Jan 2025 04:36:50 +0000 (13:36 +0900)]
Fix force-setting UID/GID for stored directories
Stephen Seo [Thu, 2 Jan 2025 04:31:52 +0000 (13:31 +0900)]
Fix fetching user/group UID/GID with --force-...
Stephen Seo [Thu, 2 Jan 2025 04:28:26 +0000 (13:28 +0900)]
Fix `--force-group` invalid groupname handling
Stephen Seo [Thu, 2 Jan 2025 04:25:12 +0000 (13:25 +0900)]
Add `--force-user <user>`, `--force-group <group>`
Stephen Seo [Thu, 2 Jan 2025 04:24:55 +0000 (13:24 +0900)]
Migrate UsersInfos struct to Parsed struct
Stephen Seo [Thu, 2 Jan 2025 04:11:39 +0000 (13:11 +0900)]
Update Changelog.md
Stephen Seo [Tue, 31 Dec 2024 08:44:08 +0000 (17:44 +0900)]
Update Changelog.md
Stephen Seo [Tue, 31 Dec 2024 07:09:16 +0000 (16:09 +0900)]
Impl. parsing `file format version 3`
Includes some minor fixes.
Stephen Seo [Tue, 31 Dec 2024 05:23:09 +0000 (14:23 +0900)]
Impl. write file format version 3
Also added helper struct in users.h/users.c . Added to CMakeLists.txt
and cosmopolitan/Makefile.
Stephen Seo [Tue, 31 Dec 2024 03:47:55 +0000 (12:47 +0900)]
Update file_format.md for version 3 file format
Stephen Seo [Tue, 31 Dec 2024 08:55:29 +0000 (17:55 +0900)]
Fix priorty-heap-iter function
Stephen Seo [Mon, 30 Dec 2024 07:24:34 +0000 (16:24 +0900)]
Merge branch 'dev', Version 1.10
Stephen Seo [Mon, 30 Dec 2024 07:24:25 +0000 (16:24 +0900)]
Version 1.10
Stephen Seo [Mon, 30 Dec 2024 07:23:53 +0000 (16:23 +0900)]
Add note about `--temp-files-dir <dir>` in README
Stephen Seo [Fri, 27 Dec 2024 13:24:15 +0000 (22:24 +0900)]
Fix formatting again (80-char limit)
Stephen Seo [Fri, 27 Dec 2024 13:15:19 +0000 (22:15 +0900)]
Fix formatting (80-char width limit)
Stephen Seo [Fri, 27 Dec 2024 03:10:15 +0000 (12:10 +0900)]
Error message on failure to create temporary file
Stephen Seo [Thu, 26 Dec 2024 01:50:52 +0000 (10:50 +0900)]
Fix temp_file setup for v0 file format
Stephen Seo [Thu, 26 Dec 2024 01:46:32 +0000 (10:46 +0900)]
Sanity checks for handling temporary files cleanup
Stephen Seo [Thu, 26 Dec 2024 01:40:04 +0000 (10:40 +0900)]
Also fix creating temp_file for creating v1 file
Stephen Seo [Wed, 25 Dec 2024 12:28:06 +0000 (21:28 +0900)]
Fix Changelog.md
Stephen Seo [Wed, 25 Dec 2024 12:18:26 +0000 (21:18 +0900)]
Update Changelog.md
Stephen Seo [Wed, 25 Dec 2024 12:16:52 +0000 (21:16 +0900)]
Fix case when archiving from read-only directory
A temporary file is usually created to store compressed archive
chunks/files which is located where the files are. This commit
falls-back to using `tmpfile()` if the first attempt to create a
temporary file fails.
Stephen Seo [Wed, 25 Dec 2024 04:58:05 +0000 (13:58 +0900)]
Update README.md
Stephen Seo [Wed, 25 Dec 2024 04:58:05 +0000 (13:58 +0900)]
Update README.md
Stephen Seo [Wed, 25 Dec 2024 03:46:27 +0000 (12:46 +0900)]
Force set dir permissions when specified
The previous behavior refused to set `write` for `group` and `other`
when setting directory permissions.
This commit changes this so that when permissions are specified, then
the directory is `chmod`d after its creation.
Stephen Seo [Tue, 24 Dec 2024 02:25:17 +0000 (11:25 +0900)]
Update README.md
Stephen Seo [Tue, 24 Dec 2024 01:55:54 +0000 (10:55 +0900)]
Update help text
Stephen Seo [Tue, 24 Dec 2024 01:47:14 +0000 (10:47 +0900)]
Minor tweaks, set uid/gid if euid is 0
Stephen Seo [Mon, 23 Dec 2024 08:43:30 +0000 (17:43 +0900)]
Update Changelog.md
Stephen Seo [Mon, 23 Dec 2024 08:42:18 +0000 (17:42 +0900)]
Minor tweak to unit tests
Stephen Seo [Mon, 23 Dec 2024 08:42:01 +0000 (17:42 +0900)]
Improve file format v2 output for directories
Stephen Seo [Mon, 23 Dec 2024 08:40:47 +0000 (17:40 +0900)]
Impl force file/dir permissions
Added "--force-file-permissions" and "--force-dir-permissions".
Also added "--force-uid" and "--force-gid".
Stephen Seo [Fri, 20 Dec 2024 02:21:45 +0000 (11:21 +0900)]
Set version in CMakeLists.txt to 1.9
Stephen Seo [Fri, 20 Dec 2024 02:14:42 +0000 (11:14 +0900)]
Merge branch 'dev', version 1.9
Stephen Seo [Fri, 20 Dec 2024 02:01:31 +0000 (11:01 +0900)]
Version 1.9, Update Changelog.md
Stephen Seo [Fri, 20 Dec 2024 02:00:55 +0000 (11:00 +0900)]
Remove DEBUG outputs, fix outputs
Stephen Seo [Thu, 19 Dec 2024 04:54:57 +0000 (13:54 +0900)]
Update README.md
Stephen Seo [Thu, 19 Dec 2024 04:50:04 +0000 (13:50 +0900)]
Update Changelog.md
Stephen Seo [Thu, 19 Dec 2024 04:41:58 +0000 (13:41 +0900)]
Fix edge case where only empty files are archived
Stephen Seo [Thu, 19 Dec 2024 04:30:20 +0000 (13:30 +0900)]
Impl file format 2 (store empty dirs)
Stephen Seo [Thu, 19 Dec 2024 01:59:39 +0000 (10:59 +0900)]
Amend file_format for "format version 2"
Stephen Seo [Wed, 18 Dec 2024 11:26:32 +0000 (20:26 +0900)]
Remove forgejo workflows/action
Stephen Seo [Wed, 18 Dec 2024 11:22:14 +0000 (20:22 +0900)]
Add Github workflow/action for unit tests
Stephen Seo [Tue, 17 Dec 2024 08:40:50 +0000 (17:40 +0900)]
Update README.md
Stephen Seo [Tue, 17 Dec 2024 08:40:50 +0000 (17:40 +0900)]
Update README.md
Stephen Seo [Wed, 4 Dec 2024 06:16:12 +0000 (15:16 +0900)]
Add priority_heap iter and unit test
Stephen Seo [Mon, 25 Nov 2024 08:18:30 +0000 (17:18 +0900)]
Version 1.8
Stephen Seo [Mon, 25 Nov 2024 08:18:04 +0000 (17:18 +0900)]
Update Changelog.md
Stephen Seo [Mon, 25 Nov 2024 08:17:06 +0000 (17:17 +0900)]
Use proper format constants for size_t/uintX_t etc
Stephen Seo [Fri, 15 Nov 2024 08:39:10 +0000 (17:39 +0900)]
Update Changelog.md
Stephen Seo [Fri, 15 Nov 2024 08:38:38 +0000 (17:38 +0900)]
Bump CMakeLists.txt cmake_minimum_required version
Stephen Seo [Fri, 15 Nov 2024 08:37:23 +0000 (17:37 +0900)]
Update CMakeLists.txt (version 1.7)
Stephen Seo [Fri, 15 Nov 2024 08:37:06 +0000 (17:37 +0900)]
Update Changelog.md, version 1.7
Stephen Seo [Fri, 15 Nov 2024 08:36:07 +0000 (17:36 +0900)]
Refactor hash-map
Tweaked the default hash function and hash-map-bucket-size.
Stephen Seo [Wed, 30 Oct 2024 09:56:51 +0000 (18:56 +0900)]
Update README.md
Stephen Seo [Mon, 28 Oct 2024 04:45:21 +0000 (13:45 +0900)]
Version 1.6
Stephen Seo [Thu, 24 Oct 2024 07:41:46 +0000 (16:41 +0900)]
Update Changelog.md
Stephen Seo [Thu, 24 Oct 2024 07:37:55 +0000 (16:37 +0900)]
Add option to preserve symlinks exactly
The "--preserve-symlinks" option preserves the symlink target instead of
deriving absolute/relative-paths from it. If archived symlinks are
absolute-paths, then it is NOT recommended to use this option as the
symlinks can be clobbered on extraction (unless if "--no-safe-links" is
specified on extraction).
Stephen Seo [Thu, 24 Oct 2024 05:51:46 +0000 (14:51 +0900)]
Minor cleanup
Stephen Seo [Thu, 24 Oct 2024 05:00:06 +0000 (14:00 +0900)]
Update Changelog.md
Stephen Seo [Thu, 24 Oct 2024 04:40:29 +0000 (13:40 +0900)]
Safe-links enforce on extract, fixes/refactorings
Resolves https://git.seodisparate.com/stephenseo/SimpleArchiver/issues/20
Stephen Seo [Mon, 21 Oct 2024 08:37:24 +0000 (17:37 +0900)]
Version 1.5, update Changelog.md
Stephen Seo [Mon, 21 Oct 2024 08:35:55 +0000 (17:35 +0900)]
Fix where symlink marked invalid still created v1
Stephen Seo [Mon, 21 Oct 2024 08:22:29 +0000 (17:22 +0900)]
Version 1.4
Resolves https://git.seodisparate.com/stephenseo/SimpleArchiver/issues/19
Stephen Seo [Mon, 21 Oct 2024 08:22:08 +0000 (17:22 +0900)]
Update README.md
Stephen Seo [Mon, 21 Oct 2024 08:21:15 +0000 (17:21 +0900)]
Update Changelog.md
Stephen Seo [Mon, 21 Oct 2024 08:10:34 +0000 (17:10 +0900)]
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.
Stephen Seo [Mon, 21 Oct 2024 07:55:39 +0000 (16:55 +0900)]
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.