aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorToni <matzeton@googlemail.com>2021-07-05 09:41:35 +0200
committerGitHub <noreply@github.com>2021-07-05 09:41:35 +0200
commit21b2cce7151311931130a6513a8f26fdb4fb3fca (patch)
tree6fdaf9bbf971b9dd8434a6dd023cb5405080257d /src
parentced6fca184a4549333c2d582e53419f66cd99ec1 (diff)
Improved Z39.50 detection. (#1225)
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'src')
-rw-r--r--src/lib/protocols/z3950.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/lib/protocols/z3950.c b/src/lib/protocols/z3950.c
index b267c776d..8a6620ed0 100644
--- a/src/lib/protocols/z3950.c
+++ b/src/lib/protocols/z3950.c
@@ -62,15 +62,10 @@ static int z3950_parse_sequences(struct ndpi_packet_struct const * const packet,
u_int8_t seq_length;
payload = &packet->payload[payload_offset];
- if (payload[0] == 0x9F)
+ if ((payload[0] & 0x1F) == 0x1F)
{
- if (payload_offset + 3 >= packet->payload_packet_len)
- {
- return -1;
- }
- payload_offset++;
- payload = &packet->payload[payload_offset];
- seq_type = payload[0];
+ /* We ignore decoding of complex sequences for now. */
+ return cur_sequences;
} else {
seq_type = payload[0] & 0x1F;
}
@@ -103,7 +98,7 @@ static void ndpi_search_z3950(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_flow_struct *flow)
{
struct ndpi_packet_struct * packet = &flow->packet;
- int const minimum_expected_sequences = 7;
+ int const minimum_expected_sequences = 6;
NDPI_LOG_DBG(ndpi_struct, "search z39.50\n");