Add some missing bits when flipping endpoints.

Couple places missed flipping state.
This commit is contained in:
Robin Sommer 2022-11-08 13:25:20 +01:00
parent 62a52be314
commit 0ef709ae7c
No known key found for this signature in database
GPG key ID: D8187293B3FFE5D0
2 changed files with 9 additions and 0 deletions

View file

@ -860,6 +860,12 @@ public:
*/ */
void ForwardUndelivered(uint64_t seq, int len, bool orig) override; void ForwardUndelivered(uint64_t seq, int len, bool orig) override;
/**
* Signals that Zeek has flipped the direction of the connection, meaning
* that originator and responder state need to be swapped.
*/
void FlipRoles() override { orig = ! orig; }
protected: protected:
friend class Analyzer; friend class Analyzer;

View file

@ -1162,6 +1162,9 @@ void TCPSessionAdapter::FlipRoles()
orig = tmp_ep; orig = tmp_ep;
orig->is_orig = ! orig->is_orig; orig->is_orig = ! orig->is_orig;
resp->is_orig = ! resp->is_orig; resp->is_orig = ! resp->is_orig;
first_packet_seen = ((first_packet_seen & ORIG) ? RESP : 0) |
((first_packet_seen & RESP) ? ORIG : 0);
is_partial = 0; // resetting, it may be re-established later
} }
void TCPSessionAdapter::UpdateConnVal(RecordVal* conn_val) void TCPSessionAdapter::UpdateConnVal(RecordVal* conn_val)