]> git.seodisparate.com - SimpleArchiver/log
SimpleArchiver
6 months agoUpdate Changelog.md, version 1.1 1.1
Stephen Seo [Tue, 8 Oct 2024 07:05:22 +0000 (16:05 +0900)]
Update Changelog.md, version 1.1

6 months agoUpdate Changelog.md
Stephen Seo [Tue, 8 Oct 2024 06:52:03 +0000 (15:52 +0900)]
Update Changelog.md

6 months agoUpdate Changelog.md
Stephen Seo [Tue, 8 Oct 2024 06:51:05 +0000 (15:51 +0900)]
Update Changelog.md

6 months agoUpdate README.md
Stephen Seo [Tue, 8 Oct 2024 06:49:51 +0000 (15:49 +0900)]
Update README.md

6 months agoFix failing unit tests
Stephen Seo [Tue, 8 Oct 2024 06:47:57 +0000 (15:47 +0900)]
Fix failing unit tests

6 months agoPre-sort files by default, setting to disable
Stephen Seo [Tue, 8 Oct 2024 06:45:25 +0000 (15:45 +0900)]
Pre-sort files by default, setting to disable

6 months agoAdd validation of files/symlinks count from files
Stephen Seo [Tue, 8 Oct 2024 06:31:40 +0000 (15:31 +0900)]
Add validation of files/symlinks count from files

6 months agoUpdate README.md
Stephen Seo [Tue, 8 Oct 2024 06:20:21 +0000 (15:20 +0900)]
Update README.md

6 months agoImpl. pre-sort files by size before put in chunks
Stephen Seo [Tue, 8 Oct 2024 06:12:44 +0000 (15:12 +0900)]
Impl. pre-sort files by size before put in chunks

6 months agoUpdate Changelog.md
Stephen Seo [Tue, 8 Oct 2024 05:47:32 +0000 (14:47 +0900)]
Update Changelog.md

6 months agoHandle SIGPIPE in v1 de/compress, minor fixes
Stephen Seo [Tue, 8 Oct 2024 05:46:56 +0000 (14:46 +0900)]
Handle SIGPIPE in v1 de/compress, minor fixes

6 months agoUpdate README.md
Stephen Seo [Tue, 8 Oct 2024 05:05:20 +0000 (14:05 +0900)]
Update README.md

6 months agoCleanup of example test files
Stephen Seo [Tue, 8 Oct 2024 05:04:36 +0000 (14:04 +0900)]
Cleanup of example test files

6 months agoUpdate README.md
Stephen Seo [Tue, 8 Oct 2024 04:31:26 +0000 (13:31 +0900)]
Update README.md

6 months agoAdd Changelog.md
Stephen Seo [Tue, 8 Oct 2024 04:23:52 +0000 (13:23 +0900)]
Add Changelog.md

6 months agoAdd action/workflow to build/release tags 1.0
Stephen Seo [Tue, 8 Oct 2024 03:56:05 +0000 (12:56 +0900)]
Add action/workflow to build/release tags

6 months agoMerge branch 'issue_18_improve_compression'
Stephen Seo [Tue, 8 Oct 2024 03:42:02 +0000 (12:42 +0900)]
Merge branch 'issue_18_improve_compression'

Resolves https://git.seodisparate.com/stephenseo/SimpleArchiver/issues/18

6 months agoUpdate README.md, usage text
Stephen Seo [Tue, 8 Oct 2024 01:55:24 +0000 (10:55 +0900)]
Update README.md, usage text

6 months agoMinor fix
Stephen Seo [Tue, 8 Oct 2024 01:39:21 +0000 (10:39 +0900)]
Minor fix

6 months agoBuffer size to 32KiB, fixes
Stephen Seo [Mon, 7 Oct 2024 06:16:05 +0000 (15:16 +0900)]
Buffer size to 32KiB, fixes

6 months agoMinor quality-of-life fixes
Stephen Seo [Mon, 7 Oct 2024 05:03:12 +0000 (14:03 +0900)]
Minor quality-of-life fixes

6 months agoFix errors de/compressing chunks
Stephen Seo [Mon, 7 Oct 2024 04:23:44 +0000 (13:23 +0900)]
Fix errors de/compressing chunks

