From: Victor Julien Date: Fri, 24 Nov 2023 10:10:35 +0000 (+0100) Subject: stream: const args for StreamReassembleLog X-Git-Tag: suricata-7.0.7~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7dc1aa733384026351eaf5c5d7bb45794952abc;p=thirdparty%2Fsuricata.git stream: const args for StreamReassembleLog Needed a workaround cast for RBTREE use. (cherry picked from commit a5a6527d26b2c4f2c133ff2a3d7e8eed81fad8cf) --- diff --git a/src/stream-tcp-reassemble.c b/src/stream-tcp-reassemble.c index 737b222d53..a1f8b8ea68 100644 --- a/src/stream-tcp-reassemble.c +++ b/src/stream-tcp-reassemble.c @@ -1394,7 +1394,7 @@ int StreamTcpReassembleAppLayer (ThreadVars *tv, TcpReassemblyThreadCtx *ra_ctx, /** \internal * \brief get stream data from offset * \param offset stream offset */ -static int GetRawBuffer(TcpStream *stream, const uint8_t **data, uint32_t *data_len, +static int GetRawBuffer(const TcpStream *stream, const uint8_t **data, uint32_t *data_len, StreamingBufferBlock **iter, uint64_t offset, uint64_t *data_offset) { const uint8_t *mydata; @@ -1417,7 +1417,7 @@ static int GetRawBuffer(TcpStream *stream, const uint8_t **data, uint32_t *data_ *iter == NULL ? "starting" : "continuing", offset); if (*iter == NULL) { StreamingBufferBlock key = { .offset = offset, .len = 0 }; - *iter = SBB_RB_FIND_INCLUSIVE(&stream->sb.sbb_tree, &key); + *iter = SBB_RB_FIND_INCLUSIVE((struct SBB *)&stream->sb.sbb_tree, &key); SCLogDebug("*iter %p", *iter); } if (*iter == NULL) { @@ -1758,7 +1758,7 @@ static int StreamReassembleRawInline(TcpSession *ssn, const Packet *p, * `respect_inspect_depth` is used to avoid useless inspection of too * much data. */ -static int StreamReassembleRawDo(TcpSession *ssn, TcpStream *stream, +static int StreamReassembleRawDo(const TcpSession *ssn, const TcpStream *stream, StreamReassembleRawFunc Callback, void *cb_data, const uint64_t progress_in, const uint64_t re, uint64_t *progress_out, bool eof, bool respect_inspect_depth) { @@ -1920,10 +1920,9 @@ int StreamReassembleRaw(TcpSession *ssn, const Packet *p, progress_out, (p->flags & PKT_PSEUDO_STREAM_END), respect_inspect_depth); } -int StreamReassembleLog(TcpSession *ssn, TcpStream *stream, - StreamReassembleRawFunc Callback, void *cb_data, - uint64_t progress_in, - uint64_t *progress_out, bool eof) +int StreamReassembleLog(const TcpSession *ssn, const TcpStream *stream, + StreamReassembleRawFunc Callback, void *cb_data, const uint64_t progress_in, + uint64_t *progress_out, const bool eof) { if (stream->flags & (STREAMTCP_STREAM_FLAG_NOREASSEMBLY)) return 0; diff --git a/src/stream-tcp.h b/src/stream-tcp.h index 3246712459..598edc6bd1 100644 --- a/src/stream-tcp.h +++ b/src/stream-tcp.h @@ -131,10 +131,9 @@ typedef int (*StreamReassembleRawFunc)( int StreamReassembleForFrame(TcpSession *ssn, TcpStream *stream, StreamReassembleRawFunc Callback, void *cb_data, const uint64_t offset, const bool eof); -int StreamReassembleLog(TcpSession *ssn, TcpStream *stream, - StreamReassembleRawFunc Callback, void *cb_data, - uint64_t progress_in, - uint64_t *progress_out, bool eof); +int StreamReassembleLog(const TcpSession *ssn, const TcpStream *stream, + StreamReassembleRawFunc Callback, void *cb_data, const uint64_t progress_in, + uint64_t *progress_out, const bool eof); int StreamReassembleRaw(TcpSession *ssn, const Packet *p, StreamReassembleRawFunc Callback, void *cb_data, uint64_t *progress_out, bool respect_inspect_depth);