Implement checksum-aware incremental synchronization #203

Closed
opened 2026-08-08 20:09:22 +02:00 by TapTap · 0 comments
Owner

Severity

High

Description

The CLI accepts --checksum and the scanner stores the option, but incremental matching still compares only size and second-resolution mtime. Same-size content replaced while preserving mtime can remain stale. Related parsed rsync options such as --update, --append, and --append-verify also have no transfer behavior.

Location

  • src/client/scanner.c:41-68
  • src/shared/file.c:440-461
  • src/client/client_cli.c:356-363
  • src/client/client_send.c:160-233

Validation

Create a destination file, replace source content with same length, restore its mtime, then run --incremental --checksum and verify the destination. Inspect transfer paths for reads of update/append/append_verify.

Suggested implementation

Negotiate and compare a cryptographic/content checksum when requested, then implement documented update and append semantics or reject unsupported flags rather than silently ignoring them. Add TCP/TLS integration tests.

## Severity High ## Description The CLI accepts --checksum and the scanner stores the option, but incremental matching still compares only size and second-resolution mtime. Same-size content replaced while preserving mtime can remain stale. Related parsed rsync options such as --update, --append, and --append-verify also have no transfer behavior. ## Location - src/client/scanner.c:41-68 - src/shared/file.c:440-461 - src/client/client_cli.c:356-363 - src/client/client_send.c:160-233 ## Validation Create a destination file, replace source content with same length, restore its mtime, then run --incremental --checksum and verify the destination. Inspect transfer paths for reads of update/append/append_verify. ## Suggested implementation Negotiate and compare a cryptographic/content checksum when requested, then implement documented update and append semantics or reject unsupported flags rather than silently ignoring them. Add TCP/TLS integration tests.
TapTap added the bugqualityenhancementneeds-triage labels 2026-08-08 20:09:22 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TapTap/FastSync#203