zeek/testing/btest/core/tcp
Robin Sommer 6fbebc5e94
Fixing productive connections with missing SYN still considered partial after flipping direction.
In https://github.com/zeek/zeek/pull/2191, we added endpoint flipping
for cases where a connection starts with a SYN/ACK followed by ACK or
data. The goal was to treat the connection as productive and go ahead
and parse it. But the TCP analyzer could continue to consider it
partial after flipping, meaning that app layers would bail out. #2426
shows such a case: HTTP gets correctly activated after flipping
through content inspection, but it won't process anything because
`IsPartial()` returns true. As the is-partial state reflects
whether we saw the first packets each in direction, this patch now
overrides that state for the originally missing SYN after flipping.

We actually had the same problem at a couple of other locations already
as well. One of that only happened to work because of the originally
inconsistent state flipping that was fixed in the previous commit. The
corresponding unit test now broke after that change. This commit
updates that logic as well to override the state.

This fix is a bit of a hack, but the best solution I could think of
without introducing larger changes.

Closes #2426.
2022-11-16 09:56:51 +01:00
..
fin-retransmit.zeek GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev. 2019-05-01 21:43:45 +00:00
flip-without-syn.zeek Fixing productive connections with missing SYN still considered partial after flipping direction. 2022-11-16 09:56:51 +01:00
large-file-reassembly.zeek GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev. 2019-05-01 21:43:45 +00:00
miss-end-data.zeek Remove @load base/frameworks/dpd from tests 2022-08-31 17:00:55 +02:00
missing-syn.zeek Remove @load base/frameworks/dpd from tests 2022-08-31 17:00:55 +02:00
options.zeek Merge ssh://github.com/fatemabw/zeek 2022-08-17 09:09:58 +02:00
quantum-insert.zeek GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev. 2019-05-01 21:43:45 +00:00
reassembly-known-ports.zeek IPBasedAnalyzer/TCPSessionAdapter: Fix TCP reassembly decision for known port analyzers 2022-10-25 16:07:40 +02:00
rst-after-syn.zeek GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev. 2019-05-01 21:43:45 +00:00
rxmit-history.zeek GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev. 2019-05-01 21:43:45 +00:00
tcp-dups.zeek General btest cleanup 2020-08-11 11:26:22 -07:00
truncated-header.zeek More bro-to-zeek renaming in the unit tests 2019-05-16 02:27:54 -05:00