|
|
|
|
@ -1348,15 +1348,18 @@ static void __generate_crypto(const struct sdp_ng_flags *flags, struct call_medi
|
|
|
|
|
MEDIA_CLEAR(this, SETUP_PASSIVE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!MEDIA_ARESET2(this, DTLS, SDES) && flags->opmode == OP_OFFER) {
|
|
|
|
|
/* we offer both DTLS and SDES by default */
|
|
|
|
|
/* unless this is overridden by flags */
|
|
|
|
|
if (!flags->dtls_off)
|
|
|
|
|
MEDIA_SET(this, DTLS);
|
|
|
|
|
if (!flags->sdes_off)
|
|
|
|
|
MEDIA_SET(this, SDES);
|
|
|
|
|
else
|
|
|
|
|
goto skip_sdes;
|
|
|
|
|
if (flags->opmode == OP_OFFER) {
|
|
|
|
|
// if neither is enabled yet...
|
|
|
|
|
if (!MEDIA_ISSET2(this, DTLS, SDES)) {
|
|
|
|
|
/* we offer both DTLS and SDES by default */
|
|
|
|
|
/* unless this is overridden by flags */
|
|
|
|
|
if (!flags->dtls_off)
|
|
|
|
|
MEDIA_SET(this, DTLS);
|
|
|
|
|
if (!flags->sdes_off)
|
|
|
|
|
MEDIA_SET(this, SDES);
|
|
|
|
|
else
|
|
|
|
|
goto skip_sdes;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
/* if both SDES and DTLS are supported, we may use the flags to select one
|
|
|
|
|
|