If we receive an SDP with a DTLS fingerprint, by default we adopt the
hash function used for that fingerprint in subsequent communication with
that peer. However, if the SDP is an answer, and we previously used a
different hash function in the offer towards that peer, then a later
re-invite offer would be sent with a different fingerprint, causing an
unexpected DTLS restart. Instead, make sure we don't change fingerprints
if one was already sent.
Change-Id: I603bb86ce2d7121556c161749ed08128dd0b63b2
We simplify the function so that we do not need to meddle with pointers
and data sizes.
Change-Id: I3e653b44b28347053cc7a1053de8220c80250816
Warned-by: lgtm
While the code is not threaded, better be future-proof and use safer
APIs, which in addition has less side-effects as it does not set the
global TZ related variables.
Also check for failures.
Change-Id: I083d2b5ad6901ac1a91d42d1ab7fe3e0989b02a0
Warned-by: lgtm
The ntohs() function returns uint16_t, which will always fit within an
int (including in excess for the signed bit) on the platform we support.
Thus the check for negative values is never going to hit.
Change-Id: Ie9d5bcfe5709c50260098f91ff111755ded72921
Warned-by: lgtm
The tracker.most array is of unsigned char, so pt which gets
unconditionally assigned will always be >= 0.
Change-Id: I8adc06fc6c65aa0e33ef6614eb77c67b0dc07517
Warned-by: lgtm
Whether a bit-field is signed or unsigned is implementation specific, so
we should be explicit about this.
Change-Id: I744df3d24bc08e95fa816ba4135f19cd3a5dcb17
Warned-by: lgtm
Reorder the shutdown cleanup calls so that option strings are freed
last, as they may be used by other components during shutdown cleanup
Change-Id: I297f6d0c3dbbb22c4d34d7866844824c8d97e940
While these usages are not supposed to be security sensitive, it's still
best to avoid the usage altogether so that we do not need to think about
it. Add a taint macro so that this does not regress in the future.
Change-Id: Ic75861ed1b7ce9dfca4f897de8be2408204ce3cb
Warned-by: coverity
Rename test suites from *-test.c to test-*.c as the former is
conflicting with the file name pattern of the build tests, which are
listed in .gitignore.
Change-Id: I8779fac492510c0996bdcb2c6250c07536fe3b63
__rtp_payload_type_add_recv takes ownership of `pt` and potentially
freeds it. Move the call to the end of the code block, after we're done
using it.
Change-Id: I5591cd6b22295ddcd6801e2bbbb381bff403fea8
Avoid using an explicit test for the trickle ICE endpoint address and
instead use the TRICKLE_ICE flag.
Change-Id: I821ced7e77c798004c9d88ec072848b7f6e24a85
Make the websocket_conn_init() function return an error code, and delay
the initialization after we cannot fail. And otherwise return -1, such
as when we cannot initialize the HTTP nor SSL connection.
Change-Id: I0facd53560fdb06678d7df9775be277e5c4b2cae
Warned-by: coverity