6 months agoImpl. more robust compression
Stephen Seo [Mon, 7 Oct 2024 03:08:38 +0000 (12:08 +0900)]
Impl. more robust compression

6 months agoImpl. more robust decompression
Stephen Seo [Mon, 7 Oct 2024 02:23:10 +0000 (11:23 +0900)]
Impl. more robust decompression

6 months agoclang-format, ensure --no-abs-symlink works in v1
Stephen Seo [Fri, 4 Oct 2024 12:39:13 +0000 (21:39 +0900)]
clang-format, ensure --no-abs-symlink works in v1

6 months agoUpdate README.md
Stephen Seo [Fri, 4 Oct 2024 12:28:29 +0000 (21:28 +0900)]
Update README.md

6 months agoAdd filename validation for test/extracting
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.

6 months agoFix release build compiler warnings
Stephen Seo [Fri, 4 Oct 2024 08:46:30 +0000 (17:46 +0900)]
Fix release build compiler warnings

6 months agoFix reordering of cleanup fns in archiver.c
Stephen Seo [Fri, 4 Oct 2024 08:35:12 +0000 (17:35 +0900)]
Fix reordering of cleanup fns in archiver.c

6 months agoReorder cleanup to proper location
Stephen Seo [Fri, 4 Oct 2024 08:32:14 +0000 (17:32 +0900)]
Reorder cleanup to proper location

6 months agoImpl. create archive with compression, fixes
Stephen Seo [Fri, 4 Oct 2024 08:20:01 +0000 (17:20 +0900)]
Impl. create archive with compression, fixes

6 months agoWIP Impl. archiving without compression
Stephen Seo [Fri, 4 Oct 2024 06:36:53 +0000 (15:36 +0900)]
WIP Impl. archiving without compression

TODO:
    archiving with compression

6 months agoUpdate file_format for v1
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.

6 months agoWIP Work on v1 create archive
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.

6 months agoRefactor function, add its declaration to header
Stephen Seo [Fri, 4 Oct 2024 02:19:57 +0000 (11:19 +0900)]
Refactor function, add its declaration to header

6 months agoRefactorings for v1 extract, other refactorings
Stephen Seo [Wed, 2 Oct 2024 06:10:22 +0000 (15:10 +0900)]
Refactorings for v1 extract, other refactorings

6 months agoSplit "rel-path-from-abs-paths" into function
Stephen Seo [Wed, 2 Oct 2024 04:15:30 +0000 (13:15 +0900)]
Split "rel-path-from-abs-paths" into function

6 months agoAdd support for writing multiple file formats
Stephen Seo [Wed, 2 Oct 2024 02:38:39 +0000 (11:38 +0900)]
Add support for writing multiple file formats

6 months agoTest/fix symlink test/extract in v1 file format
Stephen Seo [Mon, 30 Sep 2024 08:53:39 +0000 (17:53 +0900)]
Test/fix symlink test/extract in v1 file format

6 months agoFix v1 archive decompression
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.

6 months agoRemove unnecessary printf used for testing
Stephen Seo [Mon, 30 Sep 2024 06:15:00 +0000 (15:15 +0900)]
Remove unnecessary printf used for testing

6 months agoImpl. extract with decompressor file format v1
Stephen Seo [Mon, 30 Sep 2024 05:54:01 +0000 (14:54 +0900)]
Impl. extract with decompressor file format v1

6 months agov1 extract skip non-specified args if exists
Stephen Seo [Mon, 30 Sep 2024 04:12:39 +0000 (13:12 +0900)]
v1 extract skip non-specified args if exists

6 months agoImpl. setting stored UID/GID if EUID 0
Stephen Seo [Fri, 27 Sep 2024 07:09:23 +0000 (16:09 +0900)]
Impl. setting stored UID/GID if EUID 0

6 months ago"Fix" Linux/Mac/Unix usage
Stephen Seo [Fri, 27 Sep 2024 06:46:54 +0000 (15:46 +0900)]
"Fix" Linux/Mac/Unix usage

6 months agoImpl. simple test/extract new file format (WIP)
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.

6 months agoSplit up handling of archive file based on version
Stephen Seo [Fri, 27 Sep 2024 03:58:53 +0000 (12:58 +0900)]
Split up handling of archive file based on version

6 months agoFix typo
Stephen Seo [Tue, 24 Sep 2024 09:54:38 +0000 (18:54 +0900)]
Fix typo

