mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00

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.
22 lines
618 B
Text
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;
|