From bbb4755eb58279613ded5dab75419ab87b148e0a Mon Sep 17 00:00:00 2001 From: ache Date: Fri, 18 Oct 1996 16:52:33 +0000 Subject: 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. --- lib/libskey/skey_getpass.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'lib') diff --git a/lib/libskey/skey_getpass.c b/lib/libskey/skey_getpass.c index 51b564b..9878a5e 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); -- cgit v1.1