mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Fix handling of IPv6 atomic fragments.
The FragReassembler expire_timer was left uninitialized until after the first fragment is added, but since the atomic fragment is also the last, the reassembler thought expire_timer needed to be deleted. This fix just initializes expire_timer before the first fragment is added.
This commit is contained in:
parent
97652bc144
commit
d8d83f590b
4 changed files with 13 additions and 2 deletions
|
@ -52,8 +52,6 @@ FragReassembler::FragReassembler(NetSessions* arg_s,
|
|||
frag_size = 0; // flag meaning "not known"
|
||||
next_proto = ip->NextProto();
|
||||
|
||||
AddFragment(t, ip, pkt);
|
||||
|
||||
if ( frag_timeout != 0.0 )
|
||||
{
|
||||
expire_timer = new FragTimer(this, t + frag_timeout);
|
||||
|
@ -61,6 +59,8 @@ FragReassembler::FragReassembler(NetSessions* arg_s,
|
|||
}
|
||||
else
|
||||
expire_timer = 0;
|
||||
|
||||
AddFragment(t, ip, pkt);
|
||||
}
|
||||
|
||||
FragReassembler::~FragReassembler()
|
||||
|
|
4
testing/btest/Baseline/core.ipv6-atomic-frag/output
Normal file
4
testing/btest/Baseline/core.ipv6-atomic-frag/output
Normal file
|
@ -0,0 +1,4 @@
|
|||
[orig_h=2001:db8:1::2, orig_p=36951/tcp, resp_h=2001:db8:1::1, resp_p=80/tcp]
|
||||
[orig_h=2001:db8:1::2, orig_p=59694/tcp, resp_h=2001:db8:1::1, resp_p=80/tcp]
|
||||
[orig_h=2001:db8:1::2, orig_p=27393/tcp, resp_h=2001:db8:1::1, resp_p=80/tcp]
|
||||
[orig_h=2001:db8:1::2, orig_p=45805/tcp, resp_h=2001:db8:1::1, resp_p=80/tcp]
|
BIN
testing/btest/Traces/ipv6-http-atomic-frag.trace
Normal file
BIN
testing/btest/Traces/ipv6-http-atomic-frag.trace
Normal file
Binary file not shown.
7
testing/btest/core/ipv6-atomic-frag.test
Normal file
7
testing/btest/core/ipv6-atomic-frag.test
Normal file
|
@ -0,0 +1,7 @@
|
|||
# @TEST-EXEC: bro -r $TRACES/ipv6-http-atomic-frag.trace %INPUT >output
|
||||
# @TEST-EXEC: btest-diff output
|
||||
|
||||
event new_connection(c: connection)
|
||||
{
|
||||
print c$id;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue