]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_rtp_asterisk: Prevent simultaneous access to DTLS SSL context. 87/787/5
authorJoshua Colp <jcolp@digium.com>
Wed, 1 Jul 2015 12:55:47 +0000 (09:55 -0300)
committerJoshua Colp <jcolp@digium.com>
Tue, 7 Jul 2015 19:29:50 +0000 (16:29 -0300)
commit05e8e1498207055374312f43fb80fcf0b9d5ab45
tree95297a4f14ef33474613be14961fff6f95ec4a36
parentcba550df7aea4fdac8a182215ddacb555824e088
res_rtp_asterisk: Prevent simultaneous access to DTLS SSL context.

This change moves logic for setting up the DTLS SSL contexts to
when the SDP is done being processed instead of when ICE negotiation
completes. It also stops handshakes from being initiated when we
are acting as a server.

Manipulating the SSL context when ICE negotiation has completed
is problematic as the SSL context is not protected and if acting
as a client the remote side may have started DTLS negotiation
already.

The retransmission timeout timer code has also been split up
and simplified some. Both RTP and RTCP now have their own timers
and the points at which the timer is stopped and started is now
more specific. When a packet is sent the timer is started. When
a response is received but before it is processed the timer is
stopped. This provides a guarantee that the timeout is not
occurring while the response is processed.

ASTERISK-22805 #close
ASTERISK-24550 #close
ASTERISK-24651 #close
ASTERISK-24832 #close
ASTERISK-25103 #close
ASTERISK-25127 #close

Change-Id: Ib75ea2546f29d6efc3d2d37c58df6986c7bd9b91
res/res_rtp_asterisk.c