Skip to content

docs(daemon): tcpdump comparison for proto 28/29 daemon transfers (#1699)#3513

Merged
oferchen merged 2 commits into
masterfrom
feat/tcpdump-daemon-proto28-29-1699
May 1, 2026
Merged

docs(daemon): tcpdump comparison for proto 28/29 daemon transfers (#1699)#3513
oferchen merged 2 commits into
masterfrom
feat/tcpdump-daemon-proto28-29-1699

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 1, 2026

Summary

Adds docs/audits/tcpdump-daemon-proto28-29.md, a wire-level decode of an oc-rsync daemon session forced to protocol 28 or 29, comparing every byte against upstream rsync 3.4.1 forced to the same protocol.

The audit covers: ASCII @RSYNCD: greeting (with the no-digest-list rule for proto < 30), MOTD/module list framing, module selection, the argv block carrying the -e. capability string, the absence of any compat-flags varint (gated to proto >= 30), the legacy XFLG_OLD_PREFIXES filter parser (proto < 29), fixed 4-byte LE file-list fields (uid/gid/mtime/mode/size), the absence of INC_RECURSE markers, and multiplex framing.

It identifies five concrete divergence sentinels (greeting digest list, phantom compat_flags varint, varint-encoded uid/gid at proto < 30, streamed flist at proto < 30, modifier-prefix filter rules at proto 28) where any future regression would manifest as visible byte differences in tcpdump.

Complements the per-version capability matrix in PR #3512 (docs/audits/protocol-28-32-interop-matrix.md), and notes the rsync 3.0.9 protocol-number comment discrepancy at tools/ci/known_failures.conf:81 already flagged in docs/audits/tcpdump-daemon-filter-pull.md.

Guarantees:

  • Docs only - no code, config, or other docs touched.
  • Cites real symbols at real path:line (oc-rsync and upstream rsync 3.4.1).
  • Matches the style of docs/audits/tcpdump-daemon-filter-pull.md.
  • Conventional-prefix title and hyphens (no em-dashes) in prose.

Test plan

  • CI workflows pass (docs-only change, no code paths exercised).
  • Manual review for accuracy of cited line numbers.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 1, 2026
@oferchen oferchen merged commit 9354139 into master May 1, 2026
11 checks passed
oferchen added a commit that referenced this pull request May 1, 2026
…1697) (#3516)

Adds wire-byte audit for server-side filter rules (filter / exclude /
include / exclude from / include from in oc-rsyncd.conf module sections)
during a pull. Headline finding: no active divergence today; daemon
rules are applied process-locally and never serialised. Documents the
load-bearing invariants and divergence sentinels.

Companion to docs/audits/tcpdump-daemon-proto28-29.md (PR #3513) and
docs/daemon/filter-precedence.md (PR #1888).
@oferchen oferchen deleted the feat/tcpdump-daemon-proto28-29-1699 branch May 1, 2026 21:08
oferchen added a commit that referenced this pull request May 5, 2026
…1697) (#3516)

Adds wire-byte audit for server-side filter rules (filter / exclude /
include / exclude from / include from in oc-rsyncd.conf module sections)
during a pull. Headline finding: no active divergence today; daemon
rules are applied process-locally and never serialised. Documents the
load-bearing invariants and divergence sentinels.

Companion to docs/audits/tcpdump-daemon-proto28-29.md (PR #3513) and
docs/daemon/filter-precedence.md (PR #1888).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant