| Summary: | rsh does not restore tty state | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Randall Hopper <aa8vb> |
| Component: | bin | Assignee: | freebsd-bugs (Nobody) <bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 3.4-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->closed I just tested this on the latest -STABLE and the problem does not reproduce, closing. |
When rsh is invoked, it changes the tty state, and does not restore the original values on exit. Fix: Unknown. Currently I have to reset the tty state manually (stty -ixon, etc.) How-To-Repeat: "stty -ixon" "rsh <host>" (successful or failed login, it makes no difference, to the local machine for example). "stty -a" and observe that ixon is now enabled. Example session: stealth : ~ > stty -a speed 9600 baud; 47 rows; 80 columns; lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo -extproc iflags: -istrip icrnl -inlcr -igncr -ixon -ixoff ixany imaxbel ignbrk brkint -inpck -ignpar -parmrk oflags: opost onlcr -oxtabs cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow -dtrflow -mdmbuf cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^H; intr = ^C; kill = ^?; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W; stealth : ~ > rsh -l abc stealth Password: Login incorrect login: rlogin: connection closed. stealth : ~ > stealth : ~ > stty -a speed 9600 baud; 47 rows; 80 columns; lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo -extproc iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel ignbrk brkint -inpck -ignpar -parmrk oflags: opost onlcr -oxtabs cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow -dtrflow -mdmbuf cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>; eol2 = <undef>; erase = ^H; intr = ^C; kill = ^?; lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;