|
suricata
|

Go to the source code of this file.
Data Structures | |
| struct | Frame |
| struct | Frames |
| struct | FramesContainer |
Macros | |
| #define | FRAME_ANY_TYPE 62 |
| #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 * | SCAppLayerFrameNewByRelativeOffset (Flow *f, const void *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 (const Flow *f, const int direction, const FrameId frame_id) |
| Frame * | AppLayerFrameGetLastOpenByType (Flow *f, const int direction, const uint8_t frame_type) |
| void | AppLayerFrameAddEvent (Frame *frame, uint8_t e) |
| void | SCAppLayerFrameAddEventById (const Flow *f, const int dir, const FrameId id, uint8_t e) |
| void | AppLayerFrameSetLength (Frame *frame, int64_t len) |
| void | SCAppLayerFrameSetLengthById (const Flow *f, const int dir, const FrameId id, int64_t len) |
| void | AppLayerFrameSetTxId (Frame *r, uint64_t tx_id) |
| void | SCAppLayerFrameSetTxIdById (const 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 (const Flow *f) |
| FramesContainer * | AppLayerFramesSetupContainer (Flow *f) |
| void | FrameConfigInit (void) |
| void | FrameConfigDeInit (void) |
| void | FrameConfigEnableAll (void) |
| void | FrameConfigEnable (const AppProto p, const uint8_t type) |
Definition in file app-layer-frames.h.
| #define FRAME_ANY_TYPE 62 |
special value for matching any type
Definition at line 29 of 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 651 of file app-layer-frames.c.
References Frame::event_cnt, Frame::events, and FrameDebug.
Referenced by SCAppLayerFrameAddEventById().

| void AppLayerFrameDump | ( | Flow * | f | ) |
Definition at line 594 of file app-layer-frames.c.
References Flow_::alparser, AppLayerFramesGetContainer(), Flow_::proto, Flow_::protoctx, FramesContainer::toclient, and FramesContainer::toserver.

Definition at line 696 of file app-layer-frames.c.
References AppLayerFramesGetContainer(), FrameGetById(), SCLogDebug, FramesContainer::toclient, and FramesContainer::toserver.
Referenced by SCAppLayerFrameAddEventById(), SCAppLayerFrameSetLengthById(), and SCAppLayerFrameSetTxIdById().


Definition at line 714 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 609 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 464 of file app-layer-frames.c.
References SCLogDebug.
| void AppLayerFrameSetLength | ( | Frame * | frame, |
| int64_t | len | ||
| ) |
Definition at line 667 of file app-layer-frames.c.
References FrameDebug, len, and Frame::len.
Referenced by SCAppLayerFrameSetLengthById().

| void AppLayerFrameSetTxId | ( | Frame * | r, |
| uint64_t | tx_id | ||
| ) |
Definition at line 681 of file app-layer-frames.c.
References Frame::flags, FRAME_FLAG_TX_ID_SET, FrameDebug, and Frame::tx_id.
Referenced by SCAppLayerFrameSetTxIdById().

| FramesContainer* AppLayerFramesGetContainer | ( | const Flow * | f | ) |
Definition at line 184 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 191 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 409 of file app-layer-frames.c.
References AppLayerFramesGetContainer(), TcpSession_::client, Flow_::protoctx, and FramesContainer::toserver.

| void FrameConfigDeInit | ( | void | ) |
Definition at line 51 of file app-layer-frames.c.
References SCFree.
Referenced by AppLayerDeSetup().

| void FrameConfigEnable | ( | const AppProto | p, |
| const uint8_t | type | ||
| ) |
Definition at line 65 of file app-layer-frames.c.
| void FrameConfigEnableAll | ( | void | ) |
Definition at line 56 of file app-layer-frames.c.
References g_alproto_max.
| void FrameConfigInit | ( | void | ) |
Definition at line 40 of file app-layer-frames.c.
Definition at line 125 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 145 of file app-layer-frames.c.
References Frames::cnt, Frames::dframes, FrameDebug, FRAMES_STATIC_CNT, and Frames::sframes.
Definition at line 102 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 454 of file app-layer-frames.c.
References DEBUG_VALIDATE_BUG_ON.
Definition at line 836 of file app-layer-frames.c.
References AppLayerFramesGetContainer(), PKT_IS_TOSERVER, Flow_::proto, Packet_::proto, Flow_::protoctx, SCLogDebug, FramesContainer::toclient, and FramesContainer::toserver.

Definition at line 661 of file app-layer-frames.c.
References AppLayerFrameAddEvent(), and AppLayerFrameGetById().

| Frame* SCAppLayerFrameNewByRelativeOffset | ( | Flow * | f, |
| const void * | 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 543 of file app-layer-frames.c.
Definition at line 675 of file app-layer-frames.c.
References AppLayerFrameGetById(), AppLayerFrameSetLength(), and len.

Definition at line 690 of file app-layer-frames.c.
References AppLayerFrameGetById(), and AppLayerFrameSetTxId().
