gssDeleteSecContext(&tmpMinor, &ctx->kerberosCtx, GSS_C_NO_BUFFER);
ctx->flags &= ~(CTX_FLAG_KRB_REAUTH);
GSSEAP_SM_TRANSITION(ctx, GSSEAP_STATE_INITIAL);
- *smFlags |= SM_FLAG_RESTART;
major = GSS_S_CONTINUE_NEEDED;
}
gssDeleteSecContext(&tmpMinor, &ctx->kerberosCtx, GSS_C_NO_BUFFER);
ctx->flags &= ~(CTX_FLAG_KRB_REAUTH);
GSSEAP_SM_TRANSITION(ctx, GSSEAP_STATE_INITIAL);
- *smFlags |= SM_FLAG_RESTART;
} else {
*smFlags |= SM_FLAG_FORCE_SEND_TOKEN;
}
/* state machine flags, set by handler */
#define SM_FLAG_FORCE_SEND_TOKEN 0x00000001 /* send token even if no inner tokens */
-#define SM_FLAG_RESTART 0x00000002 /* restart state machine */
-#define SM_FLAG_OUTPUT_TOKEN_CRITICAL 0x00000004 /* output token is critical */
+#define SM_FLAG_OUTPUT_TOKEN_CRITICAL 0x00000002 /* output token is critical */
/* state machine flags, set by state machine */
-#define SM_FLAG_INPUT_TOKEN_CRITICAL 0x40000000 /* input token was critical */
+#define SM_FLAG_INPUT_TOKEN_CRITICAL 0x10000000 /* input token was critical */
#define SM_ITOK_FLAG_REQUIRED 0x00000001 /* received tokens must be present */
if (inputTokenType != NULL)
*inputTokenType |= ITOK_FLAG_VERIFIED;
- if (smFlags & SM_FLAG_RESTART) {
- assert(ctx->state < oldState);
- i = 0;
- } else if (ctx->state != oldState) {
+ if (ctx->state < oldState)
+ i = 0; /* restart */
+ else if (ctx->state != oldState)
smFlags |= SM_FLAG_TRANSITED;
- }
if (innerOutputToken.value != NULL) {
innerOutputTokens->elements[innerOutputTokens->count] = innerOutputToken;