extension_entry_st ext_mod_session_ticket = {
.name = "SESSION TICKET",
.type = GNUTLS_EXTENSION_SESSION_TICKET,
- .parse_type = GNUTLS_EXT_TLS,
+ .parse_type = GNUTLS_EXT_MANDATORY,
.recv_func = session_ticket_recv_params,
.send_func = session_ticket_send_params,
}
else
{
- ret = _gnutls_recv_handshake_final (session, TRUE);
- IMED_RET ("recv handshake final", ret, 1);
+ ret = _gnutls_recv_new_session_ticket (session);
+ IMED_RET ("recv handshake new session ticket", ret, 1);
}
case STATE16:
- ret = _gnutls_recv_new_session_ticket (session);
STATE = STATE16;
- IMED_RET ("recv handshake new session ticket", ret, 1);
+ if (session->internals.resumed == RESUME_FALSE)
+ {
+ ret = _gnutls_recv_new_session_ticket (session);
+ IMED_RET ("recv handshake new session ticket", ret, 1);
+ }
+ else
+ {
+ ret = _gnutls_recv_handshake_final (session, TRUE);
+ IMED_RET ("recv handshake final", ret, 1);
+ }
case STATE17:
STATE = STATE17;