Commit graph

2594 commits

Author SHA1 Message Date
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
75b0c834e6 Document .unrecoverable suffix quarantine behavior in Known Issues 2026-08-27 16:43:25 +02:00
Andrea Mazzoleni
7930ff82df Validate serialized disk mapping positions to prevent integer overflow and out-of-bounds access
Some checks are pending
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
31718bdc4f Test build out of tree 2026-08-26 23:00:47 +02:00
Andrea Mazzoleni
e1574faa36 Skip self-test on status, locate, read, and test-rewrite commands
Some checks are pending
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
2a73074faa Use fused 1-pass recovery for rec2 in AVX2 backend 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
0c80cd7dea Document Windows non-ASCII case matching limitation under known issues 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
f9b31db1a7 Clarify double-star wildcard matching behavior in pattern documentation 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
7b2007e503 Clarify directory pruning semantics and nested exclusion/inclusion rules 2026-08-26 12:29:13 +02:00
Andrea Mazzoleni
932b5e567e Fix wnmatch_sub terminal asterisk handling when matching subdirectories 2026-08-26 12:01:45 +02:00
Andrea Mazzoleni
6a69a09cc7 Add condition comments to else and endif directives in Makefile.am 2026-08-26 11:10:38 +02:00
Andrea Mazzoleni
de809dda5e Add SHORTCHECK variable to Makefile to control test dataset size 2026-08-26 11:08:00 +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
64271ac429 Add FreeBSD build and test job using freebsd-vm action 2026-08-26 10:44:01 +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
f25fbd0c1b Do not flag AMD CPUs as having slow AVX-512 in raid_cpu_has_slow_avx512 2026-08-26 10:11:44 +02:00
Andrea Mazzoleni
26956bfa71 Document known issues in manual 2026-08-26 10:03:18 +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
Andrea Mazzoleni
0416366e2d Handle trailing-slash paths in Windows lstat using handle-based states starting 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
4f286a2faa Document fs_allocate behavior, performance rationale, and invariant checks 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
30f78a4190 Fix fs_check validation omission on the final file in fs_file extent tree 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
6583897fcf Reserve snapraid- prefix for native ZFS snapshots and introduce fssnapshot_path 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
0e2d31d9db Document symlink target stability requirements for configured data directories 2026-08-26 09:21:24 +02:00
Andrea Mazzoleni
ebb199de3d Fix snapshot path resolution and aliased paths by storing sub_dir in fssnapshot_struct 2026-08-26 09:21:24 +02:00