Fixed. -c/--checksum now implies --incremental and drives the content quick-check; --checksum-choice/--compress-choice accept the full rsync 3.4.1 sets (plus auto and RSYNC_*_LIST);…
Fixed. --specials now recreates S_IFSOCK sockets via mknodat(S_IFSOCK) (unprivileged), keeping EEXIST/EPERM skip semantics; --copy-devices is wired into the scanner so a device is sent as…
Fixed. --safe-links now keeps safe contained links as symlinks and skips unsafe ones; --copy-unsafe-links preserves safe links and dereferences only unsafe ones; --munge-links is receiver-mun…
Fixed. (1) --numeric-ids no longer activates ownership — it is only a mapping modifier (identity_active_enabled excludes it), with a regression test. (2) Directory owner/group is applied via…
Fixed. All file(GLOB ...) usage is gone; sources are explicit lists (SHARED_SRCS, SERVER_*_SRCS, CLIENT_*_SRCS, TEST_SRCS, FUZZ_SRCS) in CMakeLists.txt, and common include/link/option…
Fixed. Plain and TLS clients now share tcp_connect_socket_ex() (src/shared/transport_tcp.c) for address iteration/socket/timeout/cleanup; the server paths share accept_loop(). PR #308 added…
Fixed. Config wire serialization is now driven by the single declarative CONFIG_WIRE_FIELDS X-macro table (src/shared/config.h), with per-segment codecs generated once (`CONFIG_DEFINE_SEND/RE…
Fixed. The two receiver state machines are unified: receiver_process_pending() in src/server/receiver.c is now the single protocol core used by both the single-threaded path (`receiver_receive_…