suricata
|
#include "stream-tcp-private.h"
Go to the source code of this file.
Functions | |
int | StreamTcpInlineSegmentCompare (const TcpStream *, const Packet *, const TcpSegment *) |
Compare the shared data portion of two segments. More... | |
void | StreamTcpInlineSegmentReplacePacket (const TcpStream *, Packet *, const TcpSegment *) |
Replace (part of) the payload portion of a packet by the data in a TCP segment. More... | |
void | StreamTcpInlineRegisterTests (void) |
Definition in file stream-tcp-inline.h.
void StreamTcpInlineRegisterTests | ( | void | ) |
Definition at line 186 of file stream-tcp-inline.c.
References UtRegisterTest().
int StreamTcpInlineSegmentCompare | ( | const TcpStream * | stream, |
const Packet * | p, | ||
const TcpSegment * | seg | ||
) |
Compare the shared data portion of two segments.
If no data is shared, 0 will be returned.
seg1 | first segment |
seg2 | second segment |
0 | shared data is the same (or no data is shared) |
1 | shared data is different |
Definition at line 49 of file stream-tcp-inline.c.
References TcpStream_::base_seq, BUG_ON, DEBUG_VALIDATE_BUG_ON, Packet_::payload, Packet_::payload_len, TcpStream_::sb, TcpSegment::sbseg, SCEnter, SCLogDebug, SCMemcmp, SCReturnInt, seq, TcpSegment::seq, SEQ_EQ, SEQ_GT, SEQ_LEQ, SEQ_LT, SEQ_MAX, SEQ_MIN, StreamingBufferSegmentGetData(), TCP_GET_SEQ, and TCP_SEG_LEN.
void StreamTcpInlineSegmentReplacePacket | ( | const TcpStream * | stream, |
Packet * | p, | ||
const TcpSegment * | seg | ||
) |
Replace (part of) the payload portion of a packet by the data in a TCP segment.
p | Packet |
seg | TCP segment |
What about reassembled fragments?
What about unwrapped tunnel packets?
Definition at line 120 of file stream-tcp-inline.c.
References BUG_ON, Packet_::flags, Packet_::payload, Packet_::payload_len, PKT_STREAM_MODIFIED, TcpStream_::sb, TcpSegment::sbseg, SCEnter, SCLogDebug, SCReturn, seq, TcpSegment::seq, SEQ_GT, SEQ_LT, StreamingBufferSegmentGetData(), TCP_GET_SEQ, and TCP_SEG_LEN.