version 1.12.2.1, 2001/09/27 19:03:54 |
version 1.12.2.2, 2002/03/09 00:20:43 |
|
|
#define PROMPT "\nS/Key Password: " |
#define PROMPT "\nS/Key Password: " |
|
|
static int |
static int |
skey_query(void *ctx, char **name, char **infotxt, |
skey_query(void *ctx, char **name, char **infotxt, |
u_int* numprompts, char ***prompts, u_int **echo_on) |
u_int* numprompts, char ***prompts, u_int **echo_on) |
{ |
{ |
Authctxt *authctxt = ctx; |
Authctxt *authctxt = ctx; |
|
|
|
|
len = strlen(challenge) + strlen(PROMPT) + 1; |
len = strlen(challenge) + strlen(PROMPT) + 1; |
p = xmalloc(len); |
p = xmalloc(len); |
p[0] = '\0'; |
strlcpy(p, challenge, len); |
strlcat(p, challenge, len); |
|
strlcat(p, PROMPT, len); |
strlcat(p, PROMPT, len); |
(*prompts)[0] = p; |
(*prompts)[0] = p; |
|
|
|
|
skey_respond(void *ctx, u_int numresponses, char **responses) |
skey_respond(void *ctx, u_int numresponses, char **responses) |
{ |
{ |
Authctxt *authctxt = ctx; |
Authctxt *authctxt = ctx; |
|
|
if (authctxt->valid && |
if (authctxt->valid && |
numresponses == 1 && |
numresponses == 1 && |
skey_haskey(authctxt->pw->pw_name) == 0 && |
skey_haskey(authctxt->pw->pw_name) == 0 && |
skey_passcheck(authctxt->pw->pw_name, responses[0]) != -1) |
skey_passcheck(authctxt->pw->pw_name, responses[0]) != -1) |
return 0; |
return 0; |