Logging fixes.

- Now compiles in v6 mode.

- Loading logging.bif.*bro* in logging.bro for consistency.
This commit is contained in:
Robin Sommer 2011-04-21 18:50:11 -07:00
parent f945bd5b7f
commit 5fba6d144e
3 changed files with 20 additions and 13 deletions

View file

@ -138,7 +138,7 @@ export {
# We keep a script-level copy of all filters so that we can manipulate them. # We keep a script-level copy of all filters so that we can manipulate them.
global filters: table[ID, string] of Filter; global filters: table[ID, string] of Filter;
@load logging.bif # Needs Filter and Stream defined. @load logging.bif.bro # Needs Filter and Stream defined.
module Log; module Log;

View file

@ -212,13 +212,11 @@ bool LogVal::Read(SerializationFormat* fmt)
fmt->Read(&addr[3], "addr3")) ) fmt->Read(&addr[3], "addr3")) )
return false; return false;
#ifdef BROv6
val.addr_val[0] = addr[0]; val.addr_val[0] = addr[0];
#ifdef BROv6
val.addr_val[1] = addr[1]; val.addr_val[1] = addr[1];
val.addr_val[2] = addr[2]; val.addr_val[2] = addr[2];
val.addr_val[3] = addr[3]; val.addr_val[3] = addr[3];
#else
val.addr_val = addr[0];
#endif #endif
return true; return true;
} }
@ -300,10 +298,13 @@ bool LogVal::Write(SerializationFormat* fmt) const
case TYPE_SUBNET: case TYPE_SUBNET:
{ {
#ifdef BROv6
uint32* net = val.subnet_val;
#else
uint32 net[4]; 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[0] = val.subnet_val.net;
net[1] = net[2] = net[3] = 0; net[1] = net[2] = net[3] = 0;
#endif #endif
@ -317,11 +318,13 @@ bool LogVal::Write(SerializationFormat* fmt) const
case TYPE_NET: case TYPE_NET:
case TYPE_ADDR: case TYPE_ADDR:
{ {
#ifdef BROv6
uint32* addr = val.addr_val;
#else
uint32 addr[4]; uint32 addr[4];
addr[0] = val.addr_val; 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; addr[1] = addr[2] = addr[3] = 0;
#endif #endif
return fmt->Write(addr[0], "addr0") && return fmt->Write(addr[0], "addr0") &&
@ -997,7 +1000,11 @@ LogVal* LogMgr::ValToLogVal(Val* val, BroType* ty)
case TYPE_ADDR: case TYPE_ADDR:
{ {
addr_type t = val->AsAddr(); addr_type t = val->AsAddr();
copy_addr(&t, &lval->val.addr_val); #ifdef BROv6
copy_addr(t, lval->val.addr_val);
#else
copy_addr(&t, lval->val.addr_val);
#endif
break; break;
} }

View file

@ -38,7 +38,7 @@ struct LogVal {
union _val { union _val {
bro_int_t int_val; bro_int_t int_val;
bro_uint_t uint_val; bro_uint_t uint_val;
addr_type addr_val; uint32 addr_val[NUM_ADDR_WORDS];
subnet_type subnet_val; subnet_type subnet_val;
double double_val; double double_val;
string* string_val; string* string_val;