git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Stop plugins before stopping core.
[stg.git]
/
projects
/
stargazer
/
plugins
/
capture
/
divert_freebsd
/
divert_cap.cpp
diff --git
a/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
b/projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
index 96476d4e204027ee8f1d556f7dc54544a52489d8..aebca0592bb2ad970e9351b1963985eccda068ac 100644
(file)
--- a/
projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
+++ b/
projects/stargazer/plugins/capture/divert_freebsd/divert_cap.cpp
@@
-80,15
+80,12
@@
return dcc.GetPlugin();
//-----------------------------------------------------------------------------
std::string DIVERT_CAP::GetVersion() const
{
//-----------------------------------------------------------------------------
std::string DIVERT_CAP::GetVersion() const
{
-return "
Divert_cap
v.1.0";
+return "
cap_divert
v.1.0";
}
//-----------------------------------------------------------------------------
DIVERT_CAP::DIVERT_CAP()
}
//-----------------------------------------------------------------------------
DIVERT_CAP::DIVERT_CAP()
- : settings(),
- port(0),
+ : port(0),
disableForwarding(false),
disableForwarding(false),
- errorStr(),
- thread(),
nonstop(false),
isRunning(false),
traffCnt(NULL),
nonstop(false),
isRunning(false),
traffCnt(NULL),
@@
-147,7
+144,7
@@
if (isRunning)
if (pthread_kill(thread, SIGINT))
{
errorStr = "Cannot kill thread.";
if (pthread_kill(thread, SIGINT))
{
errorStr = "Cannot kill thread.";
- logger("Cannot send signal to thread.");
+
logger("Cannot send signal to thread.");
printfd(__FILE__, "Cannot kill thread\n");
return -1;
}
printfd(__FILE__, "Cannot kill thread\n");
return -1;
}
@@
-165,11
+162,11
@@
pthread_sigmask(SIG_BLOCK, &signalSet, NULL);
DIVERT_CAP * dc = static_cast<DIVERT_CAP *>(d);
dc->isRunning = true;
DIVERT_CAP * dc = static_cast<DIVERT_CAP *>(d);
dc->isRunning = true;
-char buffer[
6
4];
+char buffer[
pcktSize + 1
4];
while (dc->nonstop)
{
RAW_PACKET rp;
while (dc->nonstop)
{
RAW_PACKET rp;
- dc->DivertCapRead(buffer,
64
, NULL);
+ dc->DivertCapRead(buffer,
sizeof(buffer)
, NULL);
if (buffer[12] != 0x8)
continue;
if (buffer[12] != 0x8)
continue;
@@
-262,10
+259,10
@@
if ((bytes = recvfrom (cddiv.sock, buf, BUFF_LEN,
*iface = cddiv.iface;
if (!disableForwarding)
*iface = cddiv.iface;
if (!disableForwarding)
- {
+
{
if (sendto(cddiv.sock, buf, bytes, 0, (struct sockaddr*)&divertaddr, divertaddrSize) < 0)
if (sendto(cddiv.sock, buf, bytes, 0, (struct sockaddr*)&divertaddr, divertaddrSize) < 0)
- logger("sendto error: %s", strerror(errno));
- }
+
logger("sendto error: %s", strerror(errno));
+
}
}
else
{
}
else
{
@@
-290,7
+287,7
@@
std::vector<PARAM_VALUE>::const_iterator pvi;
pv.param = "Port";
pvi = std::find(settings.moduleParams.begin(), settings.moduleParams.end(), pv);
pv.param = "Port";
pvi = std::find(settings.moduleParams.begin(), settings.moduleParams.end(), pv);
-if (pvi == settings.moduleParams.end())
+if (pvi == settings.moduleParams.end()
|| pvi->value.empty()
)
{
p = 15701;
}
{
p = 15701;
}
@@
-306,7
+303,7
@@
port = p;
bool d = false;
pv.param = "DisableForwarding";
pvi = std::find(settings.moduleParams.begin(), settings.moduleParams.end(), pv);
bool d = false;
pv.param = "DisableForwarding";
pvi = std::find(settings.moduleParams.begin(), settings.moduleParams.end(), pv);
-if (pvi == settings.moduleParams.end())
+if (pvi == settings.moduleParams.end()
|| pvi->value.empty()
)
{
disableForwarding = false;
}
{
disableForwarding = false;
}