Remove variable content from weird names

This changes many weird names to move non-static content from the
weird name into the "addl" field to help ensure the total number of
weird names is reasonably bounded.  Note the net_weird and flow_weird
events do not have an "addl" parameter, so information may no longer
be available in those cases -- to make it available again we'd need
to either (1) define new events that contain such a parameter, or
(2) change net_weird/flow_weird event signature (which is a breaking
change for user-code at the moment).

Also, the generic handling of binpac exceptions for analyzers which
to not otherwise catch and handle them has been changed from a Weird
to a ProtocolViolation.

Finally, a new "file_weird" event has been added for reporting
weirdness found during file analysis.
This commit is contained in:
Jon Siwek 2019-04-01 18:27:53 -07:00
parent 956674745b
commit 995368e68c
47 changed files with 289 additions and 152 deletions

View file

@ -223,7 +223,7 @@ void Analyzer::NextPacket(int len, const u_char* data, bool is_orig, uint64 seq,
}
catch ( binpac::Exception const &e )
{
Weird(e.c_msg());
ProtocolViolation(fmt("Binpac exception: %s", e.c_msg()));
}
}
}
@ -246,7 +246,7 @@ void Analyzer::NextStream(int len, const u_char* data, bool is_orig)
}
catch ( binpac::Exception const &e )
{
Weird(e.c_msg());
ProtocolViolation(fmt("Binpac exception: %s", e.c_msg()));
}
}
}
@ -269,7 +269,7 @@ void Analyzer::NextUndelivered(uint64 seq, int len, bool is_orig)
}
catch ( binpac::Exception const &e )
{
Weird(e.c_msg());
ProtocolViolation(fmt("Binpac exception: %s", e.c_msg()));
}
}
}