diff --git a/src/app-layer.c b/src/app-layer.c index 471f358b5d..8cbb86838d 100644 --- a/src/app-layer.c +++ b/src/app-layer.c @@ -560,7 +560,6 @@ int AppLayerHandleTCPData(ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, AppLayerThreadCtx *app_tctx = ra_ctx->app_tctx; AppProto alproto; - uint8_t dir; int r = 0; SCLogDebug("data_len %u flags %02X", data_len, flags); @@ -571,10 +570,8 @@ int AppLayerHandleTCPData(ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, if (flags & STREAM_TOSERVER) { alproto = f->alproto_ts; - dir = 0; } else { alproto = f->alproto_tc; - dir = 1; } /* if we don't know the proto yet and we have received a stream @@ -583,7 +580,6 @@ int AppLayerHandleTCPData(ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, * only run the proto detection once. */ if (alproto == ALPROTO_UNKNOWN && (flags & STREAM_GAP)) { StreamTcpSetStreamFlagAppProtoDetectionCompleted(stream); - StreamTcpSetSessionNoReassemblyFlag(ssn, dir); SCLogDebug("ALPROTO_UNKNOWN flow %p, due to GAP in stream start", f); } else if (alproto == ALPROTO_UNKNOWN && (flags & STREAM_START)) { diff --git a/src/stream-tcp-reassemble.c b/src/stream-tcp-reassemble.c index a3896435ae..9632c116bd 100644 --- a/src/stream-tcp-reassemble.c +++ b/src/stream-tcp-reassemble.c @@ -2903,7 +2903,7 @@ int StreamTcpReassembleAppLayer (ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, /* this function can be directly called by app layer protocol * detection. */ - if (stream->flags & STREAMTCP_STREAM_FLAG_NOREASSEMBLY) { + if (stream->flags & (STREAMTCP_STREAM_FLAG_NOREASSEMBLY|STREAMTCP_STREAM_FLAG_GAP)) { SCLogDebug("stream no reassembly flag set. Mostly called via " "app proto detection."); SCReturnInt(0);