DTLS maintains timers for every handshake flight in case retransmissions are 
necessary. In the current implementation the timer is stopped as soon as any 
message of the following flight arrived. This can lead to a deadlock, if the 
flight was incomplete for some reason and the missing message is awaited 
forever with no timer running anymore.

This patch changes the timer behavior so that a timer is not stopped until the 
entire following flight has been received to avoid this issue. This is also 
required by the DTLS specification.

Thanks to Lindani Phiri for reporting this bug!

Best regards
Robin





Attachment: dtls-timer-deadlock-bug-1.0.0.patch
Description: Binary data

Attachment: dtls-timer-deadlock-bug-1.0.1.patch
Description: Binary data

Reply via email to