summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2006-03-29 21:18:10 +0000
committerHenri Herscher <henri@oreka.org>2006-03-29 21:18:10 +0000
commit15808b4c81e4373c71456ba66e2cdfd41b292e94 (patch)
tree821b7cf03f9818655a5606fe707ed3414514a107
parenta6750925f6425e83aeadbcc20a288a539799af1d (diff)
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
-rw-r--r--orkaudio/audiocaptureplugins/voip/RtpSession.cpp8
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp10
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);
}