Commit graph

41 commits

Author SHA1 Message Date
Victor Julien
32afba47dd packet: store livedev by id 2026-05-16 05:41:55 +00:00
Jason Ish
a11aaadd86 plugins: add --plugin command line option to load plugins
Add --plugin <PATH> to load an additional plugin from the command
line. This is more convenient than "--set plugins.X" especially when
you may already have a plugins loaded and you want to load an
additional one.

Ticket: 8463
2026-04-13 05:01:53 +00:00
Jason Ish
336b50ae9e storage: prefix core API with SC
Some checks failed
builds / Fedora (non-root, debug, clang, asan, wshadow, rust-strict, no-ja) (push) Has been cancelled
builds / AlmaLinux 9 (no jansson) (push) Has been cancelled
builds / AlmaLinux 9 (Minimal/Recommended Build) (push) Has been cancelled
builds / Ubuntu 24.04 (cocci) (push) Has been cancelled
builds / Ubuntu 24.04 (RUSTC+CARGO vars) (push) Has been cancelled
builds / Ubuntu 24.04 (unittests coverage) (push) Has been cancelled
builds / Ubuntu 24.04 (unix socket mode coverage) (push) Has been cancelled
builds / Ubuntu 24.04 (afpacket and dpdk coverage) (push) Has been cancelled
builds / Ubuntu 24.04 (pcap unix socket ASAN) (push) Has been cancelled
builds / Ubuntu 24.04 (afpacket IPS tests in namespaces) (push) Has been cancelled
builds / Ubuntu 24.04 (afpacket and dpdk live tests with ASAN) (push) Has been cancelled
builds / Ubuntu 24.04 (fuzz corpus coverage) (push) Has been cancelled
builds / Ubuntu 20.04 (-DNDEBUG) (push) Has been cancelled
builds / Ubuntu 20.04 (unsupported rust) (push) Has been cancelled
builds / Ubuntu 22.04 (Debug Validation) (push) Has been cancelled
builds / Ubuntu 22.04 (Fuzz) (push) Has been cancelled
builds / Ubuntu 22.04 (Netmap build) (push) Has been cancelled
builds / Ubuntu 22.04 (Minimal/Recommended Build) (push) Has been cancelled
builds / Ubuntu 22.04 (DPDK Build) (push) Has been cancelled
builds / Debian 12 (xdp) (push) Has been cancelled
builds / Debian 13 (xdp) (push) Has been cancelled
builds / Ubuntu 22.04 Dist Builder (push) Has been cancelled
builds / Debian 12 MSRV (push) Has been cancelled
builds / Debian 11 (push) Has been cancelled
builds / MacOS Latest (push) Has been cancelled
builds / Windows MSYS2 MINGW64 (NPcap) (push) Has been cancelled
builds / Windows MSYS2 MINGW64 (libpcap) (push) Has been cancelled
builds / Windows MSYS2 UCRT64 (libpcap) (push) Has been cancelled
builds / Windows MSYS2 MINGW64 (WinDivert) (push) Has been cancelled
builds / PF_RING (push) Has been cancelled
2026-04-03 10:16:59 +00:00
Jason Ish
67bd09ba2c thread/storage: prefix API with SC
In preparation for Rust bindings.
2026-04-03 10:16:59 +00:00
Jason Ish
137f59f542 flow/storage: prefix API with SC
In preparation for adding Rust bindings.
2026-04-03 10:16:59 +00:00
Jason Ish
cd9993c568 storage: remove the size registration parameter
Some checks are pending
builds / Ubuntu 24.04 (afpacket and dpdk coverage) (push) Blocked by required conditions
builds / Ubuntu 24.04 (pcap unix socket ASAN) (push) Blocked by required conditions
builds / Ubuntu 24.04 (afpacket IPS tests in namespaces) (push) Blocked by required conditions
builds / Ubuntu 24.04 (afpacket and dpdk live tests with ASAN) (push) Blocked by required conditions
builds / Ubuntu 24.04 (fuzz corpus coverage) (push) Blocked by required conditions
builds / Ubuntu 20.04 (-DNDEBUG) (push) Blocked by required conditions
builds / Ubuntu 20.04 (unsupported rust) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Debug Validation) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Fuzz) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Netmap build) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Minimal/Recommended Build) (push) Blocked by required conditions
builds / Ubuntu 22.04 (DPDK Build) (push) Blocked by required conditions
builds / Debian 12 (xdp) (push) Blocked by required conditions
builds / Debian 13 (xdp) (push) Blocked by required conditions
builds / Ubuntu 22.04 Dist Builder (push) Blocked by required conditions
builds / Debian 12 MSRV (push) Blocked by required conditions
builds / Debian 11 (push) Blocked by required conditions
builds / MacOS Latest (push) Blocked by required conditions
builds / Windows MSYS2 MINGW64 (NPcap) (push) Blocked by required conditions
builds / Windows MSYS2 MINGW64 (libpcap) (push) Blocked by required conditions
builds / Windows MSYS2 UCRT64 (libpcap) (push) Blocked by required conditions
builds / Windows MSYS2 MINGW64 (WinDivert) (push) Blocked by required conditions
builds / PF_RING (push) Blocked by required conditions
CodeQL (Rust/C) / Analyze (push) Waiting to run
docs / Prepare dependencies (push) Waiting to run
docs / Prepare cbindgen (push) Waiting to run
docs / Ubuntu 22.04 Dist Builder (push) Blocked by required conditions
Nix Env Build / tests (push) Waiting to run
Scan-build / Scan-build (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
With the Alloc callback gone, the size is no longer needed.
2026-03-30 08:10:36 +00:00
Jason Ish
f337cd573b storage: remove alloc callback as its unused
Remove the "Alloc" callback from the storage API, it was only being
used in tests without any real usage.
2026-03-30 08:10:36 +00:00
Jeff Lucovsky
448915fb55 capture/napatech: 0-pad thread names
Some checks are pending
builds / Ubuntu 24.04 (afpacket and dpdk coverage) (push) Blocked by required conditions
builds / Ubuntu 24.04 (pcap unix socket ASAN) (push) Blocked by required conditions
builds / Ubuntu 24.04 (afpacket IPS tests in namespaces) (push) Blocked by required conditions
builds / Ubuntu 24.04 (afpacket and dpdk live tests with ASAN) (push) Blocked by required conditions
builds / Ubuntu 24.04 (fuzz corpus coverage) (push) Blocked by required conditions
builds / Ubuntu 20.04 (-DNDEBUG) (push) Blocked by required conditions
builds / Ubuntu 20.04 (unsupported rust) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Debug Validation) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Fuzz) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Netmap build) (push) Blocked by required conditions
builds / Ubuntu 22.04 (Minimal/Recommended Build) (push) Blocked by required conditions
builds / Ubuntu 22.04 (DPDK Build) (push) Blocked by required conditions
builds / Debian 12 (xdp) (push) Blocked by required conditions
builds / Debian 13 (xdp) (push) Blocked by required conditions
builds / Ubuntu 22.04 Dist Builder (push) Blocked by required conditions
builds / Debian 12 MSRV (push) Blocked by required conditions
builds / Debian 11 (push) Blocked by required conditions
builds / MacOS Latest (push) Blocked by required conditions
builds / Windows MSYS2 MINGW64 (NPcap) (push) Blocked by required conditions
builds / Windows MSYS2 MINGW64 (libpcap) (push) Blocked by required conditions
builds / Windows MSYS2 UCRT64 (libpcap) (push) Blocked by required conditions
builds / Windows MSYS2 MINGW64 (WinDivert) (push) Blocked by required conditions
builds / PF_RING (push) Blocked by required conditions
CodeQL (Rust/C) / Analyze (push) Waiting to run
docs / Prepare dependencies (push) Waiting to run
docs / Prepare cbindgen (push) Waiting to run
docs / Ubuntu 22.04 Dist Builder (push) Blocked by required conditions
Nix Env Build / tests (push) Waiting to run
Scan-build / Scan-build (push) Waiting to run
Scorecards supply-chain security / Scorecards analysis (push) Waiting to run
Apply zero-padding to Napatech worker threads so alphanumeric sorting
displays workers in proper order.

