From 05491bf582c661debe409397b511c16442ce247d Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Sat, 18 Dec 2010 17:14:42 +0200 Subject: [PATCH] =?utf8?q?=D0=92=D0=B8=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=BE?= =?utf8?q?=20=D1=81=D0=BC=D1=96=D1=82=D1=82=D1=8F=20=D1=89=D0=BE=20=D0=B7?= =?utf8?q?=D0=B0=D0=BB=D0=B8=D1=88=D0=B8=D0=BB=D0=BE=D1=81=D1=8C=20=D0=B2?= =?utf8?q?=D1=96=D0=B4=20=D1=80=D0=BE=D0=B1=D0=BE=D1=82=D0=B8=20CVS?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../capture/ipq_linux/.#ipq_cap.cpp.1.3 | 190 ------------------ 1 file changed, 190 deletions(-) delete mode 100644 projects/stargazer/plugins/capture/ipq_linux/.#ipq_cap.cpp.1.3 diff --git a/projects/stargazer/plugins/capture/ipq_linux/.#ipq_cap.cpp.1.3 b/projects/stargazer/plugins/capture/ipq_linux/.#ipq_cap.cpp.1.3 deleted file mode 100644 index de2f39be..00000000 --- a/projects/stargazer/plugins/capture/ipq_linux/.#ipq_cap.cpp.1.3 +++ /dev/null @@ -1,190 +0,0 @@ -#include -#include -#include - -#include "ipq_cap.h" -#include "raw_ip_packet.h" -#include "libipq.h" - -class IPQ_CAP_CREATOR -{ -private: - IPQ_CAP * ic; - -public: - IPQ_CAP_CREATOR() - { - printf("constructor IPQ_CAP_CREATOR\n"); - ic = new IPQ_CAP(); - }; - ~IPQ_CAP_CREATOR() - { - printf("destructor IPQ_CAP_CREATOR\n"); - if (ic) - delete ic; - }; - - BASE_PLUGIN * GetCapturer() - { - return ic; - }; -}; -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -IPQ_CAP_CREATOR icc; -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -BASE_PLUGIN * GetPlugin() -{ -return icc.GetCapturer(); -} -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -const string IPQ_CAP::GetVersion() const -{ -return "ipq_cap v.1.1"; -} -//----------------------------------------------------------------------------- -IPQ_CAP::IPQ_CAP() -{ -isRunning = false; -nonstop = false; -} -//----------------------------------------------------------------------------- -void IPQ_CAP::SetTraffcounter(TRAFFCOUNTER * tc) -{ -traffCnt = tc; -} -//----------------------------------------------------------------------------- -const string & IPQ_CAP::GetStrError() const -{ -return errorStr; -} -//----------------------------------------------------------------------------- -int IPQ_CAP::Start() -{ -if (isRunning) - return 0; -printfd(__FILE__, "IPQ_CAP::Start()\n"); -if (IPQCapOpen() < 0) - { - errorStr = "Cannot open socket!"; - return -1; - } -nonstop = true; -if (pthread_create(&thread, NULL, Run, this) == 0) - { - return 0; - } -errorStr = "Cannot create thread."; -return -1; -} -//----------------------------------------------------------------------------- -int IPQ_CAP::Stop() -{ -if (!isRunning) - return 0; -IPQCapClose(); -nonstop = false; -//5 seconds to thread stops itself -for (int i = 0; i < 25; i++) - { - if (!isRunning) - break; - usleep(200000); - } -//after 5 seconds waiting thread still running. now killing it -if (isRunning) - { - if (pthread_kill(thread, SIGINT)) - { - errorStr = "Cannot kill thread."; - return -1; - } - } -return 0; -} -//----------------------------------------------------------------------------- -bool IPQ_CAP::IsRunning() -{ -return isRunning; -} -//----------------------------------------------------------------------------- -void * IPQ_CAP::Run(void * d) -{ -RAW_PACKET raw_packet; -int status; - -sleep(2); -IPQ_CAP * dc = (IPQ_CAP *)d; -dc->isRunning = true; -memset(&raw_packet, 0, sizeof(raw_packet)); -raw_packet.dataLen = -1; -while (dc->nonstop) - { - status=dc->IPQCapRead(&raw_packet, 68); - if(status==-1||status==-2) - continue; - dc->traffCnt->Process(raw_packet); - } -dc->isRunning = false; -return NULL; -} -//----------------------------------------------------------------------------- -uint16_t IPQ_CAP::GetStartPosition() const -{ -return 0; -} -//----------------------------------------------------------------------------- -uint16_t IPQ_CAP::GetStopPosition() const -{ -return 0; -} -//----------------------------------------------------------------------------- -int IPQ_CAP::IPQCapOpen() -{ -int status; - -ipq_h = ipq_create_handle(0, PF_INET); -if (ipq_h == NULL) - { - ipq_destroy_handle(ipq_h); - errorStr = "Cannot create ipq handle!"; - return -1; - } -status = ipq_set_mode(ipq_h, IPQ_COPY_PACKET, PAYLOAD_LEN); -if (status < 0) - { - ipq_destroy_handle(ipq_h); - errorStr = "Cannot set IPQ_COPY_PACKET mode!"; - return -1; - } -return 0; -} -//----------------------------------------------------------------------------- -int IPQ_CAP::IPQCapClose() -{ -ipq_destroy_handle(ipq_h); -return 0; -} -//----------------------------------------------------------------------------- -int IPQ_CAP::IPQCapRead(void * buffer, int blen) -{ -int status; -static ipq_packet_msg_t *m; - -memset(buf, 0, BUFSIZE); -status = ipq_read(ipq_h, buf, BUFSIZE, 0); -if (status < 0) - return -1; -if (ipq_message_type(buf) != IPQM_PACKET) - return -2; -m = ipq_get_packet(buf); -memcpy(buffer, m->payload, blen); -ipq_set_verdict(ipq_h, m->packet_id, NF_ACCEPT, 0, NULL); -return 0; -} -//----------------------------------------------------------------------------- -- 2.44.2