Skip to content

Fix missing imports in daemon tests#1686

Merged
oferchen merged 1 commit into
masterfrom
task-title-eqlsti
Oct 30, 2025
Merged

Fix missing imports in daemon tests#1686
oferchen merged 1 commit into
masterfrom
task-title-eqlsti

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • import the DAEMON_AUTO_DELEGATE_ENV constant so daemon fallback tests compile
  • bring VersionInfoReport into scope for daemon version reporting tests

Testing

  • cargo test -p rsync-daemon --lib --no-run

https://chatgpt.com/codex/tasks/task_e_69035f181f2083238601ee68426396b3

@oferchen oferchen merged commit d88d02b into master Oct 30, 2025
@oferchen oferchen deleted the task-title-eqlsti branch October 30, 2025 12:55
oferchen added a commit that referenced this pull request Apr 29, 2026
…#1686, #1689) (#3438)

Adds docs/audits/ssh-socketpair-vs-pipes.md comparing oc-rsync's current
two-pipe SSH stdio model against upstream rsync 3.4.1's socketpair-based
wire (pipe.c::piped_child, util1.c::fd_pair). Documents trade-offs,
cross-platform impact (Unix socketpair, Windows pipe fallback), six
findings, and a phased migration plan. The auxiliary stderr channel
already uses socketpair on Unix; this audit recommends extending the
same pattern to the wire.
oferchen added a commit that referenced this pull request May 1, 2026
…#1686, #1689) (#3438)

Adds docs/audits/ssh-socketpair-vs-pipes.md comparing oc-rsync's current
two-pipe SSH stdio model against upstream rsync 3.4.1's socketpair-based
wire (pipe.c::piped_child, util1.c::fd_pair). Documents trade-offs,
cross-platform impact (Unix socketpair, Windows pipe fallback), six
findings, and a phased migration plan. The auxiliary stderr channel
already uses socketpair on Unix; this audit recommends extending the
same pattern to the wire.
oferchen added a commit that referenced this pull request May 1, 2026
…nsport (#1938) (#3525)

Formalizes the SSH stdio transport audit at docs/audits/ssh-socketpair-vs-pipes.md
under tracker #1938, consolidating prior #1686 working notes (PR #3438), the
io_uring boundary documented for #1858 (PR #3418), and the stderr socketpair
shipped under #1689 (PR #3383). Restructures the document into the formal
seven-section layout (summary, upstream reference, current implementation,
trade-offs, decision matrix, recommendation, implementation notes) plus
findings and references.

Recommends keeping anonymous pipes for the SSH wire and not pursuing the
socketpair migration: splice(2) and vmsplice(2) require a pipe end, the
zero-copy plan in #1860 depends on that, and the unified-FD argument is
subsumed by the async-transport refactor (#2068, #1655). Closes #1687
(prototype socketpair wire) as do-not-implement and #1902 (verify wire
claim against rsync_io source) as verified.

Citations were re-checked against worktree source: builder.rs:300-301
(Stdio::piped on the wire), aux_channel.rs:263-285 (UnixStream::pair for
stderr, Unix only), connection.rs:30-39 (SshConnection struct),
mod.rs:57-75 (io_uring boundary). Upstream evidence verified against
target/interop/upstream-src/rsync-3.4.1/: pipe.c:48-97 (piped_child),
util1.c:74-96 (fd_pair), main.c:504-663 (do_cmd dispatch),
clientserver.c:116-148 (daemon TCP wire), socket.c:736-846 (sock_exec
test escape).
oferchen added a commit that referenced this pull request May 5, 2026
…#1686, #1689) (#3438)

Adds docs/audits/ssh-socketpair-vs-pipes.md comparing oc-rsync's current
two-pipe SSH stdio model against upstream rsync 3.4.1's socketpair-based
wire (pipe.c::piped_child, util1.c::fd_pair). Documents trade-offs,
cross-platform impact (Unix socketpair, Windows pipe fallback), six
findings, and a phased migration plan. The auxiliary stderr channel
already uses socketpair on Unix; this audit recommends extending the
same pattern to the wire.
oferchen added a commit that referenced this pull request May 5, 2026
…nsport (#1938) (#3525)

Formalizes the SSH stdio transport audit at docs/audits/ssh-socketpair-vs-pipes.md
under tracker #1938, consolidating prior #1686 working notes (PR #3438), the
io_uring boundary documented for #1858 (PR #3418), and the stderr socketpair
shipped under #1689 (PR #3383). Restructures the document into the formal
seven-section layout (summary, upstream reference, current implementation,
trade-offs, decision matrix, recommendation, implementation notes) plus
findings and references.

Recommends keeping anonymous pipes for the SSH wire and not pursuing the
socketpair migration: splice(2) and vmsplice(2) require a pipe end, the
zero-copy plan in #1860 depends on that, and the unified-FD argument is
subsumed by the async-transport refactor (#2068, #1655). Closes #1687
(prototype socketpair wire) as do-not-implement and #1902 (verify wire
claim against rsync_io source) as verified.

Citations were re-checked against worktree source: builder.rs:300-301
(Stdio::piped on the wire), aux_channel.rs:263-285 (UnixStream::pair for
stderr, Unix only), connection.rs:30-39 (SshConnection struct),
mod.rs:57-75 (io_uring boundary). Upstream evidence verified against
target/interop/upstream-src/rsync-3.4.1/: pipe.c:48-97 (piped_child),
util1.c:74-96 (fd_pair), main.c:504-663 (do_cmd dispatch),
clientserver.c:116-148 (daemon TCP wire), socket.c:736-846 (sock_exec
test escape).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant