X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/980332313bffde590173f76fd006837e0c8f3bed..0907aa4037b12b6b88ee24495d4577a064d4f8db:/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp diff --git a/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp b/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp index 0c14c10f..3c79c1b1 100644 --- a/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp +++ b/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp @@ -21,7 +21,6 @@ #include "nfqueue.h" #include "stg/traffcounter.h" -#include "stg/plugin_creator.h" #include "stg/common.h" #include "stg/raw_ip_packet.h" @@ -45,8 +44,6 @@ extern "C" { namespace { -PLUGIN_CREATOR ncc; - int Callback(struct nfq_q_handle * queueHandle, struct nfgenmsg * /*msg*/, struct nfq_data * nfqData, void *data) { @@ -63,7 +60,7 @@ unsigned char * payload = NULL; if (nfq_get_payload(nfqData, &payload) < 0 || payload == NULL) return id; -RAW_PACKET packet; +STG::RawPacket packet; memcpy(&packet.rawPacket, payload, sizeof(packet.rawPacket)); @@ -76,13 +73,10 @@ return nfq_set_verdict(queueHandle, id, NF_ACCEPT, 0, NULL); } -extern "C" PLUGIN * GetPlugin(); -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -PLUGIN * GetPlugin() +extern "C" STG::Plugin* GetPlugin() { -return ncc.GetPlugin(); + static NFQ_CAP plugin; + return &plugin; } //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -99,7 +93,7 @@ NFQ_CAP::NFQ_CAP() nfqHandle(NULL), queueHandle(NULL), traffCnt(NULL), - logger(GetPluginLogger(GetStgLogger(), "cap_nfqueue")) + logger(STG::PluginLogger::get("cap_nfqueue")) { } //----------------------------------------------------------------------------- @@ -146,14 +140,14 @@ if (nfq_bind_pf(nfqHandle, AF_INET) < 0) queueHandle = nfq_create_queue(nfqHandle, queueNumber, &Callback, this); if (queueHandle == NULL) { - errorStr = "Failed to create queue " + x2str(queueNumber) + "."; + errorStr = "Failed to create queue " + std::to_string(queueNumber) + "."; logger(errorStr); return -1; } if (nfq_set_mode(queueHandle, NFQNL_COPY_PACKET, 0xffFF) < 0) { - errorStr = "Failed to set queue " + x2str(queueNumber) + " mode."; + errorStr = "Failed to set queue " + std::to_string(queueNumber) + " mode."; logger(errorStr); return -1; } @@ -246,7 +240,7 @@ dc->isRunning = false; return NULL; } //----------------------------------------------------------------------------- -void NFQ_CAP::Process(const RAW_PACKET & packet) +void NFQ_CAP::Process(const STG::RawPacket & packet) { -traffCnt->Process(packet); +traffCnt->process(packet); }