]> andersk Git - gssapi-openssh.git/blobdiff - openssh/auth-chall.c
Config file and man page changes for Usage Metrics.
[gssapi-openssh.git] / openssh / auth-chall.c
index e4f783096cdf971cf227dd62d0d56c53d53c9dea..45e0c34522b16eb6cb2ad779431d1778b0aec5e3 100644 (file)
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: auth-chall.c,v 1.9 2003/11/03 09:03:37 djm Exp $");
+RCSID("$OpenBSD: auth-chall.c,v 1.8 2001/05/18 14:13:28 markus Exp $");
 
 #include "auth.h"
 #include "log.h"
 #include "xmalloc.h"
-#include "servconf.h"
 
 /* limited protocol v1 interface to kbd-interactive authentication */
 
 extern KbdintDevice *devices[];
 static KbdintDevice *device;
-extern ServerOptions options;
 
 char *
 get_challenge(Authctxt *authctxt)
@@ -43,11 +41,6 @@ get_challenge(Authctxt *authctxt)
        u_int i, numprompts;
        u_int *echo_on;
 
-#ifdef USE_PAM
-       if (!options.use_pam)
-               remove_kbdint_device("pam");
-#endif
-
        device = devices[0]; /* we always use the 1st device for protocol 1 */
        if (device == NULL)
                return NULL;
@@ -74,44 +67,16 @@ get_challenge(Authctxt *authctxt)
 int
 verify_response(Authctxt *authctxt, const char *response)
 {
-       char *resp[1], *name, *info, **prompts;
-       u_int i, numprompts, *echo_on;
-       int authenticated = 0;
+       char *resp[1];
+       int res;
 
        if (device == NULL)
                return 0;
        if (authctxt->kbdintctxt == NULL)
                return 0;
        resp[0] = (char *)response;
-       switch (device->respond(authctxt->kbdintctxt, 1, resp)) {
-       case 0: /* Success */
-               authenticated = 1;
-               break;
-       case 1: /* Postponed - retry with empty query for PAM */
-               if ((device->query(authctxt->kbdintctxt, &name, &info,
-                   &numprompts, &prompts, &echo_on)) != 0)
-                       break;
-               if (numprompts == 0 &&
-                   device->respond(authctxt->kbdintctxt, 0, resp) == 0)
-                       authenticated = 1;
-
-               for (i = 0; i < numprompts; i++)
-                       xfree(prompts[i]);
-               xfree(prompts);
-               xfree(name);
-               xfree(echo_on);
-               xfree(info);
-               break;
-       }
+       res = device->respond(authctxt->kbdintctxt, 1, resp);
        device->free_ctx(authctxt->kbdintctxt);
        authctxt->kbdintctxt = NULL;
-       return authenticated;
-}
-void
-abandon_challenge_response(Authctxt *authctxt)
-{
-       if (authctxt->kbdintctxt != NULL) {
-               device->free_ctx(authctxt->kbdintctxt);
-               authctxt->kbdintctxt = NULL;
-       }
+       return res ? 0 : 1;
 }
This page took 0.031577 seconds and 4 git commands to generate.