From owner-freebsd-current Mon Nov 13 19: 0:22 2000 Delivered-To: freebsd-current@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 821) id 95EF537B479; Mon, 13 Nov 2000 19:00:20 -0800 (PST) Date: Mon, 13 Nov 2000 19:00:20 -0800 From: "John W. De Boskey" To: Current List Subject: getty bug when run by hand Message-ID: <20001113190020.A98362@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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