Date: Mon, 13 Nov 2000 19:00:20 -0800 From: "John W. De Boskey" <jwd@FreeBSD.org> To: Current List <freebsd-current@FreeBSD.org> Subject: getty bug when run by hand Message-ID: <20001113190020.A98362@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
Hi, I've been working on serial ports/consoles the last few days and have run into what I consider a bug in getty (-current).. When the following command is run as root: /usr/obj/usr/src/libexec/getty/getty std.38400 ttyd1 the call to login_tty() fails in the opentty() function: else { login_tty(i); return 1; } However, the return code is not checked. File descripters 0, 1, and 2 are not modified to point at ttyd1, and the getty then proceeds to run on the current terminal session. At a minimum, I'd like to commit the following patch. It would have helped avoid some frustrating moments... =================================================================== RCS file: /home/ncvs/src/libexec/getty/main.c,v retrieving revision 1.31 diff -u -r1.31 main.c --- main.c 2000/10/10 01:53:00 1.31 +++ main.c 2000/11/14 02:25:31 @@ -444,7 +444,10 @@ return 0; } else { - login_tty(i); + if (login_tty(i) < 0) { + syslog(LOG_ERR, "login_tty %s: %m", ttyn); + return 0; + } return 1; } } This of course then leads to the question of why the TIOCSCTTY ioctl call failes. From the above change: Nov 13 17:25:47 mail getty[1236]: login_tty /dev/ttyd1: Operation not permitted It's worth noting that /dev/ttyd1 has been successfully openned on fd 3 this point. The serial ports work fine with tip or kermit and from dmesg are: sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A comments welcome. -John To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001113190020.A98362>