6 months agoFix typo in file format specification version 1
Stephen Seo [Tue, 24 Sep 2024 09:48:15 +0000 (18:48 +0900)]
Fix typo in file format specification version 1

6 months agoCreate file format for format 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.

6 months agobackport: Fixes for v0-file-format extract fn
Stephen Seo [Wed, 2 Oct 2024 05:52:05 +0000 (14:52 +0900)]
backport: Fixes for v0-file-format extract fn

6 months agoError if "-C <dir>" where "dir" doesn't exist
Stephen Seo [Mon, 30 Sep 2024 10:16:29 +0000 (19:16 +0900)]
Error if "-C <dir>" where "dir" doesn't exist

6 months agoFix potential NULL-ptr dereference
Stephen Seo [Sat, 28 Sep 2024 10:07:12 +0000 (19:07 +0900)]
Fix potential NULL-ptr dereference

6 months agoAdd compiler hardening flags
Stephen Seo [Thu, 26 Sep 2024 08:31:06 +0000 (17:31 +0900)]
Add compiler hardening flags

7 months agoImpl. way to set custom hasher for hash_map
Stephen Seo [Sat, 21 Sep 2024 09:43:23 +0000 (18:43 +0900)]
Impl. way to set custom hasher for hash_map

7 months agoConvert "unsigned long long" to "uint64_t"
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 .

7 months ago`clang-format`
Stephen Seo [Sat, 21 Sep 2024 02:43:25 +0000 (11:43 +0900)]
`clang-format`

7 months agoUse stdint.h types instead of "int", "long", etc.
Stephen Seo [Fri, 20 Sep 2024 12:40:35 +0000 (21:40 +0900)]
Use stdint.h types instead of "int", "long", etc.

7 months agoAdd single-ptr variants data structures' free fns
Stephen Seo [Fri, 13 Sep 2024 03:51:09 +0000 (12:51 +0900)]
Add single-ptr variants data structures' free fns

7 months agoRefactor priority-heap insert fn
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.

7 months agoRefactor data_structures/hash_map rehash fn
Stephen Seo [Wed, 11 Sep 2024 03:46:27 +0000 (12:46 +0900)]
Refactor data_structures/hash_map rehash fn

7 months agoCleanup related to change of hash-map insert fn
Stephen Seo [Mon, 9 Sep 2024 08:10:17 +0000 (17:10 +0900)]
Cleanup related to change of hash-map insert fn

7 months agoRefactor hash_map insert to use single ptr
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 .

7 months agoFixes related to compiler warnings
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.

7 months agohash_map: Use const where applicable
Stephen Seo [Wed, 4 Sep 2024 06:30:37 +0000 (15:30 +0900)]
hash_map: Use const where applicable

7 months agohash_map iter fn: const key-value, update unittest
Stephen Seo [Sun, 1 Sep 2024 06:40:17 +0000 (15:40 +0900)]
hash_map iter fn: const key-value, update unittest

7 months agoImpl. hash_map iter, clang-format
Stephen Seo [Sun, 1 Sep 2024 06:11:57 +0000 (15:11 +0900)]
Impl. hash_map iter, clang-format

7 months agoSwitch to ISC License
Stephen Seo [Fri, 30 Aug 2024 02:35:17 +0000 (11:35 +0900)]
Switch to ISC License

8 months agoCleanup/refactorings
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.

8 months agoAdd NULL check when printing cwd on temp file fail
Stephen Seo [Fri, 26 Jul 2024 07:25:02 +0000 (16:25 +0900)]
Add NULL check when printing cwd on temp file fail

8 months agoMore verbose log when failing to create temp file
Stephen Seo [Fri, 26 Jul 2024 07:23:50 +0000 (16:23 +0900)]
More verbose log when failing to create temp file

8 months agoImprove file-count logs
Stephen Seo [Fri, 26 Jul 2024 07:18:07 +0000 (16:18 +0900)]
Improve file-count logs

8 months agoAdd check if file(s) are readable when archiving
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.

8 months ago"Fix" windows build
Stephen Seo [Fri, 26 Jul 2024 04:23:51 +0000 (13:23 +0900)]
"Fix" windows build

TODO:
    Native Windows implementation.

