Bug 1019923 - Using rsync with rsh="ssh -tt" fails with code 12
Summary: Using rsync with rsh="ssh -tt" fails with code 12
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: rsync
Version: 6.4
Hardware: All
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Pavel Šimerda (pavlix)
QA Contact: BaseOS QE Security Team
Depends On:
TreeView+ depends on / blocked
Reported: 2013-10-16 15:54 UTC by John Trowbridge
Modified: 2018-12-03 20:19 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-03-10 15:31:29 UTC
jtrowbri: needinfo-
jtrowbri: needinfo-

Attachments (Terms of Use)

Description John Trowbridge 2013-10-16 15:54:05 UTC
Description of problem:
When using ssh -tt as the remote shell for rsync, the transfer fails with error:
rsync error: error in rsync protocol data stream (code 12) at io.c(1134) [sender=3.0.6]

Version-Release number of selected component (if applicable):

How reproducible:
Easily reproducible.

Steps to Reproduce:
1. echo test >> test
2. rsync --rsh="ssh -tt" test root@rhel:/root/test

Actual results:
    tcgetattr: Invalid argument
    unexpected tag 87 [sender]
    rsync error: error in rsync protocol data stream (code 12) at io.c(1134) [sender=3.0.6]

Also, the file does not transfer.

Expected results:
No error, and the file should transfer.

Additional info:
Same error message as BZ# 959824. Different reproduction steps though.

Comment 1 Pavel Šimerda (pavlix) 2013-10-17 05:35:51 UTC
I don't think tools like rsync are generally ready to transfer data over a pseudo terminal and I wouldn't expect it to work. The transfers rsync is doing are of binary nature and any layer that works with special characters naturally breaks that.

I am curious about the reason for using double '-t' as the meaning of that is to force TTY allocation even when it clearly doesn't make sense (e.g. the local side is a daemon that wants to transfer data, and not a terminal session).

Is there any reason to use '-tt' except to deliberately break any binary protocol over the SSH transport (e.g. for testing purposes)?

Note You need to log in before you can comment on or make changes to this bug.