]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
stream/tests: remove bad test; update failing test to new behavior
authorVictor Julien <vjulien@oisf.net>
Tue, 22 Mar 2022 16:06:18 +0000 (17:06 +0100)
committerVictor Julien <vjulien@oisf.net>
Tue, 7 Jun 2022 08:37:53 +0000 (10:37 +0200)
src/stream-tcp-reassemble.c
src/stream-tcp.c
src/tests/stream-tcp.c

index fd4914cc6f576ba9a49a40237af06f484d42df57..f394fc71a459c67fb6413eb4c9f52e996c3c2157 100644 (file)
@@ -2363,71 +2363,6 @@ static int StreamTcpReassembleTest34(void)
     PASS;
 }
 
-/** \test Test the bug 76 condition */
-static int StreamTcpReassembleTest37(void)
-{
-    TcpSession ssn;
-    Flow f;
-    TCPHdr tcph;
-    TcpReassemblyThreadCtx *ra_ctx = NULL;
-    uint8_t packet[1460] = "";
-    PacketQueueNoLock pq;
-    ThreadVars tv;
-    memset(&tv, 0, sizeof (ThreadVars));
-
-    Packet *p = PacketGetFromAlloc();
-    FAIL_IF(unlikely(p == NULL));
-
-    StreamTcpUTInit(&ra_ctx);
-    StreamTcpUTSetupSession(&ssn);
-    memset(&pq,0,sizeof(PacketQueueNoLock));
-    memset(&f, 0, sizeof (Flow));
-    memset(&tcph, 0, sizeof (TCPHdr));
-    memset(&tv, 0, sizeof (ThreadVars));
-
-    FLOW_INITIALIZE(&f);
-    f.protoctx = &ssn;
-    f.proto = IPPROTO_TCP;
-    p->src.family = AF_INET;
-    p->dst.family = AF_INET;
-    p->proto = IPPROTO_TCP;
-    p->flow = &f;
-    tcph.th_win = 5480;
-    tcph.th_flags = TH_PUSH | TH_ACK;
-    p->tcph = &tcph;
-    p->flowflags = FLOW_PKT_TOSERVER;
-    p->payload = packet;
-    ssn.client.os_policy = OS_POLICY_BSD;
-
-    p->tcph->th_seq = htonl(3061088537UL);
-    p->tcph->th_ack = htonl(1729548549UL);
-    p->payload_len = 1391;
-    ssn.client.last_ack = 3061091137UL;
-    SET_ISN(&ssn.client, 3061091309UL);
-
-    /* pre base_seq, so should be rejected */
-    FAIL_IF (StreamTcpReassembleHandleSegment(&tv, ra_ctx,&ssn, &ssn.client, p, &pq) != -1);
-
-    p->tcph->th_seq = htonl(3061089928UL);
-    p->tcph->th_ack = htonl(1729548549UL);
-    p->payload_len = 1391;
-    ssn.client.last_ack = 3061091137UL;
-
-    FAIL_IF(StreamTcpReassembleHandleSegment(&tv, ra_ctx,&ssn, &ssn.client, p, &pq) == -1);
-
-    p->tcph->th_seq = htonl(3061091319UL);
-    p->tcph->th_ack = htonl(1729548549UL);
-    p->payload_len = 1391;
-    ssn.client.last_ack = 3061091137UL;
-
-    FAIL_IF(StreamTcpReassembleHandleSegment(&tv, ra_ctx,&ssn, &ssn.client, p, &pq) == -1);
-
-    StreamTcpUTClearSession(&ssn);
-    StreamTcpUTDeinit(ra_ctx);
-    SCFree(p);
-    PASS;
-}
-
 /**
  *  \test   Test to make sure that we don't return the segments until the app
  *          layer proto has been detected and after that remove the processed
@@ -3814,8 +3749,6 @@ void StreamTcpReassembleRegisterTests(void)
                    StreamTcpReassembleTest33);
     UtRegisterTest("StreamTcpReassembleTest34 -- Bug test",
                    StreamTcpReassembleTest34);
-    UtRegisterTest("StreamTcpReassembleTest37 -- Bug76 test",
-                   StreamTcpReassembleTest37);
     UtRegisterTest("StreamTcpReassembleTest39 -- app proto test",
                    StreamTcpReassembleTest39);
     UtRegisterTest("StreamTcpReassembleTest40 -- app proto test",
index 82f5f8a227c3344eb7187574b00ade514c04d1c8..08d4da95c9b9debb46ffe523f06b4ec67a73b873 100644 (file)
@@ -2429,7 +2429,6 @@ static int HandleEstablishedPacketToClient(ThreadVars *tv, TcpSession *ssn, Pack
         SCLogDebug("ssn %p: ssn->server.next_seq %"PRIu32
                    " (next_seq had fallen behind last_ack)",
                    ssn, ssn->server.next_seq);
-
     } else {
         SCLogDebug("ssn %p: no update to ssn->server.next_seq %"PRIu32
                    " SEQ %u SEQ+ %u last_ack %u",
index 828562f06552c928eb49b8d49cb45dbcc4d27789..19c126121d135538739c1bfe996a459204113913 100644 (file)
@@ -718,7 +718,7 @@ static int StreamTcpTest10(void)
     p->payload = payload;
     p->payload_len = 3;
 
-    FAIL_IF(StreamTcpPacket(&tv, p, &stt, &pq) == -1);
+    FAIL_IF_NOT(StreamTcpPacket(&tv, p, &stt, &pq) == -1);
 
     FAIL_IF(((TcpSession *)(p->flow->protoctx))->state != TCP_ESTABLISHED);