|
|
|
|
@ -1726,7 +1726,7 @@ static void __fill_stream(struct packet_stream *ps, const struct endpoint *ep, u
|
|
|
|
|
ps->endpoint = *ep;
|
|
|
|
|
ps->endpoint.port += port_off;
|
|
|
|
|
/* we reset crypto params whenever the endpoint changes */
|
|
|
|
|
if (memcmp(&ps->advertised_endpoint, &ps->endpoint, sizeof(ps->endpoint))) {
|
|
|
|
|
if (PS_ISSET(ps, FILLED) && memcmp(&ps->advertised_endpoint, &ps->endpoint, sizeof(ps->endpoint))) {
|
|
|
|
|
crypto_reset(&ps->crypto);
|
|
|
|
|
dtls_shutdown(ps);
|
|
|
|
|
}
|
|
|
|
|
@ -2016,8 +2016,10 @@ static void __fingerprint_changed(struct call_media *m) {
|
|
|
|
|
GList *l;
|
|
|
|
|
struct packet_stream *ps;
|
|
|
|
|
|
|
|
|
|
if (m->fingerprint.hash_func)
|
|
|
|
|
ilog(LOG_INFO, "DTLS fingerprint changed, restarting DTLS");
|
|
|
|
|
if (!m->fingerprint.hash_func)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
ilog(LOG_INFO, "DTLS fingerprint changed, restarting DTLS");
|
|
|
|
|
|
|
|
|
|
for (l = m->streams.head; l; l = l->next) {
|
|
|
|
|
ps = l->data;
|
|
|
|
|
|