diff options
| author | Mosder <xmosder12@gmail.com> | 2026-07-28 11:14:01 +0200 |
|---|---|---|
| committer | Mosder <xmosder12@gmail.com> | 2026-07-28 11:14:14 +0200 |
| commit | 95763527e73c0d06d3887e4a2da22f627f13bfaa (patch) | |
| tree | 6580af706ea8058f609644ea0db84d4d9d99ea0d /analyzer/parser | |
| parent | 0b58af7bd1c0c060c55dadb33603570d0c044e14 (diff) | |
feat: added support for streams from both server and client (uhm, actually, there's only one stream, since TCP streams are bidirectional, blah, blah, blah...)
Diffstat (limited to 'analyzer/parser')
| -rw-r--r-- | analyzer/parser/find_parse_functions.h | 2 | ||||
| -rw-r--r-- | analyzer/parser/parser.c | 4 | ||||
| -rw-r--r-- | analyzer/parser/parser_defs.h | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/analyzer/parser/find_parse_functions.h b/analyzer/parser/find_parse_functions.h index e2c2acb..ffe6ef0 100644 --- a/analyzer/parser/find_parse_functions.h +++ b/analyzer/parser/find_parse_functions.h @@ -3,4 +3,4 @@ #include "parser/fight_results/fight_results.h" -FindParseFunctions all_find_parse_functions[] = {{find_fight_results, parse_fight_results}}; +FindParseFunctions all_find_parse_functions[] = {{find_fight_results, parse_fight_results, SERVER}}; diff --git a/analyzer/parser/parser.c b/analyzer/parser/parser.c index d00cd97..07980e5 100644 --- a/analyzer/parser/parser.c +++ b/analyzer/parser/parser.c @@ -9,6 +9,10 @@ byte_t *find_earliest_data(TCPStream *stream, int stream_offset, int *earliest_length, parse_function_t **earliest_parse_fun) { byte_t *earliest_data = NULL; for (size_t i = 0; i < ARR_LEN(all_find_parse_functions); i++) { + // ignore if not correct stream + if (stream->src != all_find_parse_functions[i].stream_src) + continue; + int length; byte_t *data = all_find_parse_functions[i].find_fn(stream, stream_offset, &length); // if it's the first found or earlier than earliest - save it diff --git a/analyzer/parser/parser_defs.h b/analyzer/parser/parser_defs.h index 75b0366..c64e138 100644 --- a/analyzer/parser/parser_defs.h +++ b/analyzer/parser/parser_defs.h @@ -37,6 +37,7 @@ typedef ParsedData parse_function_t(byte_t *data, size_t length); typedef struct { find_function_t *find_fn; parse_function_t *parse_fn; + ConnectionSource stream_src; // which stream to look for the data } FindParseFunctions; #endif |
