zeek/testing/btest/scripts/base/frameworks/logging/field-extension-table.bro
Johanna Amann 6e769db23b Log extensions: series of small fixes and new tests.
The extensions now work with optional types, as well with complex types
(like subrecords). Not returning a record in the ext_func no longer
crashes bro.

The default_ext_func was switched to return void in
cases where no extension revord is defined (was bool).

I also got rid of the offsets in the indices - with the rest of the
implementation, that was not really necessary and made the code more
complex.
2016-08-10 14:14:03 -07:00

22 lines
618 B
Text

# @TEST-EXEC-FAIL: bro -b -r $TRACES/wikipedia.trace %INPUT
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff .stderr
@load base/protocols/conn
type Extension: record {
write_ts: time &log;
stream: string &log;
tab: table[count] of count &log;
system_name: string &log;
};
function add_extension(path: string): Extension
{
return Extension($write_ts = network_time(),
$stream = path,
$system_name = peer_description,
$tab = { [1] = 2, [2] = 3}
);
}
redef Log::default_ext_func = add_extension;