s/kerberosCtx/reauthCtx/g
[moonshot.git] / mech_eap / util_reauth.c
index f1112ca..6c66570 100644 (file)
@@ -217,11 +217,10 @@ gssEapMakeReauthCreds(OM_uint32 *minor,
     GSSEAP_KRB_INIT(&krbContext);
 
     code = getAcceptorKey(krbContext, ctx, cred, &server, &acceptorKey);
-    if (code == KRB5_KT_NOTFOUND) {
+    if (code != 0) {
         *minor = code;
         return GSS_S_UNAVAILABLE;
-    } else if (code != 0)
-        goto cleanup;
+    }
 
     /*
      * Generate a random session key to place in the ticket and
@@ -655,9 +654,8 @@ defrostAttrContext(OM_uint32 *minor,
 #ifdef HAVE_HEIMDAL_VERSION
                    gss_ctx_id_t glueContext,
 #else
-                   gss_ctx_id_t glueContext GSSEAP_UNUSED,
-#endif
                    gss_name_t glueName,
+#endif
                    gss_name_t mechName)
 {
     OM_uint32 major, tmpMinor;
@@ -735,11 +733,17 @@ gssEapGlueToMechName(OM_uint32 *minor,
         goto cleanup;
 
     major = gssEapImportName(minor, &nameBuf, GSS_C_NT_USER_NAME,
-                             pMechName);
+                             ctx->mechanismUsed, pMechName);
     if (GSS_ERROR(major))
         goto cleanup;
 
-    major = defrostAttrContext(minor, ctx->kerberosCtx, glueName, *pMechName);
+    major = defrostAttrContext(minor,
+#ifdef HAVE_HEIMDAL_VERSION
+                               ctx->reauthCtx,
+#else
+                               glueName,
+#endif
+                               *pMechName);
     if (GSS_ERROR(major))
         goto cleanup;
 
@@ -811,11 +815,11 @@ gssEapReauthComplete(OM_uint32 *minor,
     /* Get the raw subsession key and encryption type */
 #ifdef HAVE_HEIMDAL_VERSION
 #define KRB_GSS_SUBKEY_COUNT    1 /* encoded session key */
-    major = gssInquireSecContextByOid(minor, ctx->kerberosCtx,
+    major = gssInquireSecContextByOid(minor, ctx->reauthCtx,
                                       GSS_KRB5_GET_SUBKEY_X, &keyData);
 #else
 #define KRB_GSS_SUBKEY_COUNT    2 /* raw session key, enctype OID */
-    major = gssInquireSecContextByOid(minor, ctx->kerberosCtx,
+    major = gssInquireSecContextByOid(minor, ctx->reauthCtx,
                                       GSS_C_INQ_SSPI_SESSION_KEY, &keyData);
 #endif
     if (GSS_ERROR(major))