1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2025-07-13 11:14:59 +03:00

v4.14-9529-beta

This commit is contained in:
dnobori
2015-02-02 18:54:00 +09:00
parent 3305046721
commit 64fd19e6f8
288 changed files with 373 additions and 324 deletions

View File

@ -1061,6 +1061,7 @@ bool PacketLog(HUB *hub, SESSION *src_session, SESSION *dest_session, PKT *packe
SERVER *s;
UINT syslog_setting;
bool no_log = false;
HUB_OPTION *opt = NULL;
// Validate arguments
if (hub == NULL || src_session == NULL || packet == NULL)
{
@ -1081,6 +1082,8 @@ bool PacketLog(HUB *hub, SESSION *src_session, SESSION *dest_session, PKT *packe
return true;
}
opt = hub->Option;
// Determine the logging level
level = CalcPacketLoggingLevel(hub, packet);
if (level == PACKET_LOG_NONE)
@ -1155,6 +1158,21 @@ bool PacketLog(HUB *hub, SESSION *src_session, SESSION *dest_session, PKT *packe
pl->DestSessionName = CopyStr("");
}
if (opt == NULL || opt->NoPhysicalIPOnPacketLog == false)
{
if (src_session != NULL && src_session->NormalClient)
{
StrCpy(pl->SrcPhysicalIP, sizeof(pl->SrcPhysicalIP), src_session->ClientIP);
}
if (dest_session != NULL && dest_session->NormalClient)
{
StrCpy(pl->DestPhysicalIP, sizeof(pl->DestPhysicalIP), dest_session->ClientIP);
}
pl->WritePhysicalIP = true;
}
if (src_session->LoggingRecordCount != NULL)
{
UINT n = 0;
@ -1493,6 +1511,10 @@ char *PacketLogParseProc(RECORD *rec)
// Generate each part
t = ZeroMalloc(sizeof(TOKEN_LIST));
t->NumTokens = 16;
if (pl->WritePhysicalIP)
{
t->NumTokens += 2;
}
t->Token = ZeroMalloc(sizeof(char *) * t->NumTokens);
// Source session
@ -2028,6 +2050,16 @@ char *PacketLogParseProc(RECORD *rec)
BinToStr(data, p->PacketSize * 2 + 1, p->PacketData, p->PacketSize);
t->Token[15] = data;
}
// Physical IP addresses
if (StrLen(pl->SrcPhysicalIP) != 0)
{
t->Token[16] = CopyStr(pl->SrcPhysicalIP);
}
if (StrLen(pl->DestPhysicalIP) != 0)
{
t->Token[17] = CopyStr(pl->DestPhysicalIP);
}
}
else
{