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:
parent
009be03b7b
commit
bbb4755eb5
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user