stream: make sure to call app-layer in case of depth reached

pull/5442/head
Victor Julien 5 years ago
parent 5d985c4271
commit a5a46795bd

@ -1129,6 +1129,9 @@ static int ReassembleUpdateAppLayer (ThreadVars *tv,
break; break;
continue; continue;
} else if (flags & STREAM_DEPTH) {
// we're just called once with this flag, so make sure we pass it on
} else if (mydata == NULL || (mydata_len == 0 && ((flags & STREAM_EOF) == 0))) { } else if (mydata == NULL || (mydata_len == 0 && ((flags & STREAM_EOF) == 0))) {
/* Possibly a gap, but no new data. */ /* Possibly a gap, but no new data. */
if ((p->flags & PKT_PSEUDO_STREAM_END) == 0 || ssn->state < TCP_CLOSED) if ((p->flags & PKT_PSEUDO_STREAM_END) == 0 || ssn->state < TCP_CLOSED)
@ -1169,6 +1172,8 @@ static int ReassembleUpdateAppLayer (ThreadVars *tv,
if (new_app_progress == app_progress || FlowChangeProto(p->flow)) if (new_app_progress == app_progress || FlowChangeProto(p->flow))
break; break;
app_progress = new_app_progress; app_progress = new_app_progress;
if (flags & STREAM_DEPTH)
break;
} }
SCReturnInt(0); SCReturnInt(0);

Loading…
Cancel
Save