|
Lines 1603-1610
Link Here
|
| 1603 |
return -1; |
1603 |
return -1; |
| 1604 |
} |
1604 |
} |
| 1605 |
if (compat20 && c->isatty && dlen >= 1 && buf[0] != '\r') { |
1605 |
if (compat20 && c->isatty && dlen >= 1 && buf[0] != '\r') { |
|
|
1606 |
|
| 1607 |
#ifndef __sun |
| 1608 |
/* |
| 1609 |
* On Solaris 9 and 10, on both sparc and i86pc, |
| 1610 |
* the tcgetattr call hangs forever after a large |
| 1611 |
* write to the pty. So pasting 50 lines or so of |
| 1612 |
* text will hang sshd. We'll avoid this by just |
| 1613 |
* assuming echo is set and always send the random |
| 1614 |
* data packet. |
| 1615 |
*/ |
| 1616 |
|
| 1606 |
if (tcgetattr(c->wfd, &tio) == 0 && |
1617 |
if (tcgetattr(c->wfd, &tio) == 0 && |
| 1607 |
!(tio.c_lflag & ECHO) && (tio.c_lflag & ICANON)) { |
1618 |
!(tio.c_lflag & ECHO) && (tio.c_lflag & ICANON)) { |
|
|
1619 |
#endif |
| 1608 |
/* |
1620 |
/* |
| 1609 |
* Simulate echo to reduce the impact of |
1621 |
* Simulate echo to reduce the impact of |
| 1610 |
* traffic analysis. We need to match the |
1622 |
* traffic analysis. We need to match the |
|
Lines 1613-1619
Link Here
|
| 1613 |
*/ |
1625 |
*/ |
| 1614 |
packet_send_ignore(4 + len); |
1626 |
packet_send_ignore(4 + len); |
| 1615 |
packet_send(); |
1627 |
packet_send(); |
|
|
1628 |
#ifndef __sun |
| 1616 |
} |
1629 |
} |
|
|
1630 |
#endif |
| 1617 |
} |
1631 |
} |
| 1618 |
buffer_consume(&c->output, len); |
1632 |
buffer_consume(&c->output, len); |
| 1619 |
if (compat20 && len > 0) { |
1633 |
if (compat20 && len > 0) { |