Andrea Mazzoleni
|
1278441b85
|
Validate persistent state before content serialization
|
2026-08-29 10:16:19 +02:00 |
|
Andrea Mazzoleni
|
fbaae0a6e4
|
Initialize parity split sizes before pre-resize state checkpoint
|
2026-08-29 10:01:18 +02:00 |
|
Andrea Mazzoleni
|
d4fc01cd40
|
Enforce contiguous prefix invariant for parity splits and reject internal zero-sized splits
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
Build / build-musl (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
|
2026-08-29 08:49:45 +02:00 |
|
Andrea Mazzoleni
|
ee7b90ac0c
|
Disallow elastic parity split reallocation during fix to preserve persisted layout
|
2026-08-29 08:49:45 +02:00 |
|
Andrea Mazzoleni
|
1dd7682bd1
|
Persist pending logical state before parity resize on normal shrink sync
|
2026-08-29 08:49:45 +02:00 |
|
Andrea Mazzoleni
|
408d4be1b5
|
Persist reallocated mapping before parity resize in force-realloc sync
|
2026-08-29 08:49:45 +02:00 |
|
Andrea Mazzoleni
|
f4a5b58c52
|
Implement crash-safe --force-full sync with persistent BLOCK_STATE_REBUILD
|
2026-08-29 08:49:45 +02:00 |
|
Andrea Mazzoleni
|
190062fcac
|
Document non-obvious invariants across sync, check, scrub, parity, and handle mapping logic
|
2026-08-29 08:49:45 +02:00 |
|
Andrea Mazzoleni
|
de72e73b67
|
Fix premature valid_size update before pwrite completion in parity_write
|
2026-08-28 10:59:17 +02:00 |
|
Andrea Mazzoleni
|
8e292e1ea8
|
Add machineinfo_struct to query and report system and CPU information in speed test
|
2026-08-28 10:59:17 +02:00 |
|
Andrea Mazzoleni
|
0483de15d2
|
Clarify metadata validation semantics in sync comments
|
2026-08-28 00:16:51 +02:00 |
|
Andrea Mazzoleni
|
d2f535c25e
|
Reject unbounded mapping counts and duplicate disk mappings in content decoding
|
2026-08-27 22:53:47 +02:00 |
|
Andrea Mazzoleni
|
4833fdf21b
|
Reject duplicate or misplaced blockmax records in content decoding
|
2026-08-27 22:53:47 +02:00 |
|
Andrea Mazzoleni
|
7767f45984
|
Validate serialized info timestamps in content file parser to prevent 64-bit overflow
|
2026-08-27 21:23:56 +02:00 |
|
Andrea Mazzoleni
|
a54bb181b6
|
Optimize scalar 8-bit RAID parity generation and recovery in int.c
|
2026-08-27 21:23:56 +02:00 |
|
Andrea Mazzoleni
|
a96d98c6e1
|
Add 64-byte unrolled raid_recX_neon_12 recovery kernel for NEON
|
2026-08-27 21:23:56 +02:00 |
|
Andrea Mazzoleni
|
c5f6d3c574
|
Abort with internal inconsistency on duplicate or misplaced hash and prevhash records in content file
|
2026-08-27 21:23:56 +02:00 |
|
Andrea Mazzoleni
|
b5cc5eb007
|
Fix integer overflow in deleted block count byte size conversion in content parser
|
2026-08-27 17:38:18 +02:00 |
|
Andrea Mazzoleni
|
39e810564f
|
Apply timestamps prior to renaming unrecoverable files during fix
|
2026-08-27 16:59:23 +02:00 |
|
Andrea Mazzoleni
|
67638a6638
|
Create missing files as .unrecoverable during fix to ensure crash safety on SIGKILL
|
2026-08-27 16:54:24 +02:00 |
|
Andrea Mazzoleni
|
7930ff82df
|
Validate serialized disk mapping positions to prevent integer overflow and out-of-bounds access
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
|
2026-08-27 16:29:34 +02:00 |
|
Andrea Mazzoleni
|
237c9f0497
|
Enforce BLOCK_MAX limits on both 32-bit and 64-bit builds
|
2026-08-27 16:29:34 +02:00 |
|
Andrea Mazzoleni
|
e1574faa36
|
Skip self-test on status, locate, read, and test-rewrite commands
Build / build-mac (push) Waiting to run
Build / build-linux (push) Waiting to run
Build / build-arm32 (push) Waiting to run
Build / build-win (push) Waiting to run
Build / build-freebsd (push) Waiting to run
CodeQL Advanced / Analyze (c-cpp) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
|
2026-08-26 22:55:49 +02:00 |
|
Andrea Mazzoleni
|
4aef405259
|
Validate serialized sub pathnames in content files to prevent path traversal
|
2026-08-26 22:55:49 +02:00 |
|
Andrea Mazzoleni
|
95ac8d7b51
|
Validate serialized nanoseconds range when reading content files
|
2026-08-26 22:35:22 +02:00 |
|
Andrea Mazzoleni
|
e58eb16768
|
Avoid info memory allocation for zero runs and bound blockmax in content decoding
|
2026-08-26 22:35:22 +02:00 |
|
Andrea Mazzoleni
|
0410fbc399
|
Fix potential uint64_t overflow in parity tail ceil division in locate
|
2026-08-26 21:52:42 +02:00 |
|
Andrea Mazzoleni
|
31661e13bd
|
Abort with internal inconsistency on duplicate or misplaced blocksize and hashsize records in content file
|
2026-08-26 21:19:59 +02:00 |
|
Andrea Mazzoleni
|
33d96adbce
|
Validate that the total disk buffer memory does not exceed 256 MiB
|
2026-08-26 21:11:46 +02:00 |
|
Andrea Mazzoleni
|
65e1eac061
|
Fix int64_t overflow on file size when decoding content file
|
2026-08-26 21:11:46 +02:00 |
|
Andrea Mazzoleni
|
fa81c20ee6
|
Preserve leading slash context for absolute double-star filters
|
2026-08-26 21:11:46 +02:00 |
|
Andrea Mazzoleni
|
fcb6a5ca91
|
Quiesce asynchronous read-ahead I/O before thermal cooldown in dry and scrub
|
2026-08-26 21:11:46 +02:00 |
|
Andrea Mazzoleni
|
35abfd81e1
|
Use fused 1-pass recovery for rec1of1 and rec2of2 in NEON, AVX512 and GFNI backends
|
2026-08-26 21:11:46 +02:00 |
|
Andrea Mazzoleni
|
c7b8068e36
|
Fix 32-bit integer truncation in block metadata allocations and file_block
|
2026-08-26 21:11:46 +02:00 |
|
Andrea Mazzoleni
|
527bd69129
|
Reject unterminated wildcard character classes in filter allocation
|
2026-08-26 16:46:10 +02:00 |
|
Andrea Mazzoleni
|
dee434f09b
|
Move exhaustive RAID generation and recovery tests to test command
|
2026-08-26 16:26:42 +02:00 |
|
Andrea Mazzoleni
|
4fdfc8a923
|
Fix literal caret handling in Windows path normalization and wildcard matching
|
2026-08-26 16:26:42 +02:00 |
|
Andrea Mazzoleni
|
69a459ee43
|
Add comprehensive filter combination and directory pruning regression tests in selftest
|
2026-08-26 16:26:42 +02:00 |
|
Andrea Mazzoleni
|
76e8ae2498
|
Allow path components with three or more dots in filter patterns
|
2026-08-26 16:26:42 +02:00 |
|
Andrea Mazzoleni
|
f75827281f
|
Reject empty disk filter patterns in filter_alloc_disk
|
2026-08-26 16:26:42 +02:00 |
|
Andrea Mazzoleni
|
d4dc5a7339
|
Reject standalone absolute directory filter pattern /**/ during parsing
|
2026-08-26 16:26:42 +02:00 |
|
Andrea Mazzoleni
|
9e5f51fa5b
|
Ensure .snapraidignore rules are loaded when nohidden is enabled
|
2026-08-26 16:26:42 +02:00 |
|
Andrea Mazzoleni
|
35977dadc9
|
Implement documented wildcard escaping in wnmatch_sub
|
2026-08-26 12:43:17 +02:00 |
|
Andrea Mazzoleni
|
3bd3eff451
|
Reject root directory pattern '/' in file filter allocation
|
2026-08-26 12:37:29 +02:00 |
|
Andrea Mazzoleni
|
932b5e567e
|
Fix wnmatch_sub terminal asterisk handling when matching subdirectories
|
2026-08-26 12:01:45 +02:00 |
|
Andrea Mazzoleni
|
a4a8e817b4
|
Cast sig_atomic_t global_interrupt to int in os_signal_interrupt()
|
2026-08-26 10:49:53 +02:00 |
|
Andrea Mazzoleni
|
21ca93f8c1
|
Explicitly cast sig_atomic_t child_pid to pid_t for kill()
|
2026-08-26 10:47:19 +02:00 |
|
Andrea Mazzoleni
|
8396d3aaa1
|
Clarify cross-generation lookup limitation and safety in import_dealloc during rehash
|
2026-08-26 10:23:42 +02:00 |
|
Andrea Mazzoleni
|
1123b3eca0
|
Fix deallocated import candidate handling with stat validation and fallback
|
2026-08-26 09:39:24 +02:00 |
|
Andrea Mazzoleni
|
78e87549ca
|
Improve directory scan filesystem boundary detection using statx() for mount and subvolume IDs
|
2026-08-26 09:21:24 +02:00 |
|