suricata
|
#include "rust.h"
Go to the source code of this file.
Data Structures | |
struct | Frame |
struct | Frames |
struct | FramesContainer |
Macros | |
#define | FRAME_STREAM_TYPE 63 |
#define | FRAME_FLAG_TX_ID_SET BIT_U8(FRAME_FLAGE_TX_ID_SET) |
#define | FRAME_FLAG_ENDS_AT_EOF BIT_U8(FRAME_FLAGE_ENDS_AT_EOF) |
#define | FRAME_FLAG_LOGGED BIT_U8(FRAME_FLAGE_LOGGED) |
#define | FRAMES_STATIC_CNT 3 |
Typedefs | |
typedef int64_t | FrameId |
typedef struct Frame | Frame |
typedef struct Frames | Frames |
typedef struct FramesContainer | FramesContainer |
Enumerations | |
enum | { FRAME_FLAGE_TX_ID_SET, FRAME_FLAGE_ENDS_AT_EOF, FRAME_FLAGE_LOGGED } |
Functions | |
void | FramesFree (Frames *frames) |
void | FramesPrune (Flow *f, Packet *p) |
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... | |
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 | AppLayerFrameDump (Flow *f) |
Frame * | FrameGetByIndex (Frames *frames, const uint32_t idx) |
Frame * | FrameGetById (Frames *frames, const int64_t id) |
Frame * | FrameGetLastOpenByType (Frames *frames, const uint8_t frame_type) |
Frame * | AppLayerFrameGetById (Flow *f, const int direction, const FrameId frame_id) |
Frame * | AppLayerFrameGetLastOpenByType (Flow *f, const int direction, const uint8_t frame_type) |
FrameId | AppLayerFrameGetId (Frame *r) |
void | AppLayerFrameAddEvent (Frame *frame, uint8_t e) |
void | AppLayerFrameAddEventById (Flow *f, const int dir, const FrameId id, uint8_t e) |
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) |
void | AppLayerFramesSlide (Flow *f, const uint32_t slide, const uint8_t direction) |
FramesContainer * | AppLayerFramesGetContainer (Flow *f) |
FramesContainer * | AppLayerFramesSetupContainer (Flow *f) |
void | FrameConfigInit (void) |
void | FrameConfigEnableAll (void) |
void | FrameConfigEnable (const AppProto p, const uint8_t type) |
Definition in file app-layer-frames.h.
#define FRAME_FLAG_ENDS_AT_EOF BIT_U8(FRAME_FLAGE_ENDS_AT_EOF) |
Definition at line 39 of file app-layer-frames.h.
#define FRAME_FLAG_LOGGED BIT_U8(FRAME_FLAGE_LOGGED) |
Definition at line 41 of file app-layer-frames.h.
#define FRAME_FLAG_TX_ID_SET BIT_U8(FRAME_FLAGE_TX_ID_SET) |
Definition at line 37 of file app-layer-frames.h.
#define FRAME_STREAM_TYPE 63 |
max 63 to fit the 64 bit per protocol space
Definition at line 31 of file app-layer-frames.h.
#define FRAMES_STATIC_CNT 3 |
Definition at line 57 of file app-layer-frames.h.
typedef int64_t FrameId |
Definition at line 32 of file app-layer-frames.h.
typedef struct FramesContainer FramesContainer |
anonymous enum |
Enumerator | |
---|---|
FRAME_FLAGE_TX_ID_SET | |
FRAME_FLAGE_ENDS_AT_EOF | |
FRAME_FLAGE_LOGGED |
Definition at line 34 of file app-layer-frames.h.
void AppLayerFrameAddEvent | ( | Frame * | frame, |
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().
FramesContainer* AppLayerFramesGetContainer | ( | Flow * | f | ) |
Definition at line 173 of file app-layer-parser.c.
References Flow_::alparser, and AppLayerParserState_::frames.
Referenced by AppLayerFrameDump(), AppLayerFrameGetById(), AppLayerFramesSlide(), FlowNeedsReassembly(), and FramesPrune().
FramesContainer* AppLayerFramesSetupContainer | ( | Flow * | f | ) |
Definition at line 180 of file app-layer-parser.c.
References Flow_::alparser, Flow_::alproto, DEBUG_VALIDATE_BUG_ON, AppLayerParserState_::frames, Flow_::proto, Flow_::protoctx, SCCalloc, FramesContainer::toclient, and FramesContainer::toserver.
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.