=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/auth-bsdauth.c,v retrieving revision 1.1 retrieving revision 1.1.4.2 diff -u -r1.1 -r1.1.4.2 --- src/usr.bin/ssh/auth-bsdauth.c 2001/05/18 14:13:28 1.1 +++ src/usr.bin/ssh/auth-bsdauth.c 2002/03/09 00:20:43 1.1.4.2 @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: auth-bsdauth.c,v 1.1 2001/05/18 14:13:28 markus Exp $"); +RCSID("$OpenBSD: auth-bsdauth.c,v 1.1.4.2 2002/03/09 00:20:43 miod Exp $"); #ifdef BSD_AUTH #include "xmalloc.h" @@ -36,74 +36,74 @@ } static int -bsdauth_query(void *ctx, char **name, char **infotxt, +bsdauth_query(void *ctx, char **name, char **infotxt, u_int *numprompts, char ***prompts, u_int **echo_on) { - Authctxt *authctxt = ctx; - char *challenge = NULL; + Authctxt *authctxt = ctx; + char *challenge = NULL; - if (authctxt->as != NULL) { - debug2("bsdauth_query: try reuse session"); - challenge = auth_getitem(authctxt->as, AUTHV_CHALLENGE); - if (challenge == NULL) { - auth_close(authctxt->as); - authctxt->as = NULL; - } - } + if (authctxt->as != NULL) { + debug2("bsdauth_query: try reuse session"); + challenge = auth_getitem(authctxt->as, AUTHV_CHALLENGE); + if (challenge == NULL) { + auth_close(authctxt->as); + authctxt->as = NULL; + } + } - if (challenge == NULL) { - debug2("bsdauth_query: new bsd auth session"); - debug3("bsdauth_query: style %s", + if (challenge == NULL) { + debug2("bsdauth_query: new bsd auth session"); + debug3("bsdauth_query: style %s", authctxt->style ? authctxt->style : ""); - authctxt->as = auth_userchallenge(authctxt->user, + authctxt->as = auth_userchallenge(authctxt->user, authctxt->style, "auth-ssh", &challenge); - if (authctxt->as == NULL) - challenge = NULL; - debug2("bsdauth_query: <%s>", challenge ? challenge : "empty"); - } - - if (challenge == NULL) - return -1; + if (authctxt->as == NULL) + challenge = NULL; + debug2("bsdauth_query: <%s>", challenge ? challenge : "empty"); + } - *name = xstrdup(""); - *infotxt = xstrdup(""); - *numprompts = 1; - *prompts = xmalloc(*numprompts * sizeof(char*)); - *echo_on = xmalloc(*numprompts * sizeof(u_int)); - (*echo_on)[0] = 0; - (*prompts)[0] = xstrdup(challenge); + if (challenge == NULL) + return -1; - return 0; + *name = xstrdup(""); + *infotxt = xstrdup(""); + *numprompts = 1; + *prompts = xmalloc(*numprompts * sizeof(char*)); + *echo_on = xmalloc(*numprompts * sizeof(u_int)); + (*echo_on)[0] = 0; + (*prompts)[0] = xstrdup(challenge); + + return 0; } static int bsdauth_respond(void *ctx, u_int numresponses, char **responses) { - Authctxt *authctxt = ctx; - int authok; - - if (authctxt->as == 0) - error("bsdauth_respond: no bsd auth session"); + Authctxt *authctxt = ctx; + int authok; - if (numresponses != 1) - return -1; + if (authctxt->as == 0) + error("bsdauth_respond: no bsd auth session"); - authok = auth_userresponse(authctxt->as, responses[0], 0); - authctxt->as = NULL; - debug3("bsdauth_respond: <%s> = <%d>", responses[0], authok); + if (numresponses != 1) + return -1; - return (authok == 0) ? -1 : 0; + authok = auth_userresponse(authctxt->as, responses[0], 0); + authctxt->as = NULL; + debug3("bsdauth_respond: <%s> = <%d>", responses[0], authok); + + return (authok == 0) ? -1 : 0; } static void bsdauth_free_ctx(void *ctx) { - Authctxt *authctxt = ctx; + Authctxt *authctxt = ctx; - if (authctxt && authctxt->as) { - auth_close(authctxt->as); - authctxt->as = NULL; - } + if (authctxt && authctxt->as) { + auth_close(authctxt->as); + authctxt->as = NULL; + } } KbdintDevice bsdauth_device = {