Merge branch 'topic/jgras/input-default' of https://github.com/J-Gras/bro

* 'topic/jgras/input-default' of https://github.com/J-Gras/bro:
  Fixed &default values ignored by input framework.

BIT-1623 #merged
This commit is contained in:
Johanna Amann 2016-06-15 17:31:12 -07:00
commit efab728876
5 changed files with 64 additions and 2 deletions

View file

@ -1,4 +1,9 @@
2.4-623 | 2016-06-15 17:31:12 -0700
* &default values are no longer overwritten with uninitialized
by the input framework. (Jan Grashoefer)
2.4-621 | 2016-06-15 09:18:02 -0700
* Fixing memory leak in changed table expiration code. (Robin

View file

@ -1 +1 @@
2.4-621
2.4-623

View file

@ -1917,7 +1917,8 @@ RecordVal* Manager::ValueToRecordVal(const Stream* stream, const Value* const *v
(*position)++;
}
rec->Assign(i, fieldVal);
if ( fieldVal )
rec->Assign(i, fieldVal);
}
return rec;

View file

@ -0,0 +1,8 @@
[i=1, b=T, s=leer]
[i=2, b=T, s=leer]
[i=3, b=F, s=leer]
[i=4, b=F, s=leer]
[i=5, b=F, s=leer]
[i=6, b=F, s=leer]
[i=7, b=T, s=leer]
End-of-data

View file

@ -0,0 +1,48 @@
# @TEST-EXEC: btest-bg-run bro bro -b %INPUT
# @TEST-EXEC: btest-bg-wait 10
# @TEST-EXEC: btest-diff out
@TEST-START-FILE input.log
#separator \x09
#path ssh
#fields i b
#types int bool
1 T
2 T
3 F
4 F
5 F
6 F
7 T
@TEST-END-FILE
redef exit_only_after_terminate = T;
global outfile: file;
module A;
type Val: record {
i: int;
b: bool;
s: string &default="leer";
};
event line(description: Input::EventDescription, tpe: Input::Event, val: Val)
{
print outfile, val;
}
event bro_init()
{
outfile = open("../out");
Input::add_event([$source="../input.log", $name="input", $fields=Val, $ev=line, $want_record=T]);
}
event Input::end_of_data(name: string, source:string)
{
print outfile, "End-of-data";
Input::remove("input");
close(outfile);
terminate();
}