提交 c45d6b2b 编写于 作者: D David Benjamin 提交者: Matt Caswell

The NewSessionTicket message is not optional.

Per RFC 4507, section 3.3:

   This message [NewSessionTicket] MUST be sent if the
   server included a SessionTicket extension in the ServerHello.  This
   message MUST NOT be sent if the server did not include a
   SessionTicket extension in the ServerHello.

The presence of the NewSessionTicket message should be determined
entirely from the ServerHello without probing.

RT#4389
Reviewed-by: NEmilia Käsper <emilia@openssl.org>
Reviewed-by: NMatt Caswell <matt@openssl.org>
上级 afdd82fb
...@@ -341,9 +341,11 @@ int ossl_statem_client_read_transition(SSL *s, int mt) ...@@ -341,9 +341,11 @@ int ossl_statem_client_read_transition(SSL *s, int mt)
break; break;
case TLS_ST_CW_FINISHED: case TLS_ST_CW_FINISHED:
if (mt == SSL3_MT_NEWSESSION_TICKET && s->tlsext_ticket_expected) { if (s->tlsext_ticket_expected) {
st->hand_state = TLS_ST_CR_SESSION_TICKET; if (mt == SSL3_MT_NEWSESSION_TICKET) {
return 1; st->hand_state = TLS_ST_CR_SESSION_TICKET;
return 1;
}
} else if (mt == SSL3_MT_CHANGE_CIPHER_SPEC) { } else if (mt == SSL3_MT_CHANGE_CIPHER_SPEC) {
st->hand_state = TLS_ST_CR_CHANGE; st->hand_state = TLS_ST_CR_CHANGE;
return 1; return 1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册