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
dtls-timer-deadlock-bug-1.0.0.patch
Description: Binary data
dtls-timer-deadlock-bug-1.0.1.patch
Description: Binary data