8 months agoFix "-C <dir>" usage
Stephen Seo [Fri, 26 Jul 2024 04:17:11 +0000 (13:17 +0900)]
Fix "-C <dir>" usage

TODO:
    Merge re-used functions into "helpers".

8 months agoUpdate README.md
Stephen Seo [Fri, 26 Jul 2024 03:42:43 +0000 (12:42 +0900)]
Update README.md

8 months agoImpl. "-C <dir>", refactorings
Stephen Seo [Fri, 26 Jul 2024 03:39:56 +0000 (12:39 +0900)]
Impl. "-C <dir>", refactorings

8 months agoUpdate README.md
Stephen Seo [Thu, 25 Jul 2024 01:46:00 +0000 (10:46 +0900)]
Update README.md

8 months agoImpl. being able to set dir for temporary files
Stephen Seo [Thu, 25 Jul 2024 01:42:31 +0000 (10:42 +0900)]
Impl. being able to set dir for temporary files

8 months agoRefactor parser, setup for different temp dir
Stephen Seo [Thu, 25 Jul 2024 01:26:34 +0000 (10:26 +0900)]
Refactor parser, setup for different temp dir

8 months agoMinor help-text/doc fix
Stephen Seo [Wed, 24 Jul 2024 06:27:05 +0000 (15:27 +0900)]
Minor help-text/doc fix

8 months agoUpdate README.md
Stephen Seo [Wed, 24 Jul 2024 06:24:44 +0000 (15:24 +0900)]
Update README.md

8 months agoUpdate README.md
Stephen Seo [Wed, 24 Jul 2024 06:22:39 +0000 (15:22 +0900)]
Update README.md

8 months agoUpdate README.md
Stephen Seo [Wed, 24 Jul 2024 06:21:04 +0000 (15:21 +0900)]
Update README.md

8 months agoComment out debug print
Stephen Seo [Wed, 24 Jul 2024 06:05:01 +0000 (15:05 +0900)]
Comment out debug print

8 months ago"Fix" windows build
Stephen Seo [Wed, 24 Jul 2024 06:03:34 +0000 (15:03 +0900)]
"Fix" windows build

8 months agoImpl. link extracting
Stephen Seo [Wed, 24 Jul 2024 05:52:35 +0000 (14:52 +0900)]
Impl. link extracting

8 months agoAdd abs_path check when referring out of archive
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.

8 months agoCreate "set" of filenames for use when archiving
Stephen Seo [Wed, 24 Jul 2024 05:05:05 +0000 (14:05 +0900)]
Create "set" of filenames for use when archiving

8 months agoSplit off code into internal helper function
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.

8 months agoMinor tweak to includes in archiver
Stephen Seo [Wed, 24 Jul 2024 05:03:03 +0000 (14:03 +0900)]
Minor tweak to includes in archiver

8 months agoUpdate file_format.md
Stephen Seo [Wed, 24 Jul 2024 04:33:46 +0000 (13:33 +0900)]
Update file_format.md

8 months agoAdd "--no-abs-symlink" to not store absolute paths
Stephen Seo [Wed, 24 Jul 2024 04:32:39 +0000 (13:32 +0900)]
Add "--no-abs-symlink" to not store absolute paths

8 months agoImpl. archiving abs/rel-paths for symbolic links
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.

8 months agoSet user permission bits if non-Unix platform
Stephen Seo [Tue, 23 Jul 2024 05:16:57 +0000 (14:16 +0900)]
Set user permission bits if non-Unix platform

9 months agoFix improper handling of unsupported symlinks
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.

9 months agoSupport "-f -" to read/write archive stdin/stdout
Stephen Seo [Fri, 19 Jul 2024 07:45:51 +0000 (16:45 +0900)]
Support "-f -" to read/write archive stdin/stdout

9 months agoUse SIGPIPE handling on UNIX platforms
Stephen Seo [Fri, 19 Jul 2024 03:15:20 +0000 (12:15 +0900)]
Use SIGPIPE handling on UNIX platforms

9 months agoImprove error handling
Stephen Seo [Fri, 19 Jul 2024 03:13:54 +0000 (12:13 +0900)]
Improve error handling

Handle SIGPIPE.

9 months agoMore robust error handling
Stephen Seo [Fri, 19 Jul 2024 02:29:14 +0000 (11:29 +0900)]
More robust error handling