=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/login/login.c,v retrieving revision 1.31 retrieving revision 1.32 diff -c -r1.31 -r1.32 *** src/usr.bin/login/login.c 2000/08/24 20:05:07 1.31 --- src/usr.bin/login/login.c 2000/08/24 20:08:06 1.32 *************** *** 1,4 **** ! /* $OpenBSD: login.c,v 1.31 2000/08/24 20:05:07 millert Exp $ */ /* $NetBSD: login.c,v 1.13 1996/05/15 23:50:16 jtc Exp $ */ /*- --- 1,4 ---- ! /* $OpenBSD: login.c,v 1.32 2000/08/24 20:08:06 millert Exp $ */ /* $NetBSD: login.c,v 1.13 1996/05/15 23:50:16 jtc Exp $ */ /*- *************** *** 44,50 **** #if 0 static char sccsid[] = "@(#)login.c 8.4 (Berkeley) 4/2/94"; #endif ! static char rcsid[] = "$OpenBSD: login.c,v 1.31 2000/08/24 20:05:07 millert Exp $"; #endif /* not lint */ /* --- 44,50 ---- #if 0 static char sccsid[] = "@(#)login.c 8.4 (Berkeley) 4/2/94"; #endif ! static char rcsid[] = "$OpenBSD: login.c,v 1.32 2000/08/24 20:08:06 millert Exp $"; #endif /* not lint */ /* *************** *** 308,320 **** rval = klogin(pwd, instance, localhost, p); if (rval != 0 && rootlogin && pwd->pw_uid != 0) rootlogin = 0; ! if (rval == 0) ! authok = 1; ! else if (rval == 1) { if (pwd->pw_uid != 0) rootlogin = 0; rval = pwcheck(username, p, salt, pwd->pw_passwd); } #else rval = pwcheck(username, p, salt, pwd->pw_passwd); #endif --- 308,321 ---- rval = klogin(pwd, instance, localhost, p); if (rval != 0 && rootlogin && pwd->pw_uid != 0) rootlogin = 0; ! if (rval == 1) { ! /* Fall back on password file. */ if (pwd->pw_uid != 0) rootlogin = 0; rval = pwcheck(username, p, salt, pwd->pw_passwd); } + if (rval == 0) + authok = 1; #else rval = pwcheck(username, p, salt, pwd->pw_passwd); #endif