From 79f8e133f1b9dbea036c9c6662866e4d1612e34c Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 9 Jun 2006 00:40:04 +0000 Subject: [PATCH] just in case make autoadj harder for spoofers git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1580 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_rtp.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index a9661a5b76..db378db20f 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -787,19 +787,21 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ if (rtp_session->recv_msg.header.version) { - if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_AUTOADJ) && rtp_session->from_addr->port && - (rtp_session->from_addr->port != rtp_session->remote_port)) { - const char *err; - char *tx_host; - uint32_t old = rtp_session->remote_port; - char *old_host; + if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_AUTOADJ) && rtp_session->from_addr->port) { + if ((rtp_session->from_addr->port != rtp_session->remote_port)) { + const char *err; + char *tx_host; + uint32_t old = rtp_session->remote_port; + char *old_host; - switch_sockaddr_ip_get(&tx_host, rtp_session->from_addr); - switch_sockaddr_ip_get(&old_host, rtp_session->remote_addr); - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Auto Changing port from %s:%u to %s:%u\n", - old_host, old, tx_host, rtp_session->from_addr->port); - switch_rtp_set_remote_address(rtp_session, tx_host, rtp_session->from_addr->port, &err); + switch_sockaddr_ip_get(&tx_host, rtp_session->from_addr); + switch_sockaddr_ip_get(&old_host, rtp_session->remote_addr); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Auto Changing port from %s:%u to %s:%u\n", + old_host, old, tx_host, rtp_session->from_addr->port); + switch_rtp_set_remote_address(rtp_session, tx_host, rtp_session->from_addr->port, &err); + } + switch_clear_flag(rtp_session, SWITCH_RTP_FLAG_AUTOADJ); } }