diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 1996-10-23 01:28:58 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 1996-10-23 01:28:58 +0000 |
commit | 9dd286b201198121b4a0b91288443512e135b29a (patch) | |
tree | c4bef882d9d7495abae93ad1f8fa8950fba3fcfc | |
parent | 86e13c178dcc5898756d014bdfe3a7277cf63dc5 (diff) |
skey_authenticate() now fakes up a challenge if user does not
have an entry in the keys file. Don't want to give info to
information gathering attack.
-rw-r--r-- | usr.bin/login/login.c | 9 | ||||
-rw-r--r-- | usr.bin/su/su.c | 8 |
2 files changed, 6 insertions, 11 deletions
diff --git a/usr.bin/login/login.c b/usr.bin/login/login.c index 21f527a5ec3..c8d48ad7a09 100644 --- a/usr.bin/login/login.c +++ b/usr.bin/login/login.c @@ -1,4 +1,4 @@ -/* $OpenBSD: login.c,v 1.7 1996/09/18 20:39:06 deraadt Exp $ */ +/* $OpenBSD: login.c,v 1.8 1996/10/23 01:28:56 millert Exp $ */ /* $NetBSD: login.c,v 1.13 1996/05/15 23:50:16 jtc Exp $ */ /*- @@ -44,7 +44,7 @@ static char copyright[] = #if 0 static char sccsid[] = "@(#)login.c 8.4 (Berkeley) 4/2/94"; #endif -static char rcsid[] = "$OpenBSD: login.c,v 1.7 1996/09/18 20:39:06 deraadt Exp $"; +static char rcsid[] = "$OpenBSD: login.c,v 1.8 1996/10/23 01:28:56 millert Exp $"; #endif /* not lint */ /* @@ -478,11 +478,8 @@ pwcheck(user, p, salt, passwd) char *user, *p, *salt, *passwd; { #ifdef SKEY - if (strcasecmp(p, "s/key") == 0) { - if (skey_haskey(user)) - return 1; + if (strcasecmp(p, "s/key") == 0) return skey_authenticate(user); - } #endif return strcmp(crypt(p, salt), passwd); } diff --git a/usr.bin/su/su.c b/usr.bin/su/su.c index 0c58f4c9c36..286c61a46e7 100644 --- a/usr.bin/su/su.c +++ b/usr.bin/su/su.c @@ -1,4 +1,4 @@ -/* $OpenBSD: su.c,v 1.13 1996/10/21 19:33:36 deraadt Exp $ */ +/* $OpenBSD: su.c,v 1.14 1996/10/23 01:28:57 millert Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. @@ -41,7 +41,7 @@ char copyright[] = #ifndef lint /*static char sccsid[] = "from: @(#)su.c 5.26 (Berkeley) 7/6/91";*/ -static char rcsid[] = "$OpenBSD: su.c,v 1.13 1996/10/21 19:33:36 deraadt Exp $"; +static char rcsid[] = "$OpenBSD: su.c,v 1.14 1996/10/23 01:28:57 millert Exp $"; #endif /* not lint */ #include <sys/param.h> @@ -174,9 +174,7 @@ main(argc, argv) p = getpass("Password:"); #ifdef SKEY if (strcasecmp(p, "s/key") == 0) { - if (skey_haskey(user)) - errx(1, "Sorry, you have no s/key."); - else if (skey_authenticate(user)) + if (skey_authenticate(user)) goto badlogin; } else #endif |