]> andersk Git - openssh.git/blobdiff - auth2-gss.c
- deraadt@cvs.openbsd.org 2006/03/19 18:53:12
[openssh.git] / auth2-gss.c
index 855b61b4e195399a3b442489950729b7ad47d64e..bbb6db964c032c64ae95002bcc109d213dc6a9e5 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: auth2-gss.c,v 1.9 2005/06/17 02:44:32 djm Exp $       */
+/*     $OpenBSD: auth2-gss.c,v 1.13 2006/03/20 04:07:22 djm Exp $      */
 
 /*
  * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
@@ -34,7 +34,6 @@
 #include "log.h"
 #include "dispatch.h"
 #include "servconf.h"
-#include "compat.h"
 #include "packet.h"
 #include "monitor_wrap.h"
 
@@ -49,7 +48,7 @@ static void input_gssapi_errtok(int, u_int32_t, void *);
 
 /*
  * We only support those mechanisms that we know about (ie ones that we know
- * how to check local user kuserok and the like
+ * how to check local user kuserok and the like)
  */
 static int
 userauth_gssapi(Authctxt *authctxt)
@@ -82,9 +81,8 @@ userauth_gssapi(Authctxt *authctxt)
                present = 0;
                doid = packet_get_string(&len);
 
-               if (len > 2 &&
-                  doid[0] == SSH_GSS_OIDTYPE &&
-                  doid[1] == len - 2) {
+               if (len > 2 && doid[0] == SSH_GSS_OIDTYPE &&
+                   doid[1] == len - 2) {
                        goid.elements = doid + 2;
                        goid.length   = len - 2;
                        gss_test_oid_set_member(&ms, &goid, supported,
@@ -102,11 +100,13 @@ userauth_gssapi(Authctxt *authctxt)
        }
 
        if (GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctxt, &goid)))) {
+               if (ctxt != NULL)
+                       ssh_gssapi_delete_ctx(&ctxt);
                xfree(doid);
                return (0);
        }
 
-       authctxt->methoddata=(void *)ctxt;
+       authctxt->methoddata = (void *)ctxt;
 
        packet_start(SSH2_MSG_USERAUTH_GSSAPI_RESPONSE);
 
This page took 0.033819 seconds and 4 git commands to generate.