suricata
|
#include "suricata-common.h"
#include "util-print.h"
#include "flow.h"
#include "stream-tcp.h"
#include "app-layer-frames.h"
#include "app-layer-parser.h"
Go to the source code of this file.
Data Structures | |
struct | FrameConfig |
Macros | |
#define | FrameDebug(prefix, frames, frame) |
Functions | |
void | FrameConfigInit (void) |
void | FrameConfigEnableAll (void) |
void | FrameConfigEnable (const AppProto p, const uint8_t type) |
Frame * | FrameGetLastOpenByType (Frames *frames, const uint8_t frame_type) |
Frame * | FrameGetById (Frames *frames, const int64_t id) |
Frame * | FrameGetByIndex (Frames *frames, const uint32_t idx) |
void | AppLayerFramesSlide (Flow *f, const uint32_t slide, const uint8_t direction) |
void | FramesFree (Frames *frames) |
Frame * | AppLayerFrameNewByPointer (Flow *f, const StreamSlice *stream_slice, const uint8_t *frame_start, const int64_t len, int dir, uint8_t frame_type) |
create new frame using a pointer to start of the frame More... | |
Frame * | AppLayerFrameNewByRelativeOffset (Flow *f, const StreamSlice *stream_slice, const uint32_t frame_start_rel, const int64_t len, int dir, uint8_t frame_type) |
create new frame using a relative offset from the start of the stream slice More... | |
void | AppLayerFrameDump (Flow *f) |
Frame * | AppLayerFrameNewByAbsoluteOffset (Flow *f, const StreamSlice *stream_slice, const uint64_t frame_start, const int64_t len, int dir, uint8_t frame_type) |
create new frame using the absolute offset from the start of the stream More... | |
void | AppLayerFrameAddEvent (Frame *r, uint8_t e) |
void | AppLayerFrameAddEventById (Flow *f, const int dir, const FrameId id, uint8_t e) |
FrameId | AppLayerFrameGetId (Frame *r) |
void | AppLayerFrameSetLength (Frame *frame, int64_t len) |
void | AppLayerFrameSetLengthById (Flow *f, const int dir, const FrameId id, int64_t len) |
void | AppLayerFrameSetTxId (Frame *r, uint64_t tx_id) |
void | AppLayerFrameSetTxIdById (Flow *f, const int dir, const FrameId id, uint64_t tx_id) |
Frame * | AppLayerFrameGetById (Flow *f, const int dir, const FrameId frame_id) |
Frame * | AppLayerFrameGetLastOpenByType (Flow *f, const int dir, const uint8_t frame_type) |
void | FramesPrune (Flow *f, Packet *p) |
Definition in file app-layer-frames.c.
#define FrameDebug | ( | prefix, | |
frames, | |||
frame | |||
) |
Definition at line 86 of file app-layer-frames.c.
void AppLayerFrameAddEvent | ( | Frame * | r, |
uint8_t | e | ||
) |
Definition at line 630 of file app-layer-frames.c.
References Frame::event_cnt, Frame::events, and FrameDebug.
Referenced by AppLayerFrameAddEventById().
Definition at line 640 of file app-layer-frames.c.
References AppLayerFrameAddEvent(), and AppLayerFrameGetById().
void AppLayerFrameDump | ( | Flow * | f | ) |
Definition at line 573 of file app-layer-frames.c.
References Flow_::alparser, AppLayerFramesGetContainer(), Flow_::proto, Flow_::protoctx, FramesContainer::toclient, and FramesContainer::toserver.
Definition at line 684 of file app-layer-frames.c.
References AppLayerFramesGetContainer(), FrameGetById(), SCLogDebug, FramesContainer::toclient, and FramesContainer::toserver.
Referenced by AppLayerFrameAddEventById(), AppLayerFrameSetLengthById(), and AppLayerFrameSetTxIdById().
Definition at line 646 of file app-layer-frames.c.
References Frame::id.
Definition at line 702 of file app-layer-frames.c.
Frame* AppLayerFrameNewByAbsoluteOffset | ( | Flow * | f, |
const StreamSlice * | stream_slice, | ||
const uint64_t | frame_start, | ||
const int64_t | len, | ||
int | dir, | ||
uint8_t | frame_type | ||
) |
create new frame using the absolute offset from the start of the stream
Definition at line 588 of file app-layer-frames.c.
Frame* AppLayerFrameNewByPointer | ( | Flow * | f, |
const StreamSlice * | stream_slice, | ||
const uint8_t * | frame_start, | ||
const int64_t | len, | ||
int | dir, | ||
uint8_t | frame_type | ||
) |
create new frame using a pointer to start of the frame
Definition at line 447 of file app-layer-frames.c.
References SCLogDebug.
Frame* AppLayerFrameNewByRelativeOffset | ( | Flow * | f, |
const StreamSlice * | stream_slice, | ||
const uint32_t | frame_start_rel, | ||
const int64_t | len, | ||
int | dir, | ||
uint8_t | frame_type | ||
) |
create new frame using a relative offset from the start of the stream slice
Definition at line 526 of file app-layer-frames.c.
void AppLayerFrameSetLength | ( | Frame * | frame, |
int64_t | len | ||
) |
Definition at line 655 of file app-layer-frames.c.
References FrameDebug, len, and Frame::len.
Referenced by AppLayerFrameSetLengthById().
Definition at line 663 of file app-layer-frames.c.
References AppLayerFrameGetById(), AppLayerFrameSetLength(), and len.
void AppLayerFrameSetTxId | ( | Frame * | r, |
uint64_t | tx_id | ||
) |
Definition at line 669 of file app-layer-frames.c.
References Frame::flags, FRAME_FLAG_TX_ID_SET, FrameDebug, and Frame::tx_id.
Referenced by AppLayerFrameSetTxIdById().
Definition at line 678 of file app-layer-frames.c.
References AppLayerFrameGetById(), and AppLayerFrameSetTxId().
void AppLayerFramesSlide | ( | Flow * | f, |
const uint32_t | slide, | ||
const uint8_t | direction | ||
) |
Definition at line 392 of file app-layer-frames.c.
References AppLayerFramesGetContainer(), TcpSession_::client, Flow_::protoctx, and FramesContainer::toserver.
void FrameConfigEnable | ( | const AppProto | p, |
const uint8_t | type | ||
) |
Definition at line 54 of file app-layer-frames.c.
void FrameConfigEnableAll | ( | void | ) |
Definition at line 45 of file app-layer-frames.c.
References ALPROTO_MAX.
void FrameConfigInit | ( | void | ) |
Definition at line 38 of file app-layer-frames.c.
References ALPROTO_MAX, and SC_ATOMIC_INIT.
Referenced by GlobalsInitPreConfig().
Definition at line 114 of file app-layer-frames.c.
References Frames::cnt, Frames::dframes, FrameDebug, FRAMES_STATIC_CNT, Frame::id, SCLogDebug, and Frames::sframes.
Referenced by AppLayerFrameGetById().
Definition at line 134 of file app-layer-frames.c.
References Frames::cnt, Frames::dframes, FrameDebug, FRAMES_STATIC_CNT, and Frames::sframes.
Definition at line 91 of file app-layer-frames.c.
References Frames::cnt, Frames::dframes, FrameDebug, FRAMES_STATIC_CNT, Frame::len, SCLogDebug, Frames::sframes, and Frame::type.
void FramesFree | ( | Frames * | frames | ) |
Definition at line 437 of file app-layer-frames.c.
References BUG_ON.
Definition at line 816 of file app-layer-frames.c.
References AppLayerFramesGetContainer(), PKT_IS_TOSERVER, Flow_::proto, Packet_::proto, Flow_::protoctx, SCLogDebug, FramesContainer::toclient, and FramesContainer::toserver.