TapTap commented on issue TapTap/FastSync#252 2026-09-05 13:21:57 +02:00
[BUG][high] --backup / --suffix broken: NULL-vs-empty wire loss (plain --backup fails every file; --suffix silently keeps no backup)

Resolved on dev (HEAD f7c6c91).

Fixed on dev via fix/receiver-correctness (14c064a): empty wire strings canonicalized back to NULL for backup_dir/temp_dir/partial_dir/suffix; plain --backup…

TapTap closed issue TapTap/FastSync#252 2026-09-05 13:21:57 +02:00
[BUG][high] --backup / --suffix broken: NULL-vs-empty wire loss (plain --backup fails every file; --suffix silently keeps no backup)
TapTap commented on issue TapTap/FastSync#253 2026-09-05 13:21:57 +02:00
[BUG][high] --partial --partial-dir DIR writes completed files into DIR and never installs them in the destination

Resolved on dev (HEAD f7c6c91).

Fixed on dev via fix/receiver-correctness (14c064a): completed partial-dir writes are atomically renamed into the destination (file_rename_secure).…

TapTap closed issue TapTap/FastSync#253 2026-09-05 13:21:57 +02:00
[BUG][high] --partial --partial-dir DIR writes completed files into DIR and never installs them in the destination
TapTap commented on issue TapTap/FastSync#254 2026-09-05 13:21:57 +02:00
[SECURITY][high] Per-connection memory budget bypassed by decompressed/copied chunk buffers -> multi-GB OOM in multithreaded receiver

Resolved on dev (HEAD f7c6c91).

Fixed on dev via fix/security-hardening (98120fc): receiver queue bounded by aggregate payload bytes (RECEIVER_QUEUE_MAX_BYTES) with blocking backpressure;…

TapTap commented on issue TapTap/FastSync#255 2026-09-05 13:21:57 +02:00
[PERF][med] Incremental STATUS_CHECK reads the ENTIRE old file (<=64MiB) before the size/mtime quick-check; wasted I/O on every unchanged file + amplification DoS

Resolved on dev (HEAD f7c6c91).

Fixed on dev via fix/receiver-correctness (14c064a): STATUS_CHECK now stats first and only reads the old file when a checksum/delta comparison actually needs…

TapTap closed issue TapTap/FastSync#255 2026-09-05 13:21:57 +02:00
[PERF][med] Incremental STATUS_CHECK reads the ENTIRE old file (<=64MiB) before the size/mtime quick-check; wasted I/O on every unchanged file + amplification DoS
TapTap commented on issue TapTap/FastSync#256 2026-09-05 13:21:57 +02:00
[BUG][med] receive_delta_file failure paths don't set *failed -> STATUS_ERROR + STATUS_NEXT protocol desync (double-send / hang)

Resolved on dev (HEAD f7c6c91).

Fixed on dev via fix/receiver-correctness (14c064a) + hardening commit f7c6c91: *failed now set on every NULL return in receive_delta_file (incl. oversize +…

TapTap closed issue TapTap/FastSync#256 2026-09-05 13:21:57 +02:00
[BUG][med] receive_delta_file failure paths don't set *failed -> STATUS_ERROR + STATUS_NEXT protocol desync (double-send / hang)
TapTap commented on issue TapTap/FastSync#251 2026-09-05 13:21:56 +02:00
[BUG][high] --remove-source-files deletes source files that were skipped (--existing/--ignore-existing/--update)

Resolved on dev (HEAD f7c6c91).

Fixed on dev via merge of fix/receiver-correctness (14c064a): server now reports per-file outcomes after STATUS_FINISHED; --remove-source-files only deletes…

TapTap closed issue TapTap/FastSync#259 2026-09-05 13:19:31 +02:00
[PERF][med] delta_compute is O(bytes x signature-blocks) linear scan per byte-window; needs a hash index
TapTap pushed to dev at TapTap/FastSync 2026-09-05 13:19:31 +02:00
f7c6c91e13 fix: set *failed on delta oversize branch; add -m RSF skip test
39805e4eee Merge fix/quality-cleanup into dev
9ef78ef48b Merge fix/perf-delta into dev
68e7ed57d0 Merge fix/security-hardening into dev
11c591c5aa Merge fix/receiver-correctness into dev
Compare 12 commits »
TapTap closed issue TapTap/FastSync#254 2026-09-05 13:19:30 +02:00
[SECURITY][high] Per-connection memory budget bypassed by decompressed/copied chunk buffers -> multi-GB OOM in multithreaded receiver
TapTap closed issue TapTap/FastSync#258 2026-09-05 13:19:30 +02:00
[SECURITY][low] --inplace overwrite preserves original mode/setuid and can retain stale trailing bytes
TapTap closed issue TapTap/FastSync#251 2026-09-05 13:19:30 +02:00
[BUG][high] --remove-source-files deletes source files that were skipped (--existing/--ignore-existing/--update)
TapTap closed issue TapTap/FastSync#260 2026-09-05 13:19:30 +02:00
[QUALITY][low] Merge leftovers: dead server.c receive_files(), dead utils.c mkdir_r(), misleading return comments, =-form/missing-arg CLI diagnostics
TapTap opened issue TapTap/FastSync#259 2026-09-05 12:08:21 +02:00
[PERF][med] delta_compute is O(bytes x signature-blocks) linear scan per byte-window; needs a hash index
TapTap opened issue TapTap/FastSync#260 2026-09-05 12:08:21 +02:00
[QUALITY][low] Merge leftovers: dead server.c receive_files(), dead utils.c mkdir_r(), misleading return comments, =-form/missing-arg CLI diagnostics
TapTap opened issue TapTap/FastSync#257 2026-09-05 12:08:20 +02:00
[BUG][med] Single files >64MiB cannot be transferred at all (receiver cap vs client streaming mismatch); client dies with SIGPIPE on abort
TapTap opened issue TapTap/FastSync#258 2026-09-05 12:08:20 +02:00
[SECURITY][low] --inplace overwrite preserves original mode/setuid and can retain stale trailing bytes