app-layer-htp-body.c File Reference
#include "suricata-common.h"
#include "app-layer-htp.h"
#include "app-layer-htp-mem.h"
#include "app-layer-htp-body.h"
#include "util-streaming-buffer.h"
#include "util-print.h"
Include dependency graph for app-layer-htp-body.c:

Go to the source code of this file.


int HtpBodyAppendChunk (const HTPCfgDir *hcfg, HtpBody *body, const uint8_t *data, uint32_t len)
 Append a chunk of body to the HtpBody struct. More...
void HtpBodyPrint (HtpBody *body)
 Print the information and chunks of a Body. More...
void HtpBodyFree (HtpBody *body)
 Free the information held in the request body. More...
void HtpBodyPrune (HtpState *state, HtpBody *body, int direction)
 Free request body chunks that are already fully parsed. More...

Detailed Description

Function Documentation

◆ HtpBodyAppendChunk()

int HtpBodyAppendChunk ( const HTPCfgDir hcfg,
HtpBody body,
const uint8_t *  data,
uint32_t  len 

Append a chunk of body to the HtpBody struct.

bodypointer to the HtpBody holding the list
datapointer to the data of the chunk
lenlength of the chunk pointed by data
Return values

Definition at line 48 of file app-layer-htp-body.c.

References len, HtpBody_::sb, HTPCfgDir_::sbcfg, SCEnter, and SCReturnInt.

◆ HtpBodyPrune()

void HtpBodyPrune ( HtpState state,
HtpBody body,
int  direction 

Free request body chunks that are already fully parsed.

statehtp_state, with reference to our config
bodythe body to prune
directionSTREAM_TOSERVER (request), STREAM_TOCLIENT (response)
Return values

Definition at line 152 of file app-layer-htp-body.c.

References HtpBody_::body_inspected, HtpBody_::body_parsed, HtpState_::cfg, HtpBody_::content_len_so_far, HtpBody_::first, HTPFree(), HTPCfgDir_::inspect_min_size, HTPCfgDir_::inspect_window, HtpBody_::last, next, HtpBodyChunk_::next, HTPCfgRec_::request, HTPCfgRec_::response, HtpBody_::sb, HtpBodyChunk_::sbseg, SCEnter, SCLogDebug, SCReturn, StreamingBufferSegmentIsBeforeWindow(), and StreamingBufferSlideToOffset().

Here is the call graph for this function: