| Summary: | Using rsync with rsh="ssh -tt" fails with code 12 | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | John Trowbridge <jtrowbri> |
| Component: | rsync | Assignee: | Pavel Šimerda (pavlix) <psimerda> |
| Status: | CLOSED NOTABUG | QA Contact: | BaseOS QE Security Team <qe-baseos-security> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.4 | CC: | jtrowbri |
| Target Milestone: | rc | Flags: | jtrowbri:
needinfo-
jtrowbri: needinfo- |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-03-10 15:31:29 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
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)? |
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): rsync 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.