Files
asterisk/res
George Joseph 8f82b8cfc1 res_rtp_asterisk: Fix dtls timer issues causing FRACKs and SEGVs
In dtls_srtp_handle_timeout(), when DTLSv1_get_timeout() returned
success but with a timeout of 0, we were stopping the timer and
decrementing the refcount on instance but not resetting the
timeout_timer to -1.  When dtls_srtp_stop_timeout_timer()
was later called, it was atempting to stop a stale timer and could
decrement the refcount on instance again which would then cause
the instance destructor to run early.  This would result in either
a FRACK or a SEGV when ast_rtp_stop(0 was called.

According to the OpenSSL docs, we shouldn't have been stopping the
timer when DTLSv1_get_timeout() returned success and the new timeout
was 0 anyway.  We should have been calling DTLSv1_handle_timeout()
again immediately so we now reschedule the timer callback for
1ms (almost immediately).

Additionally, instead of scheduling the timer callback at a fixed
interval returned by the initial call to DTLSv1_get_timeout()
(usually 999 ms), we now reschedule the next callback based on
the last call to DTLSv1_get_timeout().

Resolves: #487
2024-10-01 14:22:42 +00:00
..
2023-04-03 07:13:57 -05:00
2024-08-12 15:21:31 +00:00
2023-01-31 12:59:16 -06:00
2024-02-28 18:38:58 +00:00
2021-12-03 10:38:39 -06:00
2023-04-03 07:13:57 -05:00
2021-11-18 16:25:51 -06:00
2021-11-18 16:25:51 -06:00
2021-11-18 16:25:51 -06:00
2021-11-18 16:25:51 -06:00
2021-11-18 16:25:51 -06:00
2021-11-18 16:25:51 -06:00
2021-11-18 16:25:51 -06:00
2021-11-18 16:25:51 -06:00
2021-12-03 10:38:39 -06:00
2021-11-15 16:37:34 -06:00
2021-12-03 10:38:39 -06:00
2021-11-15 16:37:34 -06:00
2021-11-15 16:37:34 -06:00
2022-07-12 07:46:03 -05:00
2021-12-03 10:38:39 -06:00
2021-11-18 16:59:26 -06:00
2024-02-28 18:38:58 +00:00
2021-11-15 16:37:34 -06:00
2021-11-15 16:37:34 -06:00
2021-11-15 16:37:34 -06:00
2023-12-08 13:11:48 +00:00
2021-11-15 16:37:34 -06:00
2021-12-03 10:38:39 -06:00
2023-12-08 13:11:48 +00:00
2021-12-03 10:38:39 -06:00