/*
* OK, obviously there is no real security here, this is simply
* for testing the token exchange; this code will be completely
- * replaced with libradsec once that library is available.
+ * replaced with libradius once that library is available.
*/
user->methods[0].vendor = EAP_VENDOR_IETF;
user->methods[0].method = EAP_TYPE_MSCHAPV2;
user->password = (unsigned char *)strdup(" ");
user->password_len = 1;
+ gssCtx->initiatorName->attrCtx = gssEapCreateAttrContext(NULL, gssCtx);
+ if (gssCtx->initiatorName->attrCtx != NULL)
+ gssCtx->initiatorName->flags |= NAME_FLAG_COMPOSITE;
+
return 0;
}
return GSS_S_BAD_STATUS;
}
-static struct eap_gss_acceptor_sm {
+static struct gss_eap_acceptor_sm {
enum gss_eap_token_type inputTokenType;
enum gss_eap_token_type outputTokenType;
OM_uint32 (*processToken)(OM_uint32 *,
OM_uint32 major;
OM_uint32 tmpMajor, tmpMinor;
gss_ctx_id_t ctx = *context_handle;
- struct eap_gss_acceptor_sm *sm = NULL;
- gss_buffer_desc innerInputToken, innerOutputToken;
+ struct gss_eap_acceptor_sm *sm = NULL;
+ gss_buffer_desc innerInputToken = GSS_C_EMPTY_BUFFER;
+ gss_buffer_desc innerOutputToken = GSS_C_EMPTY_BUFFER;
*minor = 0;
- innerOutputToken.length = 0;
- innerOutputToken.value = NULL;
-
output_token->length = 0;
output_token->value = NULL;