Reset app layer processed flag for segments that have been sent for proto

detection, but we failed to figure out the proto.

Updated a unittest to reflect the above change.
pull/584/head
Anoop Saldanha 12 years ago
parent 87edd2ade9
commit 836bad85a4

@ -2959,6 +2959,12 @@ int StreamTcpReassembleAppLayer (ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx,
/* store ra_base_seq in the stream */
if (StreamTcpIsSetStreamFlagAppProtoDetectionCompleted(stream)) {
stream->ra_app_base_seq = ra_base_seq;
} else {
TcpSegment *tmp_seg = stream->seg_list;
while (tmp_seg != NULL) {
tmp_seg->flags &= ~SEGMENTTCP_FLAG_APPLAYER_PROCESSED;
tmp_seg = tmp_seg->next;
}
}
SCLogDebug("stream->ra_app_base_seq %u", stream->ra_app_base_seq);
SCReturnInt(0);
@ -6855,7 +6861,7 @@ static int StreamTcpReassembleTest40 (void) {
/* check is have the segment in the list and flagged or not */
if (ssn.client.seg_list == NULL ||
!(ssn.client.seg_list->flags & SEGMENTTCP_FLAG_APPLAYER_PROCESSED))
(ssn.client.seg_list->flags & SEGMENTTCP_FLAG_APPLAYER_PROCESSED))
{
printf("the list is NULL or the processed segment has not been flaged (7): ");
goto end;

Loading…
Cancel
Save