diff --git a/src/detect-engine-payload.c b/src/detect-engine-payload.c index bbe46addc7..65cdf076da 100644 --- a/src/detect-engine-payload.c +++ b/src/detect-engine-payload.c @@ -54,7 +54,8 @@ struct StreamMpmData { const MpmCtx *mpm_ctx; }; -static int StreamMpmFunc(void *cb_data, const uint8_t *data, const uint32_t data_len) +static int StreamMpmFunc( + void *cb_data, const uint8_t *data, const uint32_t data_len, const uint64_t _offset) { struct StreamMpmData *smd = cb_data; if (data_len >= smd->mpm_ctx->minlen) { @@ -221,7 +222,8 @@ struct StreamContentInspectData { Flow *f; }; -static int StreamContentInspectFunc(void *cb_data, const uint8_t *data, const uint32_t data_len) +static int StreamContentInspectFunc( + void *cb_data, const uint8_t *data, const uint32_t data_len, const uint64_t _offset) { SCEnter(); int r = 0; @@ -279,7 +281,8 @@ struct StreamContentInspectEngineData { Flow *f; }; -static int StreamContentInspectEngineFunc(void *cb_data, const uint8_t *data, const uint32_t data_len) +static int StreamContentInspectEngineFunc( + void *cb_data, const uint8_t *data, const uint32_t data_len, const uint64_t _offset) { SCEnter(); int r = 0; diff --git a/src/output-streaming.c b/src/output-streaming.c index 77d2a98f11..60efef5791 100644 --- a/src/output-streaming.c +++ b/src/output-streaming.c @@ -253,7 +253,8 @@ struct StreamLogData { Flow *f; }; -static int StreamLogFunc(void *cb_data, const uint8_t *data, const uint32_t data_len) +static int StreamLogFunc( + void *cb_data, const uint8_t *data, const uint32_t data_len, const uint64_t _offset) { struct StreamLogData *log = cb_data; diff --git a/src/stream-tcp-reassemble.c b/src/stream-tcp-reassemble.c index 114dba6e97..0d74459fd1 100644 --- a/src/stream-tcp-reassemble.c +++ b/src/stream-tcp-reassemble.c @@ -1597,7 +1597,7 @@ static int StreamReassembleRawInline(TcpSession *ssn, const Packet *p, } /* run the callback */ - r = Callback(cb_data, mydata, mydata_len); + r = Callback(cb_data, mydata, mydata_len, mydata_offset); BUG_ON(r < 0); if (return_progress) { @@ -1745,7 +1745,7 @@ static int StreamReassembleRawDo(TcpSession *ssn, TcpStream *stream, SCLogDebug("data %p len %u", mydata, mydata_len); /* we have data. */ - r = Callback(cb_data, mydata, mydata_len); + r = Callback(cb_data, mydata, mydata_len, mydata_offset); BUG_ON(r < 0); if (mydata_offset == progress) { diff --git a/src/stream-tcp.h b/src/stream-tcp.h index 4284f5e73f..ba360cdf3e 100644 --- a/src/stream-tcp.h +++ b/src/stream-tcp.h @@ -127,7 +127,8 @@ int StreamTcpSegmentForEach(const Packet *p, uint8_t flag, void StreamTcpReassembleConfigEnableOverlapCheck(void); void TcpSessionSetReassemblyDepth(TcpSession *ssn, uint32_t size); -typedef int (*StreamReassembleRawFunc)(void *data, const uint8_t *input, const uint32_t input_len); +typedef int (*StreamReassembleRawFunc)( + void *data, const uint8_t *input, const uint32_t input_len, const uint64_t offset); int StreamReassembleLog(TcpSession *ssn, TcpStream *stream, StreamReassembleRawFunc Callback, void *cb_data, diff --git a/src/tests/stream-tcp-reassemble.c b/src/tests/stream-tcp-reassemble.c index a3c5da6d7e..5f07f336c4 100644 --- a/src/tests/stream-tcp-reassemble.c +++ b/src/tests/stream-tcp-reassemble.c @@ -31,7 +31,8 @@ struct TestReassembleRawCallbackData { const uint32_t expect_data_len; }; -static int TestReassembleRawCallback(void *cb_data, const uint8_t *data, const uint32_t data_len) +static int TestReassembleRawCallback( + void *cb_data, const uint8_t *data, const uint32_t data_len, const uint64_t offset) { struct TestReassembleRawCallbackData *cb = cb_data;