From 190eb2a763475f9d6a30c1b6382fe98f4ec57ec5 Mon Sep 17 00:00:00 2001 From: Henri Herscher Date: Sun, 23 Oct 2005 21:38:46 +0000 Subject: Default to the last OS returned network device when config file does not specify or specifies invalid network device git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@9 09dcff7a-b715-0410-9601-b79a96267cd0 --- orkaudio/audiocaptureplugins/voip/VoIp.cpp | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp index a5325b8..cb8fa9a 100644 --- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp +++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp @@ -367,6 +367,7 @@ void VoIp::Initialize() */ pcap_if_t* devices = NULL; + pcap_if_t* lastDevice = NULL; pcap_if_t* deviceToSniff = NULL; lastHooveringTime = time(NULL); @@ -388,12 +389,24 @@ void VoIp::Initialize() { deviceToSniff = device; } + if(device) + { + lastDevice = device; + } } if (!deviceToSniff) { - LOG4CXX_ERROR(s_log, CStdString("pcap could not find wanted device: ") + DLLCONFIG.m_device); + if(!DLLCONFIG.m_device.IsEmpty()) + { + LOG4CXX_ERROR(s_log, CStdString("pcap could not find wanted device: ") + DLLCONFIG.m_device + " please check your config file"); + } + if(lastDevice) + { + LOG4CXX_INFO(s_log, CStdString("Defaulting to device: ") + lastDevice->name); + deviceToSniff = lastDevice; + } } - else + if (deviceToSniff) { #define PROMISCUOUS 1 if ((m_pcapHandle = pcap_open_live(deviceToSniff->name, 1500, PROMISCUOUS, @@ -404,18 +417,6 @@ void VoIp::Initialize() else { LOG4CXX_INFO(s_log, CStdString("successfully opened device: ") + deviceToSniff->name); - - //unsigned int netMask = 0xffffff; - //if(deviceToSniff->addresses != NULL) - //{ - // netMask=((struct sockaddr_in *)(device->addresses->netmask))->sin_addr.s_addr; - //} - - //struct bpf_program program; - //if (pcap_compile(m_pcapHandle, &program, "ip proto icmp", 1, 0xffffffff) < 0) - //{ - // LOG4CXX_ERROR(s_log, CStdString("unable to compile pcap filter")); - //} } } } -- cgit v1.2.3