# HG changeset patch # User Alexander Eremin # Date 1371071370 18000 # Node ID c8bc47846d40307e4621afe08c425686eb5d4977 # Parent 1a272fe1337b1fbe3ecb78f4e1de7edca36fde21 3808 sulogin should reset console to text mode Reviewed by: Jason King Reviewed by: Garrett D'Amore Approved by: Richard Lowe diff -r 1a272fe1337b -r c8bc47846d40 usr/src/cmd/sulogin/sulogin.c --- a/usr/src/cmd/sulogin/sulogin.c Tue Jun 11 22:01:53 2013 -0800 +++ b/usr/src/cmd/sulogin/sulogin.c Wed Jun 12 16:09:30 2013 -0500 @@ -18,6 +18,11 @@ * * CDDL HEADER END */ + +/* + * Copyright 2013 Nexenta Systems, Inc. All rights reserved. + */ + /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. @@ -75,6 +80,7 @@ #include #include #include +#include /* * Intervals to sleep after failed login @@ -442,7 +448,7 @@ static void main_loop(char *devname, boolean_t cttyflag) { - int fd, i; + int fd, fb, i; char *user = NULL; /* authorized user */ char *pass; /* password from user */ char *cpass; /* crypted password */ @@ -478,6 +484,12 @@ if (fd > 2) (void) close(fd); + /* Stop progress bar and reset console mode to text */ + if ((fb = open("/dev/fb", O_RDONLY)) >= 0) { + (void) ioctl(fb, KDSETMODE, KD_RESETTEXT); + (void) close(fb); + } + sysmsgfd = fopen("/dev/sysmsg", "w"); sanitize_tty(fileno(stdin));