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.
This commit is contained in:
ache 1996-10-18 16:52:33 +00:00
parent 009be03b7b
commit bbb4755eb5

View File

@ -11,19 +11,15 @@ int pwok;
{ {
static char buf[128]; static char buf[128];
struct skey skey; struct skey skey;
char *pass = ""; char *pass;
char *username = pwd ? pwd->pw_name : ":";
int sflag; int sflag;
/* Attempt an s/key challenge. */ /* Attempt an s/key challenge. */
sflag = skeyinfo(&skey, username, buf); sflag = (pwd == NULL || skeyinfo(&skey, pwd->pw_name, buf));
if (!sflag) if (!sflag) {
printf("%s\n", buf); printf("%s\n", buf);
if (!pwok)
if (!pwok) { printf("(s/key required)\n");
printf("(s/key required)\n");
if (sflag)
return (pass);
} }
pass = getpass(prompt); pass = getpass(prompt);