summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1996-10-23 01:28:58 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1996-10-23 01:28:58 +0000
commit9dd286b201198121b4a0b91288443512e135b29a (patch)
treec4bef882d9d7495abae93ad1f8fa8950fba3fcfc
parent86e13c178dcc5898756d014bdfe3a7277cf63dc5 (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.c9
-rw-r--r--usr.bin/su/su.c8
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