Set padding for thread names according to stream count:

1-9 streams: no padding, e.g, nt1, nt9
10-99 streams: use padding, e.g, nt01, nt99
100-999 streams: use padding, e.g, nt001, nt099, nt999

This will insure that thread names, when sorted alphanumerically,
maintain thread worker id order.

Issue: 8337
2026-03-23 21:10:04 +00:00
Antoine Abou Faysal
29834e3917 plugins/ndpi: guard against NULL f->storage in all callbacks
Some checks failed
builds / AlmaLinux 9 (no jansson) (push) Has been cancelled
builds / AlmaLinux 9 (Minimal/Recommended Build) (push) Has been cancelled
builds / Ubuntu 24.04 (cocci) (push) Has been cancelled
builds / Ubuntu 24.04 (RUSTC+CARGO vars) (push) Has been cancelled
builds / Ubuntu 24.04 (unittests coverage) (push) Has been cancelled
builds / Ubuntu 24.04 (unix socket mode coverage) (push) Has been cancelled
builds / Ubuntu 24.04 (afpacket and dpdk coverage) (push) Has been cancelled
builds / Ubuntu 24.04 (pcap unix socket ASAN) (push) Has been cancelled
builds / Ubuntu 24.04 (afpacket IPS tests in namespaces) (push) Has been cancelled
builds / Ubuntu 24.04 (afpacket and dpdk live tests with ASAN) (push) Has been cancelled
builds / Ubuntu 24.04 (fuzz corpus coverage) (push) Has been cancelled
builds / Coveralls finish (push) Has been cancelled
builds / Ubuntu 20.04 (-DNDEBUG) (push) Has been cancelled
builds / Ubuntu 20.04 (unsupported rust) (push) Has been cancelled
builds / Ubuntu 22.04 (Debug Validation) (push) Has been cancelled
builds / Ubuntu 22.04 (Fuzz) (push) Has been cancelled
builds / Ubuntu 22.04 (Netmap build) (push) Has been cancelled
builds / Ubuntu 22.04 (Minimal/Recommended Build) (push) Has been cancelled
builds / Ubuntu 22.04 (DPDK Build) (push) Has been cancelled
builds / Debian 12 (xdp) (push) Has been cancelled
builds / Debian 13 (xdp) (push) Has been cancelled
builds / Ubuntu 22.04 Dist Builder (push) Has been cancelled
builds / Debian 12 MSRV (push) Has been cancelled
builds / Debian 11 (push) Has been cancelled
builds / MacOS Latest (push) Has been cancelled
builds / Windows MSYS2 MINGW64 (NPcap) (push) Has been cancelled
builds / Windows MSYS2 MINGW64 (libpcap) (push) Has been cancelled
builds / Windows MSYS2 UCRT64 (libpcap) (push) Has been cancelled
builds / Windows MSYS2 MINGW64 (WinDivert) (push) Has been cancelled
builds / PF_RING (push) Has been cancelled
2026-03-06 21:30:45 +00:00
Victor Julien
28ba93e60c ndpi: minor optimization
Check protocol before doing more expensive work.
2026-02-20 08:06:56 +00:00
Victor Julien
278da4bc6a npdi: fix null pointer deref in detect keywords
Check for the existence of a flow before calling FlowGetStorageById() on it.

