/*
- * Copyright (c) 2010, JANET(UK)
+ * Copyright (c) 2011, JANET(UK)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
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;
-
-#ifdef HAVE_HEIMDAL_VERSION
- ticket.realm = server->realm;
- ticket.sname = server->name;
-#else
- ticket.server = server;
-#endif
+ }
/*
* Generate a random session key to place in the ticket and
* sign the "KDC-Issued" authorization data element.
*/
#ifdef HAVE_HEIMDAL_VERSION
+ ticket.realm = server->realm;
+ ticket.sname = server->name;
+
code = krb5_generate_random_keyblock(krbContext, ctx->encryptionType,
&session);
if (code != 0)
if (code != 0)
goto cleanup;
#else
+ ticket.server = server;
+
code = krb5_c_make_random_key(krbContext, ctx->encryptionType,
&session);
if (code != 0)
}
static int
-isTicketGrantingServiceP(krb5_context krbContext,
+isTicketGrantingServiceP(krb5_context krbContext GSSEAP_UNUSED,
krb5_const_principal principal)
{
if (KRB_PRINC_LENGTH(principal) == 2 &&
*/
static OM_uint32
defrostAttrContext(OM_uint32 *minor,
+#ifdef HAVE_HEIMDAL_VERSION
gss_ctx_id_t glueContext,
+#else
gss_name_t glueName,
+#endif
gss_name_t mechName)
{
OM_uint32 major, tmpMinor;
*/
OM_uint32
gssEapGlueToMechName(OM_uint32 *minor,
- gss_ctx_id_t glueContext,
+ gss_ctx_id_t ctx,
gss_name_t glueName,
gss_name_t *pMechName)
{
goto cleanup;
major = gssEapImportName(minor, &nameBuf, GSS_C_NT_USER_NAME,
- pMechName);
+ ctx->mechanismUsed, pMechName);
if (GSS_ERROR(major))
goto cleanup;
- major = defrostAttrContext(minor, glueContext, glueName, *pMechName);
+ major = defrostAttrContext(minor,
+#ifdef HAVE_HEIMDAL_VERSION
+ ctx->kerberosCtx,
+#else
+ glueName,
+#endif
+ *pMechName);
if (GSS_ERROR(major))
goto cleanup;
*/
OM_uint32
gssEapReauthComplete(OM_uint32 *minor,
- gss_ctx_id_t ctx,
- gss_cred_id_t cred,
- const gss_OID mech,
- OM_uint32 timeRec)
+ gss_ctx_id_t ctx,
+ gss_cred_id_t cred GSSEAP_UNUSED,
+ const gss_OID mech,
+ OM_uint32 timeRec)
{
OM_uint32 major, tmpMinor;
gss_buffer_set_t keyData = GSS_C_NO_BUFFER_SET;