Merge remote-tracking branch 'origin/topic/vern/expose-TCP-statics'

* origin/topic/vern/expose-TCP-statics:
  expose some TCP analyzer utility functions for use by derived classes
This commit is contained in:
Jon Siwek 2019-04-23 18:42:02 -07:00
commit 4c6b35970d
4 changed files with 16 additions and 5 deletions

View file

@ -1,4 +1,8 @@
2.6-245 | 2019-04-23 18:42:02 -0700
* Expose TCP analyzer utility functions to derived classes (Vern Paxson, Corelight)
2.6-243 | 2019-04-22 19:42:52 -0700 2.6-243 | 2019-04-22 19:42:52 -0700
* GH-234: rename Broxygen to Zeexygen along with roles/directives (Jon Siwek, Corelight) * GH-234: rename Broxygen to Zeexygen along with roles/directives (Jon Siwek, Corelight)

View file

@ -1 +1 @@
2.6-243 2.6-245

View file

@ -1019,9 +1019,9 @@ void TCP_Analyzer::CheckPIA_FirstPacket(int is_orig, const IP_Hdr* ip)
} }
} }
static uint64 get_relative_seq(const TCP_Endpoint* endpoint, uint64 TCP_Analyzer::get_relative_seq(const TCP_Endpoint* endpoint,
uint32 cur_base, uint32 last, uint32 wraps, uint32 cur_base, uint32 last,
bool* underflow = 0) uint32 wraps, bool* underflow)
{ {
int32 delta = seq_delta(cur_base, last); int32 delta = seq_delta(cur_base, last);
@ -1052,7 +1052,7 @@ static uint64 get_relative_seq(const TCP_Endpoint* endpoint,
return endpoint->ToRelativeSeqSpace(cur_base, wraps); return endpoint->ToRelativeSeqSpace(cur_base, wraps);
} }
static int get_segment_len(int payload_len, TCP_Flags flags) int TCP_Analyzer::get_segment_len(int payload_len, TCP_Flags flags)
{ {
int seg_len = payload_len; int seg_len = payload_len;

View file

@ -174,6 +174,13 @@ protected:
const u_char* option, TCP_Analyzer* analyzer, const u_char* option, TCP_Analyzer* analyzer,
bool is_orig, void* cookie); bool is_orig, void* cookie);
// A couple utility functions that may also be useful to derived analyzers.
static uint64 get_relative_seq(const TCP_Endpoint* endpoint,
uint32 cur_base, uint32 last,
uint32 wraps, bool* underflow = 0);
static int get_segment_len(int payload_len, TCP_Flags flags);
private: private:
TCP_Endpoint* orig; TCP_Endpoint* orig;
TCP_Endpoint* resp; TCP_Endpoint* resp;