Ticket: #8308.
2026-02-20 08:06:56 +00:00
Jason Ish
77d96851f5 pfring: use static functions; add void arg to SCPluginRegister
Minor cleanups.
2026-02-13 16:45:10 -06:00
Jason Ish
a60e93c2cd pfring: fix typo in StringParseUint16
StringParseUnt16 -> StringParseUint16

Ticket: #8271
2026-02-13 16:45:10 -06:00
Jason Ish
828d105cea pfring: copy cflags over from src/
This should cause the following warning to error out:

runmode-pfring.c: In function 'OldParsePfringConfig':
runmode-pfring.c:118:17: error: implicit declaration of function 'StringParseUnt16'; did you mean 'StringParseInt16'? [-Wimplicit-function-declaration]
  118 |             if (StringParseUnt16(&pfconf->threads, 10, 0, threadsstr) < 0) {
      |                 ^~~~~~~~~~~~~~~~
      |                 StringParseInt16

Ticket: #8271
2026-02-13 16:45:10 -06:00
Lukas Sismis
400328c3c3 pcap-file: prep codebase for pcap_cnt move refactor
For an easier review process, this is a two-step change process,
in which pcap_cnt is first accessed by functions-to-be, implemented
as simple macros.

In the follow-up commit, the actual refactor is implemented with the new
function. The old macros are deleted.

Ticket: 7835
2026-01-22 09:13:28 +00:00
Philippe Antoine
dd6baccabd src: doc: remove more double-space typos
Found with git grep -E '[a-z]  [a-z]'
2026-01-14 12:49:11 +00:00
Victor Julien
7c0776abeb counters: remove ThreadVars from counter registration
Just pass the StatsThreadContext pointer directly.
2025-12-02 06:21:54 +00:00
Victor Julien
77ddbbb9c8 counters: regular counter get local API update 2025-12-02 06:21:54 +00:00
Victor Julien
78da4cfcae counters: regular counter Incr API update 2025-12-02 06:21:54 +00:00
Victor Julien
045142a1f1 counters: regular counter Set API update 2025-12-02 06:21:54 +00:00
Victor Julien
c27d0b4192 counters: remove ThreadVars from sync API 2025-12-02 06:21:54 +00:00
Victor Julien
444166ec84 counters: move regular counter id to dedicated type 2025-12-02 06:21:53 +00:00
Victor Julien
f6b67a8d50 napatech: update thread count callback to match API change 2025-09-29 19:08:22 +02:00
Victor Julien
7807b47ca0 pfring: update thread count callback to match API change
Use uint16_t internally and in parsing as well.
2025-09-29 19:08:22 +02:00
Philippe Antoine
a2b5225612 rust: bindgen SCSigMatchAppendSMToList
Ticket: 7667
2025-05-21 09:37:22 +02:00
Philippe Antoine
13449344e8 rust: bindgen SCDetectHelperKeywordRegister
Ticket: 7667
2025-05-13 20:24:05 +02:00
Jason Ish
9d5158594f util-device: break into public and private definitions
util-device.h exposes some details that are particularly problematic
for C++, even when wrapped in 'extern "C"'. To address this, break the
header into public and private parts. The public part exposes
LiveDevice as an opaque data structure, while the private header has
the actual definition.

The idea is that only Suricata C source files should include the
private header, it should not be re-included in any other header
file. And this is the header library users should use, however we
don't enforce it with tecnical means, a library user could still
include the private header, but the clue there is in the name.
2025-04-30 22:22:25 +02:00
Philippe Antoine
96afdce283 detect: rename SCSigTableElmt to SCSigTableAppLiteElmt 2025-04-19 18:20:02 +02:00
Jason Ish
155706f96b jsonbuilder: prefix C API with SC 2025-04-03 10:05:49 +02:00
Jason Ish
813eb27b95 rust/conf: use generated bindings to SCConf API 2025-04-01 21:11:14 +02:00
Jason Ish
22b77b0c56 conf: prefix conf API with SC 2025-04-01 21:11:14 +02:00
Jason Ish
81915548de ndpi: ignore packets that have a different proto than the flow
This can happen when the flow is UDP, but an ICMP unreachable is
returned, which gets assigned to the same flow.

Reference: https://github.com/ntop/nDPI/issues/2762
2025-03-29 22:14:00 +01:00
Jason Ish
10ed6280ff ndpi: fix memory in keyword setup
- remove duplicate calls to ndpi_init_detection_module
- cleanup ndpi_init_detection_module when no longer needed
2025-03-29 22:14:00 +01:00
Jason Ish
d3835bbb11 detect: split new keyword id from registration
Split DetectHelperKeywordRegister into 2 functions, one for acquiring
a new keyword ID, and another to perform the registration.

This makes it easier to do the traditional C keyword initialization
with a dynamic ID.
2025-03-29 22:14:00 +01:00
Alfredo Cardigliano
dfd9ef5784 ndpi: initial implementation of nDPI plugin
Ticket: #7231
2025-03-29 22:14:00 +01:00
Philippe Antoine
c164cfcf6b plugins: check version for all plugins 2025-03-29 06:38:00 +01:00
Jeff Lucovsky
7d5c170dd2 gen/bool: Clarify bool checks
Remove comparisons with true or false with C bools.
2025-02-19 09:21:34 +01:00
Victor Julien
1591ad4408 packetpool: allow larger max-pending-packets
Original limit was due to a specific data structure.

(lifted from 96a0ffadde)
2024-10-12 11:03:34 +02:00
Jeff Lucovsky
d5feb8accc napatech: add as plugin
Issue: 7165
2024-10-12 11:03:34 +02:00
Victor Julien
96a0ffadde packetpool: allow larger max-pending-packets
Original limit was due to a specific data structure.
2024-08-30 15:18:59 +02:00
Jason Ish
79df4b4c89 pf-ring: add as plugin
Ticket: #7162
2024-07-15 14:25:34 +02:00