Due to a bug in the GAP handling the TCP layer the parser would already
get data after GAPs before.
APP_LAYER_PARSER_EOF))
{
SCReturnInt(1);
+ } else if (input == NULL && input_len != 0) {
+ // GAP
+ SCReturnInt(0);
} else if (input == NULL || input_len == 0)
{
SCReturnInt(-1);
AppLayerParserRegisterParserAcceptableDataDirection(IPPROTO_TCP,
ALPROTO_ENIP, STREAM_TOSERVER | STREAM_TOCLIENT);
+
+ /* This parser accepts gaps. */
+ AppLayerParserRegisterOptionFlags(IPPROTO_TCP, ALPROTO_ENIP,
+ APP_LAYER_PARSER_OPT_ACCEPT_GAPS);
+
} else
{
SCLogConfig("Parser disabled for %s protocol. Protocol detection still on.",