Add ticket length before buffering DTLS message
authorMatt Caswell <matt@openssl.org>
Thu, 5 Feb 2015 13:59:16 +0000 (13:59 +0000)
committerMatt Caswell <matt@openssl.org>
Wed, 25 Mar 2015 12:29:48 +0000 (12:29 +0000)
commita20718fa2c0a45e6acb975cf6c0438c3ebd45b13
tree5e602aa47baace500c21f86815c47ee75ef73b79
parent4285b851637a3da8bd6e96848f0deffb6be5e626
Add ticket length before buffering DTLS message

In ssl3_send_new_session_ticket the message to be sent is constructed. We
skip adding the length of the session ticket initially, then call
ssl_set_handshake_header, and finally go back and add in the length of the
ticket. Unfortunately, in DTLS, ssl_set_handshake_header also has the side
effect of buffering the message for subsequent retransmission if required.
By adding the ticket length after the call to ssl_set_handshake_header the
message that is buffered is incomplete, causing an invalid message to be
sent on retransmission.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 4f9fab6bd0253416eeace5a45142c7c4a83bc511)

Conflicts:
ssl/s3_srvr.c
ssl/s3_srvr.c