From e8438fdb5833df2a38440aca5818c541b082dc9c Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Wed, 5 Jun 2024 13:36:46 +0200 Subject: [PATCH] app-layer: remove unused parameters --- src/app-layer-frames.c | 10 ++++++-- src/app-layer-ftp.c | 14 ++++++------ src/app-layer-htp-body.c | 5 ++-- src/app-layer-htp-body.h | 4 ++-- src/app-layer-htp.c | 12 +++++----- src/app-layer-smtp.c | 49 ++++++++++++++++------------------------ 6 files changed, 44 insertions(+), 50 deletions(-) diff --git a/src/app-layer-frames.c b/src/app-layer-frames.c index ff263b210f..5a5c63f5ab 100644 --- a/src/app-layer-frames.c +++ b/src/app-layer-frames.c @@ -66,9 +66,9 @@ static inline bool FrameConfigTypeIsEnabled(const AppProto p, const uint8_t type return enabled; } +#ifdef DEBUG static void FrameDebug(const char *prefix, const Frames *frames, const Frame *frame) { -#ifdef DEBUG const char *type_name = "unknown"; if (frame->type == FRAME_STREAM_TYPE) { type_name = "stream"; @@ -80,8 +80,10 @@ static void FrameDebug(const char *prefix, const Frames *frames, const Frame *fr prefix, frames, frame, frame->type, type_name, frame->id, frame->flags, frame->offset, frame->len, frame->inspect_progress, frame->event_cnt, frame->events[0], frame->events[1], frame->events[2], frame->events[3]); -#endif } +#else +#define FrameDebug(prefix, frames, frame) +#endif /** * \note "open" means a frame that has no length set (len == -1) @@ -223,6 +225,7 @@ static void FrameCopy(Frame *dst, Frame *src) memcpy(dst, src, sizeof(*dst)); } +#ifdef DEBUG static void AppLayerFrameDumpForFrames(const char *prefix, const Frames *frames) { SCLogDebug("prefix: %s", prefix); @@ -238,6 +241,7 @@ static void AppLayerFrameDumpForFrames(const char *prefix, const Frames *frames) } SCLogDebug("prefix: %s", prefix); } +#endif static inline uint64_t FrameLeftEdge(const TcpStream *stream, const Frame *frame) { @@ -567,6 +571,7 @@ Frame *AppLayerFrameNewByRelativeOffset(Flow *f, const StreamSlice *stream_slice void AppLayerFrameDump(Flow *f) { +#ifdef DEBUG if (f->proto == IPPROTO_TCP && f->protoctx && f->alparser) { FramesContainer *frames_container = AppLayerFramesGetContainer(f); if (frames_container != NULL) { @@ -574,6 +579,7 @@ void AppLayerFrameDump(Flow *f) AppLayerFrameDumpForFrames("toclient::dump", &frames_container->toclient); } } +#endif } /** \brief create new frame using the absolute offset from the start of the stream diff --git a/src/app-layer-ftp.c b/src/app-layer-ftp.c index f76b6dd4cb..493938959c 100644 --- a/src/app-layer-ftp.c +++ b/src/app-layer-ftp.c @@ -345,7 +345,7 @@ typedef struct FtpInput_ { } FtpInput; static AppLayerResult FTPGetLineForDirection( - FtpState *state, FtpLineState *line, FtpInput *input, bool *current_line_truncated) + FtpLineState *line, FtpInput *input, bool *current_line_truncated) { SCEnter(); @@ -507,7 +507,7 @@ static AppLayerResult FTPParseRequest(Flow *f, void *ftp_state, AppLayerParserSt uint8_t direction = STREAM_TOSERVER; AppLayerResult res; while (1) { - res = FTPGetLineForDirection(state, &line, &ftpi, &state->current_line_truncated_ts); + res = FTPGetLineForDirection(&line, &ftpi, &state->current_line_truncated_ts); if (res.status == 1) { return res; } else if (res.status == -1) { @@ -630,7 +630,7 @@ static AppLayerResult FTPParseRequest(Flow *f, void *ftp_state, AppLayerParserSt SCReturnStruct(APP_LAYER_OK); } -static int FTPParsePassiveResponse(Flow *f, FtpState *state, const uint8_t *input, uint32_t input_len) +static int FTPParsePassiveResponse(FtpState *state, const uint8_t *input, uint32_t input_len) { uint16_t dyn_port = rs_ftp_pasv_response(input, input_len); if (dyn_port == 0) { @@ -645,7 +645,7 @@ static int FTPParsePassiveResponse(Flow *f, FtpState *state, const uint8_t *inpu return 0; } -static int FTPParsePassiveResponseV6(Flow *f, FtpState *state, const uint8_t *input, uint32_t input_len) +static int FTPParsePassiveResponseV6(FtpState *state, const uint8_t *input, uint32_t input_len) { uint16_t dyn_port = rs_ftp_epsv_response(input, input_len); if (dyn_port == 0) { @@ -700,7 +700,7 @@ static AppLayerResult FTPParseResponse(Flow *f, void *ftp_state, AppLayerParserS FTPTransaction *lasttx = TAILQ_FIRST(&state->tx_list); AppLayerResult res; while (1) { - res = FTPGetLineForDirection(state, &line, &ftpi, &state->current_line_truncated_tc); + res = FTPGetLineForDirection(&line, &ftpi, &state->current_line_truncated_tc); if (res.status == 1) { return res; } else if (res.status == -1) { @@ -754,13 +754,13 @@ static AppLayerResult FTPParseResponse(Flow *f, void *ftp_state, AppLayerParserS case FTP_COMMAND_PASV: if (line.len >= 4 && SCMemcmp("227 ", line.buf, 4) == 0) { - FTPParsePassiveResponse(f, ftp_state, line.buf, line.len); + FTPParsePassiveResponse(ftp_state, line.buf, line.len); } break; case FTP_COMMAND_EPSV: if (line.len >= 4 && SCMemcmp("229 ", line.buf, 4) == 0) { - FTPParsePassiveResponseV6(f, ftp_state, line.buf, line.len); + FTPParsePassiveResponseV6(ftp_state, line.buf, line.len); } break; default: diff --git a/src/app-layer-htp-body.c b/src/app-layer-htp-body.c index 818167de9e..90ae2374d9 100644 --- a/src/app-layer-htp-body.c +++ b/src/app-layer-htp-body.c @@ -45,8 +45,7 @@ extern StreamingBufferConfig htp_sbcfg; * \retval 0 ok * \retval -1 error */ -int HtpBodyAppendChunk(const HTPCfgDir *hcfg, HtpBody *body, - const uint8_t *data, uint32_t len) +int HtpBodyAppendChunk(HtpBody *body, const uint8_t *data, uint32_t len) { SCEnter(); @@ -97,7 +96,7 @@ int HtpBodyAppendChunk(const HTPCfgDir *hcfg, HtpBody *body, * \param body pointer to the HtpBody holding the list * \retval none */ -void HtpBodyFree(const HTPCfgDir *hcfg, HtpBody *body) +void HtpBodyFree(HtpBody *body) { SCEnter(); diff --git a/src/app-layer-htp-body.h b/src/app-layer-htp-body.h index b0a408a1ac..69a46858f1 100644 --- a/src/app-layer-htp-body.h +++ b/src/app-layer-htp-body.h @@ -28,8 +28,8 @@ #ifndef SURICATA_APP_LAYER_HTP_BODY_H #define SURICATA_APP_LAYER_HTP_BODY_H -int HtpBodyAppendChunk(const HTPCfgDir *, HtpBody *, const uint8_t *, uint32_t); -void HtpBodyFree(const HTPCfgDir *, HtpBody *); +int HtpBodyAppendChunk(HtpBody *, const uint8_t *, uint32_t); +void HtpBodyFree(HtpBody *); void HtpBodyPrune(HtpState *, HtpBody *, int); #endif /* SURICATA_APP_LAYER_HTP_BODY_H */ diff --git a/src/app-layer-htp.c b/src/app-layer-htp.c index 03f49ff040..59ac055c47 100644 --- a/src/app-layer-htp.c +++ b/src/app-layer-htp.c @@ -360,8 +360,8 @@ static void *HTPStateAlloc(void *orig_state, AppProto proto_orig) static void HtpTxUserDataFree(HtpState *state, HtpTxUserData *htud) { if (likely(htud)) { - HtpBodyFree(&state->cfg->request, &htud->request_body); - HtpBodyFree(&state->cfg->response, &htud->response_body); + HtpBodyFree(&htud->request_body); + HtpBodyFree(&htud->response_body); bstr_free(htud->request_uri_normalized); if (htud->request_headers_raw) HTPFree(htud->request_headers_raw, htud->request_headers_raw_len); @@ -1483,7 +1483,7 @@ static int HTPCallbackRequestBodyData(htp_tx_data_t *d) (uint32_t)d->len); BUG_ON(len > (uint32_t)d->len); - HtpBodyAppendChunk(&hstate->cfg->request, &tx_ud->request_body, d->data, len); + HtpBodyAppendChunk(&tx_ud->request_body, d->data, len); const uint8_t *chunks_buffer = NULL; uint32_t chunks_buffer_len = 0; @@ -1600,7 +1600,7 @@ static int HTPCallbackResponseBodyData(htp_tx_data_t *d) (uint32_t)d->len); BUG_ON(len > (uint32_t)d->len); - HtpBodyAppendChunk(&hstate->cfg->response, &tx_ud->response_body, d->data, len); + HtpBodyAppendChunk(&tx_ud->response_body, d->data, len); HtpResponseBodyHandle(hstate, tx_ud, d->tx, (uint8_t *)d->data, len); } else { @@ -5586,9 +5586,9 @@ static int HTPBodyReassemblyTest01(void) uint8_t chunk1[] = "--e5a320f21416a02493a0a6f561b1c494\r\nContent-Disposition: form-data; name=\"uploadfile\"; filename=\"D2GUef.jpg\"\r"; uint8_t chunk2[] = "POST /uri HTTP/1.1\r\nHost: hostname.com\r\nKeep-Alive: 115\r\nAccept-Charset: utf-8\r\nUser-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0.1) Gecko/20100101 Firefox/9.0.1\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nConnection: keep-alive\r\nContent-length: 68102\r\nReferer: http://otherhost.com\r\nAccept-Encoding: gzip\r\nContent-Type: multipart/form-data; boundary=e5a320f21416a02493a0a6f561b1c494\r\nCookie: blah\r\nAccept-Language: us\r\n\r\n--e5a320f21416a02493a0a6f561b1c494\r\nContent-Disposition: form-data; name=\"uploadfile\"; filename=\"D2GUef.jpg\"\r"; - int r = HtpBodyAppendChunk(NULL, &htud.request_body, chunk1, sizeof(chunk1)-1); + int r = HtpBodyAppendChunk(&htud.request_body, chunk1, sizeof(chunk1) - 1); BUG_ON(r != 0); - r = HtpBodyAppendChunk(NULL, &htud.request_body, chunk2, sizeof(chunk2)-1); + r = HtpBodyAppendChunk(&htud.request_body, chunk2, sizeof(chunk2) - 1); BUG_ON(r != 0); const uint8_t *chunks_buffer = NULL; diff --git a/src/app-layer-smtp.c b/src/app-layer-smtp.c index 063b55d878..22976ec393 100644 --- a/src/app-layer-smtp.c +++ b/src/app-layer-smtp.c @@ -593,7 +593,7 @@ static AppLayerResult SMTPGetLine(Flow *f, StreamSlice *slice, SMTPState *state, } } -static int SMTPInsertCommandIntoCommandBuffer(uint8_t command, SMTPState *state, Flow *f) +static int SMTPInsertCommandIntoCommandBuffer(uint8_t command, SMTPState *state) { SCEnter(); void *ptmp; @@ -637,8 +637,7 @@ static int SMTPInsertCommandIntoCommandBuffer(uint8_t command, SMTPState *state, return 0; } -static int SMTPProcessCommandBDAT( - SMTPState *state, Flow *f, AppLayerParserState *pstate, const SMTPLine *line) +static int SMTPProcessCommandBDAT(SMTPState *state, const SMTPLine *line) { SCEnter(); @@ -698,8 +697,8 @@ static inline void SMTPTransactionComplete(SMTPState *state) * \retval 0 ok * \retval -1 error */ -static int SMTPProcessCommandDATA(SMTPState *state, SMTPTransaction *tx, Flow *f, - AppLayerParserState *pstate, const SMTPLine *line) +static int SMTPProcessCommandDATA( + SMTPState *state, SMTPTransaction *tx, Flow *f, const SMTPLine *line) { SCEnter(); DEBUG_VALIDATE_BUG_ON(tx == NULL); @@ -715,7 +714,7 @@ static int SMTPProcessCommandDATA(SMTPState *state, SMTPTransaction *tx, Flow *f * acknowledged with a reply. We insert a dummy command to * the command buffer to be used by the reply handler to match * the reply received */ - SMTPInsertCommandIntoCommandBuffer(SMTP_COMMAND_DATA_MODE, state, f); + SMTPInsertCommandIntoCommandBuffer(SMTP_COMMAND_DATA_MODE, state); if (smtp_config.raw_extraction) { /* we use this as the signal that message data is complete. */ FileCloseFile(&tx->files_ts, &smtp_config.sbcfg, NULL, 0, 0); @@ -819,20 +818,14 @@ static int SMTPProcessCommandDATA(SMTPState *state, SMTPTransaction *tx, Flow *f return 0; } -static int SMTPProcessCommandSTARTTLS(SMTPState *state, Flow *f, - AppLayerParserState *pstate) -{ - return 0; -} - static inline bool IsReplyToCommand(const SMTPState *state, const uint8_t cmd) { return (state->cmds_idx < state->cmds_buffer_len && state->cmds[state->cmds_idx] == cmd); } -static int SMTPProcessReply(SMTPState *state, Flow *f, AppLayerParserState *pstate, - SMTPThreadCtx *td, SMTPInput *input, const SMTPLine *line) +static int SMTPProcessReply( + SMTPState *state, Flow *f, SMTPThreadCtx *td, SMTPInput *input, const SMTPLine *line) { SCEnter(); @@ -1107,8 +1100,8 @@ static int NoNewTx(SMTPState *state, const SMTPLine *line) * -1 for errors and inconsistent states * -2 if MIME state could not be allocated * */ -static int SMTPProcessRequest(SMTPState *state, Flow *f, AppLayerParserState *pstate, - SMTPInput *input, const SMTPLine *line, const StreamSlice *slice) +static int SMTPProcessRequest( + SMTPState *state, Flow *f, SMTPInput *input, const SMTPLine *line, const StreamSlice *slice) { SCEnter(); SMTPTransaction *tx = state->curr_tx; @@ -1233,8 +1226,7 @@ static int SMTPProcessRequest(SMTPState *state, Flow *f, AppLayerParserState *ps /* Every command is inserted into a command buffer, to be matched * against reply(ies) sent by the server */ - if (SMTPInsertCommandIntoCommandBuffer(state->current_command, - state, f) == -1) { + if (SMTPInsertCommandIntoCommandBuffer(state->current_command, state) == -1) { SCReturnInt(-1); } @@ -1242,14 +1234,11 @@ static int SMTPProcessRequest(SMTPState *state, Flow *f, AppLayerParserState *ps } switch (state->current_command) { - case SMTP_COMMAND_STARTTLS: - return SMTPProcessCommandSTARTTLS(state, f, pstate); - case SMTP_COMMAND_DATA: - return SMTPProcessCommandDATA(state, tx, f, pstate, line); + return SMTPProcessCommandDATA(state, tx, f, line); case SMTP_COMMAND_BDAT: - return SMTPProcessCommandBDAT(state, f, pstate, line); + return SMTPProcessCommandBDAT(state, line); default: /* we have nothing to do with any other command at this instant. @@ -1287,8 +1276,8 @@ static inline void ResetLine(SMTPLine *line) * 1 for handing control over to GetLine * -1 for errors and inconsistent states * */ -static int SMTPPreProcessCommands(SMTPState *state, Flow *f, AppLayerParserState *pstate, - StreamSlice *slice, SMTPInput *input, SMTPLine *line) +static int SMTPPreProcessCommands( + SMTPState *state, Flow *f, StreamSlice *slice, SMTPInput *input, SMTPLine *line) { DEBUG_VALIDATE_BUG_ON((state->parser_state & SMTP_PARSER_STATE_COMMAND_DATA_MODE) == 0); DEBUG_VALIDATE_BUG_ON(line->len != 0); @@ -1341,7 +1330,7 @@ static int SMTPPreProcessCommands(SMTPState *state, Flow *f, AppLayerParserState input->consumed = total_consumed; input->len -= current_line_consumed; DEBUG_VALIDATE_BUG_ON(input->consumed + input->len != input->orig_len); - if (SMTPProcessRequest(state, f, pstate, input, line, slice) == -1) { + if (SMTPProcessRequest(state, f, input, line, slice) == -1) { return -1; } line_complete = false; @@ -1387,7 +1376,7 @@ static AppLayerResult SMTPParse(uint8_t direction, Flow *f, SMTPState *state, if (((state->current_command == SMTP_COMMAND_DATA) || (state->current_command == SMTP_COMMAND_BDAT)) && (state->parser_state & SMTP_PARSER_STATE_COMMAND_DATA_MODE)) { - int ret = SMTPPreProcessCommands(state, f, pstate, &stream_slice, &input, &line); + int ret = SMTPPreProcessCommands(state, f, &stream_slice, &input, &line); DEBUG_VALIDATE_BUG_ON(ret != 0 && ret != -1 && ret != 1); if (ret == 0 && input.consumed == input.orig_len) { SCReturnStruct(APP_LAYER_OK); @@ -1397,7 +1386,7 @@ static AppLayerResult SMTPParse(uint8_t direction, Flow *f, SMTPState *state, } AppLayerResult res = SMTPGetLine(f, &stream_slice, state, &input, &line, direction); while (res.status == 0) { - int retval = SMTPProcessRequest(state, f, pstate, &input, &line, &stream_slice); + int retval = SMTPProcessRequest(state, f, &input, &line, &stream_slice); if (retval != 0) SCReturnStruct(APP_LAYER_ERROR); if (line.delim_len == 0 && line.len == SMTP_LINE_BUFFER_LIMIT) { @@ -1418,7 +1407,7 @@ static AppLayerResult SMTPParse(uint8_t direction, Flow *f, SMTPState *state, * In case of another boundary, the control should be passed to SMTPGetLine */ if ((input.len > 0) && (state->current_command == SMTP_COMMAND_DATA) && (state->parser_state & SMTP_PARSER_STATE_COMMAND_DATA_MODE)) { - int ret = SMTPPreProcessCommands(state, f, pstate, &stream_slice, &input, &line); + int ret = SMTPPreProcessCommands(state, f, &stream_slice, &input, &line); DEBUG_VALIDATE_BUG_ON(ret != 0 && ret != -1 && ret != 1); if (ret == 0 && input.consumed == input.orig_len) { SCReturnStruct(APP_LAYER_OK); @@ -1434,7 +1423,7 @@ static AppLayerResult SMTPParse(uint8_t direction, Flow *f, SMTPState *state, } else { AppLayerResult res = SMTPGetLine(f, &stream_slice, state, &input, &line, direction); while (res.status == 0) { - if (SMTPProcessReply(state, f, pstate, thread_data, &input, &line) != 0) + if (SMTPProcessReply(state, f, thread_data, &input, &line) != 0) SCReturnStruct(APP_LAYER_ERROR); if (line.delim_len == 0 && line.len == SMTP_LINE_BUFFER_LIMIT) { if (!line.lf_found) {