mirror of
https://github.com/zeek/zeek.git
synced 2025-10-12 03:28:19 +00:00
Merge remote-tracking branch 'origin/master' into topic/robin/log-threads
Conflicts: src/LogMgr.h src/RemoteSerializer.cc src/logging/Manager.cc src/logging/writers/Ascii.cc src/net_util.cc
This commit is contained in:
commit
d24cdd3ba3
139 changed files with 2562 additions and 2113 deletions
|
@ -30,6 +30,12 @@ Value::~Value()
|
|||
&& present )
|
||||
delete val.string_val;
|
||||
|
||||
if ( type == TYPE_ADDR && present )
|
||||
delete val.addr_val;
|
||||
|
||||
if ( type == TYPE_SUBNET && present )
|
||||
delete val.subnet_val;
|
||||
|
||||
if ( type == TYPE_TABLE && present )
|
||||
{
|
||||
for ( int i = 0; i < val.set_val.size; i++ )
|
||||
|
@ -147,41 +153,14 @@ bool Value::Read(SerializationFormat* fmt)
|
|||
|
||||
case TYPE_SUBNET:
|
||||
{
|
||||
uint32 net[4];
|
||||
if ( ! (fmt->Read(&net[0], "net0") &&
|
||||
fmt->Read(&net[1], "net1") &&
|
||||
fmt->Read(&net[2], "net2") &&
|
||||
fmt->Read(&net[3], "net3") &&
|
||||
fmt->Read(&val.subnet_val.width, "width")) )
|
||||
return false;
|
||||
|
||||
#ifdef BROv6
|
||||
val.subnet_val.net[0] = net[0];
|
||||
val.subnet_val.net[1] = net[1];
|
||||
val.subnet_val.net[2] = net[2];
|
||||
val.subnet_val.net[3] = net[3];
|
||||
#else
|
||||
val.subnet_val.net = net[0];
|
||||
#endif
|
||||
return true;
|
||||
val.subnet_val = new IPPrefix;
|
||||
return fmt->Read(val.subnet_val, "subnet");
|
||||
}
|
||||
|
||||
case TYPE_ADDR:
|
||||
{
|
||||
uint32 addr[4];
|
||||
if ( ! (fmt->Read(&addr[0], "addr0") &&
|
||||
fmt->Read(&addr[1], "addr1") &&
|
||||
fmt->Read(&addr[2], "addr2") &&
|
||||
fmt->Read(&addr[3], "addr3")) )
|
||||
return false;
|
||||
|
||||
val.addr_val[0] = addr[0];
|
||||
#ifdef BROv6
|
||||
val.addr_val[1] = addr[1];
|
||||
val.addr_val[2] = addr[2];
|
||||
val.addr_val[3] = addr[3];
|
||||
#endif
|
||||
return true;
|
||||
val.addr_val = new IPAddr;
|
||||
return fmt->Read(val.addr_val, "addr");
|
||||
}
|
||||
|
||||
case TYPE_DOUBLE:
|
||||
|
@ -263,40 +242,10 @@ bool Value::Write(SerializationFormat* fmt) const
|
|||
return fmt->Write(val.port_val.port, "port") && fmt->Write(val.port_val.proto, "proto");
|
||||
|
||||
case TYPE_SUBNET:
|
||||
{
|
||||
uint32 net[4];
|
||||
#ifdef BROv6
|
||||
net[0] = val.subnet_val.net[0];
|
||||
net[1] = val.subnet_val.net[1];
|
||||
net[2] = val.subnet_val.net[2];
|
||||
net[3] = val.subnet_val.net[3];
|
||||
#else
|
||||
net[0] = val.subnet_val.net;
|
||||
net[1] = net[2] = net[3] = 0;
|
||||
#endif
|
||||
return fmt->Write(net[0], "net0") &&
|
||||
fmt->Write(net[1], "net1") &&
|
||||
fmt->Write(net[2], "net2") &&
|
||||
fmt->Write(net[3], "net3") &&
|
||||
fmt->Write(val.subnet_val.width, "width");
|
||||
}
|
||||
return fmt->Write(*val.subnet_val, "subnet");
|
||||
|
||||
case TYPE_ADDR:
|
||||
{
|
||||
uint32 addr[4];
|
||||
addr[0] = val.addr_val[0];
|
||||
#ifdef BROv6
|
||||
addr[1] = val.addr_val[1];
|
||||
addr[2] = val.addr_val[2];
|
||||
addr[3] = val.addr_val[3];
|
||||
#else
|
||||
addr[1] = addr[2] = addr[3] = 0;
|
||||
#endif
|
||||
return fmt->Write(addr[0], "addr0") &&
|
||||
fmt->Write(addr[1], "addr1") &&
|
||||
fmt->Write(addr[2], "addr2") &&
|
||||
fmt->Write(addr[3], "addr3");
|
||||
}
|
||||
return fmt->Write(*val.addr_val, "addr");
|
||||
|
||||
case TYPE_DOUBLE:
|
||||
case TYPE_TIME:
|
||||
|
|
|
@ -70,12 +70,12 @@ struct Value {
|
|||
bro_int_t int_val;
|
||||
bro_uint_t uint_val;
|
||||
port_t port_val;
|
||||
uint32 addr_val[NUM_ADDR_WORDS];
|
||||
subnet_type subnet_val;
|
||||
double double_val;
|
||||
string* string_val;
|
||||
set_t set_val;
|
||||
vec_t vector_val;
|
||||
IPAddr* addr_val;
|
||||
IPPrefix* subnet_val;
|
||||
string* string_val;
|
||||
} val;
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue