mirror of
https://github.com/tailscale/tailscale.git
synced 2026-10-31 15:39:58 -04:00
Remove the blanket sftp-subsystem exemption from session recording: in a recording-mandatory tailnet, sftp sessions (and scp -s, which rides the sftp subsystem) now go through recording setup with the same OnRecordingFailure semantics — an unreachable recorder refuses the session (exit 254) instead of letting file access proceed silently unrecorded. SFTP casts are metadata-only: the CastHeader identifies the peer, local user, connection, and records Command = "sftp" (subsystem requests carry no command string), but no I/O events are captured — the SFTP wire protocol is binary, so pass-through capture would not be human-meaningful and would balloon cast sizes. The upload/cleanup lifecycle is unchanged. With no recorders configured, sftp is unchanged. Updates tailscale/corp#50380 Signed-off-by: James Tucker <james@tailscale.com>