From 15808b4c81e4373c71456ba66e2cdfd41b292e94 Mon Sep 17 00:00:00 2001 From: Henri Herscher Date: Wed, 29 Mar 2006 21:18:10 +0000 Subject: now cast all strutct in_addr.s_addr to unsigned int before comparing. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@206 09dcff7a-b715-0410-9601-b79a96267cd0 --- orkaudio/audiocaptureplugins/voip/RtpSession.cpp | 8 ++++---- orkaudio/audiocaptureplugins/voip/VoIp.cpp | 10 ++++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp index 28e1c37..0c194e3 100644 --- a/orkaudio/audiocaptureplugins/voip/RtpSession.cpp +++ b/orkaudio/audiocaptureplugins/voip/RtpSession.cpp @@ -146,13 +146,13 @@ void RtpSession::ProcessMetadataSip(RtpPacketInfoRef& rtpPacket) bool done = false; // work out invitee IP address - if(rtpPacket->m_sourceIp.s_addr == m_invitorIp.s_addr) + if((unsigned int)rtpPacket->m_sourceIp.s_addr == (unsigned int)m_invitorIp.s_addr) { m_inviteeIp = rtpPacket->m_destIp; m_inviteeTcpPort = rtpPacket->m_destPort; m_invitorTcpPort = rtpPacket->m_sourcePort; } - else if(rtpPacket->m_destIp.s_addr == m_invitorIp.s_addr) + else if((unsigned int)rtpPacket->m_destIp.s_addr == (unsigned int)m_invitorIp.s_addr) { m_inviteeIp = rtpPacket->m_sourceIp; m_inviteeTcpPort = rtpPacket->m_sourcePort; @@ -275,7 +275,7 @@ void RtpSession::AddRtpPacket(RtpPacketInfoRef& rtpPacket) } else { - if(rtpPacket->m_sourceIp.s_addr == m_lastRtpPacketSide1->m_sourceIp.s_addr) + if((unsigned int)rtpPacket->m_sourceIp.s_addr == (unsigned int)m_lastRtpPacketSide1->m_sourceIp.s_addr) { m_lastRtpPacketSide1 = rtpPacket; channel = 1; @@ -526,7 +526,7 @@ void RtpSessions::ReportSkinnyStartMediaTransmission(SkStartMediaTransmissionStr { RtpSessionRef tmpSession = pair->second; - if(tmpSession->m_endPointIp.s_addr == ipHeader->ip_dest.s_addr) + if((unsigned int)tmpSession->m_endPointIp.s_addr == (unsigned int)ipHeader->ip_dest.s_addr) { if(tmpSession->m_ipAndPort.size() == 0) { diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp index f9124c8..96e7349 100644 --- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp +++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp @@ -222,6 +222,7 @@ bool TrySipBye(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader, U bool TrySipInvite(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader, UdpHeaderStruct* udpHeader, u_char* udpPayload) { bool result = false; + bool drop = false; if (memcmp("INVITE", (void*)udpPayload, 6) == 0) { result = true; @@ -298,16 +299,21 @@ bool TrySipInvite(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader if(ACE_OS::inet_aton((PCSTR)connectionAddress, &fromIp)) { info->m_fromIp = fromIp; + + //if((unsigned int)fromIp.s_addr != (unsigned int)ipHeader->ip_src.s_addr) + //{ + // drop =true; + //} } } } - if(info->m_fromIp.s_addr == 0) + if((unsigned int)info->m_fromIp.s_addr == 0) { // In case connection address could not be extracted, use SIP invite sender IP address info->m_fromIp = ipHeader->ip_src; } - if(info->m_fromRtpPort.size() && info->m_from.size() && info->m_to.size() && info->m_callId.size()) + if(drop ==false && info->m_fromRtpPort.size() && info->m_from.size() && info->m_to.size() && info->m_callId.size()) { RtpSessionsSingleton::instance()->ReportSipInvite(info); } -- cgit v1.2.3