]> andersk Git - gssapi-openssh.git/blobdiff - openssh/auth-chall.c
fix decl of ssh_gssapi_gsi_updatecreds() to match defn
[gssapi-openssh.git] / openssh / auth-chall.c
index 919b1eaa43cfcdf2ec09bf1c95d05f2861c7f1a6..45e0c34522b16eb6cb2ad779431d1778b0aec5e3 100644 (file)
@@ -1,4 +1,3 @@
-/* $OpenBSD: auth-chall.c,v 1.12 2006/08/03 03:34:41 deraadt Exp $ */
 /*
  * Copyright (c) 2001 Markus Friedl.  All rights reserved.
  *
  */
 
 #include "includes.h"
+RCSID("$OpenBSD: auth-chall.c,v 1.8 2001/05/18 14:13:28 markus Exp $");
 
-#include <sys/types.h>
-
-#include <stdarg.h>
-
-#include "xmalloc.h"
-#include "key.h"
-#include "hostfile.h"
 #include "auth.h"
 #include "log.h"
-#include "servconf.h"
+#include "xmalloc.h"
 
 /* limited protocol v1 interface to kbd-interactive authentication */
 
 extern KbdintDevice *devices[];
 static KbdintDevice *device;
-extern ServerOptions options;
 
 char *
 get_challenge(Authctxt *authctxt)
@@ -49,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;
@@ -80,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.067826 seconds and 4 git commands to generate.