Skip to content

Commit

Permalink
[Core] Reject DTLS packets coming from a source different than the cu…
Browse files Browse the repository at this point in the history
…rrent ICE negotiated path.
  • Loading branch information
jakubkarolczyk committed Dec 21, 2023
1 parent 623f617 commit 6ea8c96
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/switch_rtp.c
Original file line number Diff line number Diff line change
Expand Up @@ -3374,7 +3374,20 @@ static int do_dtls(switch_rtp_t *rtp_session, switch_dtls_t *dtls)
return 0;
}

if (is_ice && !rtp_session->ice.cand_responsive) {
if (is_ice && !(rtp_session->ice.type & ICE_LITE) && !rtp_session->ice.cand_responsive) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG6, "Got DTLS packet but candidate is not responsive\n");

return 0;
}

if (is_ice && !switch_cmp_addr(rtp_session->from_addr, rtp_session->ice.addr, SWITCH_TRUE)) {
char tmp_buf1[80] = "";
char tmp_buf2[80] = "";
const char *host_from = switch_get_addr(tmp_buf1, sizeof(tmp_buf1), rtp_session->from_addr);
const char *host_ice_cur_addr = switch_get_addr(tmp_buf2, sizeof(tmp_buf2), rtp_session->ice.addr);

switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG5, "Got DTLS packet from [%s] whilst current ICE negotiated address is [%s]. Ignored.\n", host_from, host_ice_cur_addr);

return 0;
}

Expand Down

0 comments on commit 6ea8c96

Please sign in to comment.