Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: su/ssh localhost problems
On May 2, 1:40pm, tk%giga.or.at@localhost (Thomas Klausner) wrote:
-- Subject: Re: su/ssh localhost problems
| On Wed, May 02, 2012 at 07:33:57AM -0400, Christos Zoulas wrote:
| > Why is eol NUL, not <undef>? (_POSIX_VDISABLE)?
|
| On the machine itself I get:
| speed 38400 baud; rows 73; columns 175; line = 0;
| intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 =
<undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase
= ^W; lnext = ^V;
| flush = ^O; min = 1; time = 0;
| -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
| -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
-iuclc -ixany -imaxbel iutf8
| opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
ff0
| isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
That is correct.
| On the first hop, a Linux, I get:
| speed 38400 baud; rows 73; columns 175; line = 0;
| intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 =
<undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase
= ^W; lnext = ^V;
| flush = ^O; min = 1; time = 0;
| -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
| -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
-iuclc -ixany -imaxbel -iutf8
| opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
ff0
| isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
This is correct too.
| On the next hop, a NetBSD machine, I get:
| speed 38400 baud; 73 rows; 175 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 -ocrnl oxtabs onocr onlret
| cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
| -cdtrcts
| cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = ^@; eol2 = ^@;
| erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\;
| reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z;
| time = 0; werase = ^W;
|
| That machine is running NetBSD-5.99.40/amd64. On that machine I can still do
'su' successfully.
This is bad now. eol went from _POSIX_VDISABLE to NUL from Linux to NetBSD.
It still works because the getpass there does not pay attention to the tty
characters.
| On the final machine, running NetBSD-6.99.6/amd64, I get:
| speed 38400 baud; 73 rows; 175 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 -ocrnl oxtabs onocr onlret
| cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
| -cdtrcts
| cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = ^@; eol2 = ^@;
| erase = ^?; intr = ^C; kill = ^U; lnext = ^V; min = 1; quit = ^\;
| reprint = ^R; start = ^Q; status = ^T; stop = ^S; susp = ^Z;
| time = 0; werase = ^W;
|
The NUL propagated correctly, but the new getpass() pays attention to eol,
and thinks that NUL is ok. Anyway, I fixed it now so that either NUL or
_POSIX_VDISABLE make it use the default builtin eol char.
christos
Home |
Main Index |
Thread Index |
Old Index