]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[core] Invalidate received encrypted RTCP packet if we can't decrypt it. rtp_skip_timer 2875/head
authorDmitry Verenitsin <morbit85@gmail.com>
Wed, 30 Jul 2025 13:40:46 +0000 (18:40 +0500)
committerDmitry Verenitsin <morbit85@gmail.com>
Fri, 1 Aug 2025 13:08:04 +0000 (18:08 +0500)
src/switch_rtp.c

index ffda1737529103eea2ef84232c3c2fb917d2eca7..403652a0214c39a224f172159341921a84a85c36 100644 (file)
@@ -6104,11 +6104,16 @@ static switch_status_t read_rtp_packet(switch_rtp_t *rtp_session, switch_size_t
                                        if (stat) {
                                                //++rtp_session->srtp_errs[rtp_session->srtp_idx_rtp]++;
                                                switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_ERROR, "RTCP UNPROTECT ERR\n");
+                                               sbytes = 0;
                                        } else {
                                                //rtp_session->srtp_errs[rtp_session->srtp_idx_rtp] = 0;
                                        }
 
-                                       *bytes = sbytes;
+                                       if (sbytes > 0) {
+                                               *bytes = sbytes;
+                                       } else {
+                                               invalidate_received_packet(rtp_session, bytes);
+                                       }
                                }
 #endif
                                switch_mutex_unlock(rtp_session->ice_mutex);