Commit Graph

  • 5754b9a952 Merge branch 'fix/audit-misc2' into fix/audit-cycle TapTap 2026-09-21 22:02:05 +02:00
  • b8a0efef7b Merge branch 'fix/audit-filter2' into fix/audit-cycle TapTap 2026-09-21 22:02:05 +02:00
  • 2e77c09447 Merge branch 'fix/audit-creds2' into fix/audit-cycle TapTap 2026-09-21 22:02:05 +02:00
  • 06c4026b74 fix(filter): accept e/n/w/- merge modifiers on merge/dir-merge rules TapTap 2026-09-21 22:01:44 +02:00
  • 9f47b13712 fix(credentials): bound-wait on FIFO reads so slow process substitution works TapTap 2026-09-21 22:01:18 +02:00
  • b1eddf0133 fix: config leak, compression log, inplace+partial-dir rejection, umask/root test fixes TapTap 2026-09-21 21:59:58 +02:00
  • 338c27db73 fix: resolve cppcheck shadow/always-true findings TapTap 2026-09-21 21:28:36 +02:00
  • 8d46a26c04 Merge branch 'fix/audit-docs2' into fix/audit-cycle TapTap 2026-09-21 21:18:48 +02:00
  • 707ba272df Merge branch 'fix/audit-docs1' into fix/audit-cycle TapTap 2026-09-21 21:18:48 +02:00
  • bc71a3c0a5 docs: correct README build deps, delete defaults, scanner, flags; AGENTS deps/CI TapTap 2026-09-21 21:18:26 +02:00
  • cee9b7647c docs: fix parity tally, compat rows, changelog, handoff for audit cycle TapTap 2026-09-21 21:14:37 +02:00
  • 3adb6dddb5 chore: drop tracked scratch data and extend .gitignore TapTap 2026-09-21 21:11:04 +02:00
  • d77849774e Merge branch 'fix/audit-refb' into fix/audit-cycle TapTap 2026-09-21 21:09:20 +02:00
  • b5c6f8b60f Merge branch 'fix/audit-refa' into fix/audit-cycle TapTap 2026-09-21 21:09:20 +02:00
  • 134dcd74cc refactor: drop dead filter_rules_apply, unify set_error, dedup path_is_within TapTap 2026-09-21 21:09:05 +02:00
  • 42f2f845ac refactor: drop Config**, dead old-args plumbing, dedup constants, -Wformat-signedness TapTap 2026-09-21 19:50:33 +02:00
  • 0669335ca5 Merge branch 'fix/audit-logfmt' into fix/audit-cycle TapTap 2026-09-21 19:43:17 +02:00
  • 391f76cd56 fix(log): add printf format attributes and fix format mismatches TapTap 2026-09-21 19:42:44 +02:00
  • 2021afe613 Merge branch 'fix/audit-fdpaths' into fix/audit-cycle TapTap 2026-09-21 19:30:21 +02:00
  • ba914e8ab3 fix(credentials): allow fd-backed store paths without O_NOFOLLOW TapTap 2026-09-21 19:30:01 +02:00
  • df8fe1ae4e Merge branch 'fix/audit-signal' into fix/audit-cycle TapTap 2026-09-21 19:27:03 +02:00
  • 2c490d58b7 Merge branch 'fix/audit-creds' into fix/audit-cycle TapTap 2026-09-21 19:27:03 +02:00
  • d55dabff2e Merge branch 'fix/audit-help' into fix/audit-cycle TapTap 2026-09-21 19:27:03 +02:00
  • b478a59a81 fix(cli): correct help text, per-codec compression default, and stale test TapTap 2026-09-21 19:26:42 +02:00
  • 865941f850 fix(credentials): open secret files with O_NOFOLLOW|O_NONBLOCK; drop dup includes TapTap 2026-09-21 19:25:58 +02:00
  • 221cefa7cc fix(signal): use sigaction and async-signal-safe handlers TapTap 2026-09-21 19:25:24 +02:00
  • bb9b59024a Merge branch 'fix/audit-tests' into fix/audit-cycle TapTap 2026-09-21 19:19:36 +02:00
  • 5baf120243 Merge branch 'fix/audit-misc' into fix/audit-cycle TapTap 2026-09-21 19:19:36 +02:00
  • 84b7e1fd2f Merge branch 'fix/audit-filterx' into fix/audit-cycle TapTap 2026-09-21 19:19:36 +02:00
  • 800a978e15 Merge branch 'fix/audit-config' into fix/audit-cycle TapTap 2026-09-21 19:19:36 +02:00
  • 0f40e747f0 fix(filter): reject the x modifier in the --filter list parser TapTap 2026-09-21 19:19:06 +02:00
  • b07306d5bc fix(config): check ssh-dest allocation and enforce MAX_FILTER_RULES client-side TapTap 2026-09-21 18:53:07 +02:00
  • f2c89b6e7c fix: mutex leak, errno-after-free, log_perror misuse, status validation TapTap 2026-09-21 18:52:46 +02:00
  • 379f127859 test: add client timeouts and de-flake default-port test TapTap 2026-09-21 18:50:55 +02:00
  • 3799200f71 Merge branch 'fix/audit-partial' into fix/audit-cycle TapTap 2026-09-21 18:45:48 +02:00
  • 91c4a967e6 Merge branch 'fix/audit-receiver' into fix/audit-cycle TapTap 2026-09-21 18:45:48 +02:00
  • 88c8968b4c Merge branch 'fix/audit-transport' into fix/audit-cycle TapTap 2026-09-21 18:45:48 +02:00
  • 082b31886a Merge branch 'fix/audit-compression' into fix/audit-cycle TapTap 2026-09-21 18:45:48 +02:00
  • 423a62e691 fix(receiver): confine --temp-dir scratch dir and gate setuid bits TapTap 2026-09-21 18:45:29 +02:00
  • bc18ae205b fix(cli): --partial-dir implies --partial (rsync parity) TapTap 2026-09-21 18:37:39 +02:00
  • 10a61c6101 fix(compression): raise decompression ceiling to the protocol whole-file limit TapTap 2026-09-21 18:31:25 +02:00
  • bc1e1191af fix(io): pace sendfile with --bwlimit, retry poll EINTR, clamp SSL_read TapTap 2026-09-21 18:30:14 +02:00
  • 0fbb9de915 Merge PR #305: rsync-parity cycle 2.29 (120/10/27, no wire change) TapTap 2026-09-20 15:10:17 +02:00
  • 9b05972375 test: assert partial --max-delete survivor order matches rsync TapTap 2026-09-20 15:02:51 +02:00
  • d119f35066 docs: record parity cycle 2.29 (120/10/27) and deferred residuals TapTap 2026-09-20 15:02:44 +02:00
  • 00829fd265 parity: --info=mount/stats, --stats dir breakdown, --debug categories TapTap 2026-09-20 14:55:47 +02:00
  • ff261bc38a test: extend rsync order parity to dry-run and delete-delay TapTap 2026-09-20 14:55:47 +02:00
  • b235721f8b delete: rsync-exact abort boundary and -d per-directory plans TapTap 2026-09-20 14:22:22 +02:00
  • 79a28cdb96 scanner: emit entries in rsync's sorted depth-first flist order TapTap 2026-09-20 13:49:04 +02:00
  • 402cae80ad parity: rsync-exact relative basis-dir resolution and fuzzy eligibility TapTap 2026-09-20 13:39:04 +02:00
  • 9691dba6f0 delete: reproduce rsync traversal order for extras removal TapTap 2026-09-20 13:15:04 +02:00
  • 558782d339 test: eliminate fork/write race in incremental-check server tests TapTap 2026-09-20 12:09:21 +02:00
  • 5597e74f6a docs(handoff): v2.28.0 released to main (PR #304, tag v2.28.0) TapTap 2026-09-20 01:23:49 +02:00
  • b4d54504f9 Release v2.28.0 (#304) TapTap 2026-09-20 01:17:25 +02:00
  • ee6523afac Release v2.28.0 v2.28.0 TapTap 2026-09-20 01:11:33 +02:00
  • 4163caa1d3 docs(handoff): record the rsync-parity 1-6 cycle (PR #303, protocol 2.28.0) TapTap 2026-09-19 17:21:26 +02:00
  • 10159dc120 Merge pull request 'feat(parity): rsync parity tracks 1-6 (protocol 2.28.0)' (#303) from feat/parity-2.28 into dev TapTap 2026-09-19 17:14:37 +02:00
  • cd7b96d0bb chore: remove manual-test scratch trees from branch TapTap 2026-09-19 17:10:12 +02:00
  • f6f49d536e test(delete): cover apply=false config-only carrier frame TapTap 2026-09-19 17:07:56 +02:00
  • 38d304103c fix(parity): review-wave fixes (basis stats over-report, filter-rule bounds) TapTap 2026-09-19 17:04:12 +02:00
  • 4b09213b88 chore: remove accidental scratch tree from branch TapTap 2026-09-19 16:30:21 +02:00
  • 36fd0774e8 feat(delete): default --delete to rsync delete-during; add --delete-commit TapTap 2026-09-19 16:29:48 +02:00
  • 711b7e50b3 docs(parity): --fuzzy name heuristic matches rsync; reclassify to caveat TapTap 2026-09-19 16:06:24 +02:00
  • 67076bf218 feat(basis): rsync quick-check default + FastSync-only --verify-basis TapTap 2026-09-19 15:55:51 +02:00
  • 8ec8cb7203 test(parity): dest-only excluded entry protected under default --delete TapTap 2026-09-19 13:53:50 +02:00
  • 82959395fb feat(filter): receiver-side protect/risk engine for dest-only entries TapTap 2026-09-19 13:52:48 +02:00
  • c9f94ea46e docs(parity): --checksum-choice observable-equivalent to rsync; reclassify TapTap 2026-09-19 13:23:02 +02:00
  • eff9852038 feat(codecs): per-codec level defaults, RSYNC_*_LIST auto, zlibx reclassify TapTap 2026-09-19 13:14:48 +02:00
  • c80098623f feat(progress): opt-in paths-only pre-count for rsync to-chk parity TapTap 2026-09-19 12:49:56 +02:00
  • 6119e1e75c feat(stats): receiver-observed created/literal counters (protocol 2.28.0) TapTap 2026-09-19 10:38:49 +02:00
  • 25062352f6 fix(parity): dry-run delete protections, delete-delay actual-removal budget, --info name2 TapTap 2026-09-19 09:25:07 +02:00
  • 00d628d4ba Merge pull request 'test(parity): empty allowlist, assert max_delete invariants' (#302) from fix/parity-allowlist into dev TapTap 2026-09-18 22:31:46 +02:00
  • 3545d88905 test(parity): assert max_delete invariants, empty the parity allowlist TapTap 2026-09-18 22:28:38 +02:00
  • 596a039454 Merge pull request 'fix(parity): ⚠️ residual burn-down + review fixes (protocol 2.27.0)' (#301) from feat/parity-fixes into dev TapTap 2026-09-18 22:19:25 +02:00
  • ae037cc27b Merge pull request 'test(parity): differential rsync 3.4.1 parity gate + CI' (#300) from feat/parity-gate into dev TapTap 2026-09-18 22:18:53 +02:00
  • 3d0672a721 docs(agents): note FASTSYNC_UNDER_VALGRIND for manual valgrind runs TapTap 2026-09-18 22:15:38 +02:00
  • b82aab72c5 Merge branch 'fix/parity-review-c' into feat/parity-fixes TapTap 2026-09-18 22:11:07 +02:00
  • 8e7764007d Merge branch 'fix/parity-review-b' into feat/parity-fixes TapTap 2026-09-18 22:11:02 +02:00
  • 1042d15db7 docs(parity): correct delete-delay budget, fuzzy, and test-review gaps TapTap 2026-09-18 22:10:14 +02:00
  • cbe37a77dd refactor(parity): address code-quality review findings TapTap 2026-09-18 22:00:32 +02:00
  • a5d45ef266 fix(parity): init delete_suppressed; gate deleted-path retention TapTap 2026-09-18 21:56:44 +02:00
  • a960391b34 fix(cli): guard parse_bwlimit_value against NULL (cppcheck) TapTap 2026-09-18 21:26:28 +02:00
  • 134f8b027a Merge branch 'fix/parity-fs' into feat/parity-fixes TapTap 2026-09-18 21:19:31 +02:00
  • eb7e3fd2e0 test(parity): option-wave rsync differentials + docs (109/21/26) TapTap 2026-09-18 21:16:12 +02:00
  • 6a129b54d4 feat(parity): real --info=del deletion lines + rsync throttle pacing TapTap 2026-09-18 21:06:20 +02:00
  • c7b2c7eb2b docs(parity): dir-time entry is record-only; empty dirs carried by STATUS_MKDIR TapTap 2026-09-18 20:50:22 +02:00
  • e77dfbec70 fix(fs): differential-test and reclassify basis dirs, delay-updates, fuzzy, dry-run TapTap 2026-09-18 20:49:51 +02:00
  • f3ac4df4d0 fix(parity): rsync bwlimit units, --info categories, --ignore-errors deletion semantics TapTap 2026-09-18 20:44:24 +02:00
  • 91197fd7cf fix(fs): rsync push iconv direction; gate empty-dir emission; reclassify --temp-dir TapTap 2026-09-18 20:39:20 +02:00
  • 13708352ec fix(fs): recreate empty dirs, replace blocking file; -R --no-implied-dirs implied parents TapTap 2026-09-18 20:25:42 +02:00
  • d162d93570 Merge branch 'feat/parity-gate' into fix/parity-fs TapTap 2026-09-18 20:20:25 +02:00
  • 9fa1696eff fix(parity): actual-removal delete-delay counts, rsync-accurate stats/progress/%C TapTap 2026-09-18 20:13:29 +02:00
  • b705fb807f test(parity): add differential rsync-parity CI gate TapTap 2026-09-18 19:56:25 +02:00
  • ef76c9034d Merge pull request 'Release v2.26.0' (#284) from dev into main v2.26.0 TapTap 2026-09-18 19:05:51 +02:00
  • cee281ff55 Merge pull request 'fix(test): stop the valgrind hang, init per_dir_filter_count' (#299) from fix/valgrind-hang into dev TapTap 2026-09-17 23:47:47 +02:00
  • 5c509831b8 fix(test): robust valgrind detection + per-suite io-fd reset; init per_dir_filter_count TapTap 2026-09-17 23:44:41 +02:00
  • ee57aeea4a Merge pull request 'rsync 3.4.1 drop-in parity (#285-#297) + parity completion (protocol 2.26.0)' (#298) from feat/rsync-parity into dev TapTap 2026-09-17 20:33:16 +02:00
  • 803c1d3385 fix: review pass — uninit stats, append crash, filter rollback, ASan leak TapTap 2026-09-17 20:30:15 +02:00
  • b8ec62beef fix(file): create implicit directories with 0777 & ~umask (rsync parity) TapTap 2026-09-17 19:39:21 +02:00
  • 59bfd32b9e docs(usage): correct --temp-dir help to the confined receive-root behavior TapTap 2026-09-17 19:33:16 +02:00