Jason Ish
17bd53c29c
rust/ffi: add flow accessors to flow wrapper
...
Ticket: #8599
2026-08-19 17:23:02 +00:00
Jason Ish
d3d206faa5
rust/ffi: add safe flow storage wrapper
...
Add a typed FlowStorage<T> wrapper around the flow storage bindings.
Update example and docs.
Ticket: #8447
2026-08-19 17:23:02 +00:00
Jason Ish
8cf5d4d770
rust/ffi: use Flow wrapper in flow and eve callbacks
...
Pass the safe Flow wrapper to the flow init/update/finish callbacks and
the EVE callback instead of a raw sys::Flow pointer.
Ticket: #8599
2026-08-19 17:23:02 +00:00
Jason Ish
440e15878b
flow: update example plugin to use address accessors
2026-08-19 17:23:02 +00:00
Jason Ish
f205d181f9
examples: use flow access functions
...
To prevent direct access to the flow structure and be subject to changes
in its size.
Ticket: #8632
2026-08-19 17:23:02 +00:00
Jason Ish
3dc8b154f3
rust/ffi: add safe thread storage wrapper
...
Add a typed ThreadStorage<T> wrapper around the thread storage bindings.
Ticket: #8445
2026-06-01 15:56:57 +00:00
Jason Ish
5e0abf1572
rust/ffi: use ThreadVars wrapper in flow callbacks
...
Update the flow init, update and finish callback registrations to pass the
safe ThreadVars wrapper instead of a raw pointer.
Ticket: #8598
2026-06-01 15:56:57 +00:00
Jason Ish
1cac242948
rust/ffi: use ThreadVars wrapper in eve callback
...
Update the EVE callback registration to pass the safe ThreadVars wrapper
instead of a raw pointer.
Ticket: #8598
2026-06-01 15:56:57 +00:00
Jason Ish
45762aa644
rust/ffi: use ThreadVars wrapper in thread init callback
...
Update the thread init callback registration to pass the safe ThreadVars
wrapper instead of a raw pointer.
Ticket: #8598
2026-06-01 15:56:57 +00:00
Jason Ish
144f824f17
rust/ffi: add thread init callback wrapper
...
Ticket: #8605
2026-05-28 20:49:57 +00:00
Jason Ish
e1a2a36ee7
examples/plugins/rust: misc cleanups
...
- Remove registration helper
- Limit function visibility
2026-05-28 20:49:56 +00:00
Philippe Antoine
5db471500c
rust/ffi: remove altemplate plugin last dependency on suricata crate
...
Ticket: 7666
2026-05-20 17:57:52 +00:00
Jason Ish
5e2a33d080
examples: add flow callbacks to rust plugin example
...
Ticket: #8446
2026-05-09 04:17:38 +00:00
Philippe Antoine
5ed394b26b
rust/ffi: move AppLayerEvent to ffi
...
Ticket: 7666
2026-05-06 18:58:47 +00:00
Philippe Antoine
9b12fd9f09
rust/ffi: move helper trait state_get_tx_iterator to ffi
...
Ticket: 7666
2026-04-30 05:38:06 +00:00
Philippe Antoine
07f37676b6
rust/ffi: move Flags for AppLayerParserState to ffi crate
...
Ticket: 7666
2026-04-30 05:38:06 +00:00
Philippe Antoine
fb20c69d8d
rust/ffi: move APP_LAYER_PARSER_OPT_X const to ffi crate
...
Ticket: 7666
2026-04-30 05:38:06 +00:00
Philippe Antoine
9677851637
rust/ffi: move app-layer traits to ffi crate
...
Ticket: 7666
Traits around structures defined in C and bindgened to rust
2026-04-25 17:37:13 +00:00
Philippe Antoine
f803c25f24
rust/ffi: move export_X_data_get macros to ffi crate
...
Ticket: 7666
2026-04-25 17:37:13 +00:00
Jason Ish
f5bf76c0ee
examples/plugins/rust: add a rust example plugin
...
Only demonstrates EVE callbacks for now, but I plan to turn this into a
show case of a variety of callbacks a Rust plugin can do as we add Rust
bindings to the ffi crate.
2026-04-16 05:58:15 +00:00
Philippe Antoine
58a71d94b0
rust/ffi: move conf_get helper to ffi crate
...
Ticket: 7666
2026-04-13 05:01:54 +00:00
Philippe Antoine
c53b9df5a2
rust/ffi: move detection helpers to ffi crate
...
Ticket: 7666
2026-04-01 19:55:48 +00:00
Philippe Antoine
f61247e846
plugin: remove one small suricata crate dependency
2026-03-26 19:23:02 +00:00
Philippe Antoine
267c3baff7
rust/ffi: move STREAM_ constants to ffi crate
...
Ticket: 7666
reexport them in suricata crate
cbindgen them to C
2026-03-26 19:23:02 +00:00
Philippe Antoine
d77c43c79b
rust/ffi: move build_slice macro to ffi crate
...
Ticket: 7666
2026-03-06 21:30:44 +00:00
Philippe Antoine
4a0143c8d4
rust/ffi: move cast_pointer macro to ffi crate
...
Ticket: 7666
2026-03-06 21:30:44 +00:00
Philippe Antoine
71b59f6dbe
rust/ffi: move IPPROTO_TCP to ffi
...
and reexport in suricata
Allows to reduce dependencies to full suricata crate
Ticket: 7666
2026-02-24 05:56:40 +00:00
Philippe Antoine
2a90cef318
plugin: reduce dependency on suricata crate
...
Ticket: 7666
The end goal is to remove all dependencies on suricata and just
use suricata_sys or suricata_ffi
For now, make usage of what is already available
2026-02-24 05:56:40 +00:00
Jason Ish
d230a760e6
examples/altemplate: update to use jsonbuilder from ffi crate
2026-02-13 13:34:27 +00:00
Jason Ish
f79158ae55
rust/sys: generate jsonbuilder bindings in sys
...
Bindgen the Rust bindings to the C JsonBuilder API along with the rest
of the Rust bindings to C. Breaking it out was probably the wrong
idea.
This should make it easier, and more correct to bindgen C functions
that use SCJsonBuilder types.
2026-02-13 13:34:27 +00:00
Jason Ish
8e3bd1ca55
examples/altemplate: use suricata-ffi for logging macros
2026-02-13 13:34:26 +00:00
Philippe Antoine
364d2c077d
rust: bindgen SCAppLayerRegisterParser
...
Ticket: 7662
2026-02-05 21:11:16 +00:00
Philippe Antoine
c960b7d7c1
app-layer: AppLayerParserFPtr uses a mut pointer to local storage
...
So, fix the fn prototype in rust ParseFn
2026-01-16 21:07:38 +00:00
Philippe Antoine
455b7d1b3b
rust: use snake case for applayer_register_protocol_detection
2025-12-11 04:30:43 +00:00
Victor Julien
46203de0e9
doc: adjust for master to main rename
2025-09-16 17:20:56 +02:00
Philippe Antoine
6dbc421825
rust: bindgen AppLayerParserConfParserEnabled
...
Ticket: 7667
2025-06-10 22:13:53 +02:00
Philippe Antoine
49b2a2be5d
rust: bindgen SCAppLayerParserRegisterLogger
...
Ticket: 7667
2025-06-10 22:13:53 +02:00
Philippe Antoine
b29d46d81f
rust: bindgen SCAppLayerParserStateIssetFlag
...
Ticket: 7667
2025-06-10 22:13:53 +02:00
Jason Ish
25e32f4f7a
output: delayed initialization for custom loggers
...
When a plugin is first initialized, it is too early to register
transaction loggers. Instead, a plugin can register a callback to be
called when Suricata is ready for outputs like transaction loggers to
be registered.
Likewise for library users, there is a window in SuricataInit where
transaction loggers can be registered that library users don't have
access to. So a lifecycle callback useful here as well.
Ticket #7236
2025-06-07 10:36:46 +02:00
Philippe Antoine
7bb0c94ae9
rust: bindgen app-layer-detect-proto.h
...
Ticket: 7667
2025-06-05 19:14:33 +02:00
Philippe Antoine
f2e7309bbb
rust: use bindgened Flow definition
...
Ticket: 7667
2025-05-27 21:43:50 +02:00
Philippe Antoine
78034b218d
rust: bindgen SCDetectSignatureSetAppProto
...
Ticket: 7667
2025-05-21 09:37:22 +02:00
Philippe Antoine
dc20129195
rust: bindgen SCDetectHelperBufferMpmRegister
...
Ticket: 7667
2025-05-16 21:33:55 +02:00
Philippe Antoine
e2603fa820
detect/single-buf: new simple wrapper
...
Introduce DetectGetSingleData which does the generic wrapping,
including the transforms, using a new callback prototype
DetectTxGetBufferPtr
The goal is to replace most InspectionBufferGetDataPtr.
For this commit, we do not change every callback to keep the
change relatively small.
Focus here is to remove DetectHelperGetData as its functionality is
provided more directly by the new DetectTxGetBufferPtr.
2025-05-16 21:33:55 +02:00
Jason Ish
14864d49ac
examples/altemplate: remove rs_ naming
2025-05-05 21:41:03 +02:00
Philippe Antoine
033e0480cf
detect/single-buf: helper with more explicit direction
2025-04-28 20:06:09 +02:00
Philippe Antoine
dadf9012fc
rust: bindgen detect-engine-buffer.h
...
Ticket: 7667
And prefix SCDetectBufferSetActiveList to be exported
Allows less use of suricata crate in plugin as we get the functions
prototypes from suricata_sys and they are more correct.
2025-04-28 20:06:08 +02:00
Philippe Antoine
a6392ac5d4
rust: use pure rust helper for registering sticky buffers
...
Mark sdp and sip keywords with flags SIGMATCH_INFO_STICKY_BUFFER
as a side effect.
2025-04-22 22:43:03 +02:00
Philippe Antoine
9c8ec0d3a9
plugin: applayer: do not use suricata JsonError
...
We do not need a specific error type
2025-04-22 22:43:03 +02:00
Philippe Antoine
96afdce283
detect: rename SCSigTableElmt to SCSigTableAppLiteElmt
2025-04-19 18:20:02 +02:00