aboutsummaryrefslogtreecommitdiff
path: root/lib/libskey
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1996-10-18 16:52:33 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1996-10-18 16:52:33 +0000
commit9fe1a5aaabc665e2a846998209872472e92c6d20 (patch)
tree8a28663b34810fbd22724f757503c9ab8c68ae5b /lib/libskey
parentd0ec898db5fb2c8c205eed83be18d23f54da6ad4 (diff)
downloadsrc-9fe1a5aaabc665e2a846998209872472e92c6d20.tar.gz
src-9fe1a5aaabc665e2a846998209872472e92c6d20.zip
After some thinking implement alternative way:if it is impossible
to confirm password, don't tell that s/key required, but ask for password in anycase. It looks like non-s/key system from outside.
Notes
Notes: svn path=/head/; revision=19017
Diffstat (limited to 'lib/libskey')
-rw-r--r--lib/libskey/skey_getpass.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/libskey/skey_getpass.c b/lib/libskey/skey_getpass.c
index 51b564baa879..9878a5e2d902 100644
--- a/lib/libskey/skey_getpass.c
+++ b/lib/libskey/skey_getpass.c
@@ -11,19 +11,15 @@ int pwok;
{
static char buf[128];
struct skey skey;
- char *pass = "";
- char *username = pwd ? pwd->pw_name : ":";
+ char *pass;
int sflag;
/* Attempt an s/key challenge. */
- sflag = skeyinfo(&skey, username, buf);
- if (!sflag)
+ sflag = (pwd == NULL || skeyinfo(&skey, pwd->pw_name, buf));
+ if (!sflag) {
printf("%s\n", buf);
-
- if (!pwok) {
- printf("(s/key required)\n");
- if (sflag)
- return (pass);
+ if (!pwok)
+ printf("(s/key required)\n");
}
pass = getpass(prompt);