]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
stream-tcp: StreamTcpUTAddPayload unittest helper
authorVictor Julien <victor@inliniac.net>
Thu, 17 Mar 2016 09:08:00 +0000 (10:08 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 20 Apr 2017 15:41:11 +0000 (17:41 +0200)
src/stream-tcp-reassemble.h
src/stream-tcp-util.c
src/stream-tcp-util.h

index b6e798ce0be6932f472167febfbde60b3e93bedb..0dcea133bfbfea9993a5adfe21c28b5f192d5a37 100644 (file)
@@ -88,6 +88,8 @@ void StreamTcpReassemblePause (TcpSession *, char );
 void StreamTcpReassembleUnPause (TcpSession *, char );
 int StreamTcpCheckStreamContents(uint8_t *, uint16_t , TcpStream *);
 
+int StreamTcpReassembleHandleSegmentHandleData(ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx,
+        TcpSession *ssn, TcpStream *stream, Packet *p);
 int StreamTcpReassembleInsertSegment(ThreadVars *, TcpReassemblyThreadCtx *, TcpStream *, TcpSegment *, Packet *);
 TcpSegment* StreamTcpGetSegment(ThreadVars *, TcpReassemblyThreadCtx *, uint16_t);
 
index b58db5c2838faeea95d58ca7a45bbf699269908b..bdd5d7327f84cf5dc2463d0e92f257675782ef1a 100644 (file)
@@ -84,6 +84,23 @@ void StreamTcpUTClearStream(TcpStream *s)
     StreamTcpStreamCleanup(s);
 }
 
+/** \brief wrapper for StreamTcpReassembleHandleSegmentHandleData */
+int StreamTcpUTAddPayload(ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, TcpSession *ssn, TcpStream *stream, uint32_t seq, uint8_t *payload, uint16_t len)
+{
+    Packet *p = UTHBuildPacketReal(payload, len, IPPROTO_TCP, "1.1.1.1", "2.2.2.2", 1024, 80);
+    if (p == NULL) {
+        return -1;
+    }
+    p->tcph->th_seq = htonl(seq);
+    p->tcph->th_ack = htonl(31);
+
+    if (StreamTcpReassembleHandleSegmentHandleData(tv, ra_ctx, ssn, stream, p) < 0)
+        return -1;
+
+    UTHFreePacket(p);
+    return 0;
+}
+
 int StreamTcpUTAddSegmentWithPayload(ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, TcpStream *stream, uint32_t seq, uint8_t *payload, uint16_t len)
 {
     TcpSegment *s = StreamTcpGetSegment(tv, ra_ctx, len);
index 72f2b4fcb97fc9208be8a1dfaba2e25c955d0c4b..8067d5ac4c7189c97582224091129fe21b595235 100644 (file)
@@ -39,7 +39,7 @@ void StreamTcpUTClearStream(TcpStream *);
 
 int StreamTcpUTAddSegmentWithByte(ThreadVars *, TcpReassemblyThreadCtx *, TcpStream *, uint32_t, uint8_t, uint16_t);
 int StreamTcpUTAddSegmentWithPayload(ThreadVars *, TcpReassemblyThreadCtx *, TcpStream *, uint32_t, uint8_t *, uint16_t);
-
+int StreamTcpUTAddPayload(ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, TcpSession *ssn, TcpStream *stream, uint32_t seq, uint8_t *payload, uint16_t len);
 
 void StreamTcpUtilRegisterTests(void);