summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 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);
OpenPOWER on IntegriCloud