Lukas Sismis
cb6fa894ef
dpdk: add a check for HW checksum validation offload
...
Ticket: #5553
4 years ago
Victor Julien
da1ad843b4
time: -Wstrict-prototypes fix
4 years ago
Jeff Lucovsky
9fbe683642
time: Rework SCTime_t into a struct
...
Issue: 5718
This commit changes SCTime_t to a struct with members setup as
bitfields.
4 years ago
Jeff Lucovsky
31793aface
time: Replace struct timeval with scalar value
...
Issue: 5718
This commit switches the majority of time handling to a new type --
SCTime_t -- which is a 64 bit container for time:
- 44 bits -- seconds
- 20 bits -- useconds
4 years ago
Jeff Lucovsky
7702ad410e
format/clang: Apply clang-format
...
Issue: 5718
4 years ago
Victor Julien
c15d511064
frames: enable only used frames
...
Enable only frames that are actually used.
Ticket: #4979 .
4 years ago
Victor Julien
6cc9811edd
files: move FileContainer into FileTransferTracker
...
Update SMB, NFS, HTTP2.
4 years ago
Victor Julien
aa376a3b21
detect/frame: improve frame detection
...
Add a per frame progress tracker.
4 years ago
Victor Julien
169ee11ead
output/frame: log frame type stream
4 years ago
Victor Julien
d72bc364de
output/frame: improve 'complete' logging
4 years ago
Victor Julien
6cbb5306c6
frame: add debug validation check
4 years ago
Victor Julien
b43dc5a64a
app-layer/frames: use absolute frame offset
...
Frame offset was already a 64 bit integer, so simplify things by
making it an absolute offset from the start of the stream.
4 years ago
Victor Julien
39d9b3adbe
frames: implement generic <alproto>.stream frames
...
Add a hard coded <alproto>.stream option for all stream data for
a protocol.
Starts at stream offset 0 or at the point of a protocol upgrade
in case of STARTTLS or CONNECT.
4 years ago
Victor Julien
f773b714e9
detect/frames: minor cleanup in buffer handling
...
Don't lookup a buffer twice, even if the lookup should be fast.
4 years ago
Victor Julien
d0f1507c83
htp: simplify streaming buffer config
...
Use a single static config instead of the per profile config.
4 years ago
Victor Julien
c79c0ca347
streaming: remove config pointer from struct
4 years ago
Victor Julien
53d9a1f39f
streaming: internal switch to sbcfg by argument
4 years ago
Victor Julien
ff882cd73f
streaming: add sbcfg to StreamingBufferClear
4 years ago
Victor Julien
6e5f35e0a0
streaming: add sbcfg to StreamingBufferFree
4 years ago
Victor Julien
96f29440cb
streaming: add sbcfg to StreamingBufferAppendRaw
4 years ago
Victor Julien
30ee9165b5
streaming: add sbcfg to StreamingBufferAppend
4 years ago
Victor Julien
3b5deb4ec7
streaming: add sbcfg to StreamingBufferSlideToOffset
4 years ago
Victor Julien
b9540d1073
streaming: add sbcfg to StreamingBufferInsertAt
4 years ago
Victor Julien
058dc02e81
streaming: add sbcfg to StreamingBufferAppendNoTrack
4 years ago
Victor Julien
355f259b8c
output/filedata: trunc file in output again
4 years ago
Victor Julien
e3e55406a7
files: update API and callers to take stream config
...
This is to allow not storing the stream buffer config in each file.
4 years ago
Victor Julien
f7dbdb7631
output/filedata: don't call file close
...
Will be reenabled after file API is updated.
4 years ago
Victor Julien
71bc9e75f5
app-layer: get sbconfg with files
4 years ago
Victor Julien
a1a221066f
files: remove filecontainer drop trait
...
In preparation of it becoming impossible to use due to the free
function getting an cfg argument.
4 years ago
Victor Julien
0320c03f8c
http2: explicity free files
...
In preparation of adding an argument to the free functions which
means the drop trait can't be used anymore.
4 years ago
Victor Julien
4b1e9f7c21
smb: explicity free files
...
In preparation of adding an argument to the free functions which
means the drop trait can't be used anymore.
4 years ago
Victor Julien
3a24cce289
nfs: explicity free files
...
In preparation of adding an argument to the free functions which
means the drop trait can't be used anymore.
4 years ago
Victor Julien
4bfeac6591
nfs: file handling cleanups
4 years ago
Victor Julien
33f6a16290
smb: file handling cleanups
4 years ago
Victor Julien
d57510a10f
files: remove unused Rust binding for file pruning
4 years ago
Victor Julien
f19b40a7f6
streaming: set size and max regions defaults
4 years ago
Victor Julien
229b82721d
htp: remove duplicate prototypes
4 years ago
Victor Julien
f788d31f22
htp/body: minor optimization
4 years ago
Victor Julien
b62a513c47
flow: inline commonly used getters
4 years ago
Victor Julien
76a256a8b1
streaming: remove inefficient buffer grow logic
4 years ago
Victor Julien
467234659d
streaming: remove unused slide logic
4 years ago
Victor Julien
0b36bde9be
streaming: remove unused config member
4 years ago
Victor Julien
2cfbefb6c6
streaming: make minimum region gap size configurable
4 years ago
Victor Julien
8e9dac99f3
stream/reassembly: make max-regions configurable; set default
4 years ago
Victor Julien
f896f03b7b
streaming: add max regions config option
4 years ago
Victor Julien
42d3cd2061
stream/list: hack around GAP handling in tests
4 years ago
Victor Julien
d2001ef94b
stream: improve gap tests
4 years ago
Victor Julien
96dfd65b96
eve: log max regions
4 years ago
Victor Julien
1bb6f44ff0
stream: flow timeout improvement
...
Check continuous data for app-layer and post gap data as well for
stream inspection.
4 years ago
Victor Julien
1dac2467c5
streaming: implement memory regions
...
In TCP, large gaps in the data could lead to an extremely poor utilization
of the streaming buffer memory. This was caused by the implementation using
a single continues memory allocation from the "stream offset" to the
current data. If a 100 byte segment was inserted for ISN + 20MiB, we would
allocate 20MiB, even if only 100 bytes were actually used.
This patch addresses the issue by implementing a list of memory regions.
The StreamingBuffer structure holds a static "main" region, which can be
extended in the form of a simple list of regions.
[ main region ] [ gap ] [ aux region ]
[ sbb ] [ sbb ]
On insert, find the correct region and see if the new data fits. If it
doesn't, see if we can expand the current region, or than we need to add
a new region. If expanding the current region means we overlap or get
too close to the next region, we merge them.
On sliding, we free any regions that slide out of window and consolidate
auxilary regions into main where needed.
Bug: #4580 .
4 years ago