X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/c963a109219ed101fa42f501b16f90d7b7b4f3f2..787a77a3734b3a0be0cc58cebc9a350f078a0b8b:/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp?ds=sidebyside diff --git a/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp b/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp index 0e0204da..3d6c55b5 100644 --- a/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp +++ b/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp @@ -39,33 +39,17 @@ $Author: faust $ #include -#include "common.h" +#include "stg/common.h" +#include "stg/raw_ip_packet.h" +#include "stg/traffcounter.h" +#include "stg/plugin_creator.h" #include "cap_nf.h" -#include "raw_ip_packet.h" -#include "../../../traffcounter.h" - -class CAP_NF_CREATOR -{ -public: - CAP_NF_CREATOR() - : nf(new NF_CAP()) - { - }; - - ~CAP_NF_CREATOR() - { - delete nf; - }; - - NF_CAP * GetCapturer() { return nf; }; -private: - NF_CAP * nf; -} cnc; +PLUGIN_CREATOR cnc; PLUGIN * GetPlugin() { -return cnc.GetCapturer(); +return cnc.GetPlugin(); } NF_CAP::NF_CAP() @@ -280,9 +264,6 @@ while (cap->runningUDP) continue; } - - // Wrong logic! - // Need to check actual data length and wait all data to receive if (res < 24) { if (errno != EINTR) @@ -392,14 +373,6 @@ for (int i = 0; i < packets; ++i) { NF_DATA * data = reinterpret_cast(buf + 24 + i * 48); - /*ip.pckt[0] = 4 << 4; - ip.pckt[0] |= 5; - ip.pckt[9] = data->proto; - ip.dataLen = ntohl(data->octets); - *(uint32_t *)(ip.pckt + 12) = data->srcAddr; - *(uint32_t *)(ip.pckt + 16) = data->dstAddr; - *(uint16_t *)(ip.pckt + 20) = data->srcPort; - *(uint16_t *)(ip.pckt + 22) = data->dstPort;*/ ip.header.ipHeader.ip_v = 4; ip.header.ipHeader.ip_hl = 5; ip.header.ipHeader.ip_p = data->proto;