}
return flag;
-
}
static struct eap_peer_config *
OM_uint32 tmpMajor, tmpMinor;
time_t now;
int initialContextToken = 0, code;
- gss_buffer_desc respBuf;
-
- respBuf.length = 0;
- respBuf.value = NULL;
+ gss_buffer_desc respBuf = GSS_C_EMPTY_BUFFER;
initialContextToken = (inputToken == GSS_C_NO_BUFFER ||
inputToken->length == 0);
ctx->flags &= ~(CTX_FLAG_EAP_SUCCESS);
major = GSS_S_CONTINUE_NEEDED;
ctx->state = EAP_STATE_GSS_CHANNEL_BINDINGS;
- } else if ((ctx->flags & CTX_FLAG_EAP_FAIL) || code == 0) {
+ } else if (ctx->flags & CTX_FLAG_EAP_FAIL) {
+ major = GSS_S_DEFECTIVE_CREDENTIAL;
+ } else if (code == 0) {
major = GSS_S_FAILURE;
}
OM_uint32 tmpMajor, tmpMinor;
gss_ctx_id_t ctx = *context_handle;
struct gss_eap_initiator_sm *sm = NULL;
- gss_buffer_desc innerInputToken, innerOutputToken;
+ gss_buffer_desc innerInputToken;
+ gss_buffer_desc innerOutputToken = GSS_C_EMPTY_BUFFER;
*minor = 0;
- innerOutputToken.length = 0;
- innerOutputToken.value = NULL;
-
output_token->length = 0;
output_token->value = NULL;