Jason Ish
4e642b9f06
rust/ffi: specify sys crate dependency version
...
This is required for crates.io publishing, and we also use this for
other internal crate dependencies, for example suricata depending on
derive, etc.
3 days ago
Philippe Antoine
7ec9d72d28
stream: disrupt never seen direction with async-oneside
...
Ticket: 8629
When we are in async-oneside mode, we see only one direction
of the traffic, and should not wait for the other direction
before cleaning up a transaction.
5 days ago
Jason Ish
3dc8b154f3
rust/ffi: add safe thread storage wrapper
...
Add a typed ThreadStorage<T> wrapper around the thread storage bindings.
Ticket: #8445
1 month ago
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
1 month ago
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
1 month ago
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
1 month ago
Jason Ish
5fe88212c3
rust/ffi: add wrapper around ThreadVars
...
A Rust wrapper around ThreadVars to enforce Rust lifetimes to ThreadVars when
used in a callback.
Ticket: #8598
1 month ago
Jason Ish
144f824f17
rust/ffi: add thread init callback wrapper
...
Ticket: #8605
1 month ago
Philippe Antoine
b90adcc2bb
rust/ffi: move AppLayerTxData to ffi
...
Ticket: 7666
2 months ago
Philippe Antoine
0773fba5fd
rust/ffi: move txdata flags to ffi
...
Ticket: 7666
2 months ago
Philippe Antoine
2525ea2e37
rust/ffi: move direction to ffi
...
Ticket: 7666
2 months ago
Philippe Antoine
5440e41314
rust/ffi: move debug validations macros to ffi
...
Ticket: 7666
2 months ago
Jason Ish
cb69fa4e53
rust/ffi: add flow lifecycle callback wrappers
...
Provide Rust friendly callback registrations for flow init, update and finish events. These
callbacks are implemented as Rust closures.
Ticket: #8446
2 months ago
Philippe Antoine
5ed394b26b
rust/ffi: move AppLayerEvent to ffi
...
Ticket: 7666
2 months ago
Philippe Antoine
9b12fd9f09
rust/ffi: move helper trait state_get_tx_iterator to ffi
...
Ticket: 7666
2 months ago
Philippe Antoine
07f37676b6
rust/ffi: move Flags for AppLayerParserState to ffi crate
...
Ticket: 7666
2 months ago
Philippe Antoine
fb20c69d8d
rust/ffi: move APP_LAYER_PARSER_OPT_X const to ffi crate
...
Ticket: 7666
2 months ago
Philippe Antoine
d81a10126e
detect/doc: remove unexisting links
...
Ticket: 8257
And add TODO comments if rules doc should be written
2 months ago
Philippe Antoine
9677851637
rust/ffi: move app-layer traits to ffi crate
...
Ticket: 7666
Traits around structures defined in C and bindgened to rust
3 months ago
Philippe Antoine
f803c25f24
rust/ffi: move export_X_data_get macros to ffi crate
...
Ticket: 7666
3 months ago
Philippe Antoine
54b6885166
rust/ffi: move conf_get_bool helper to ffi crate
...
Ticket: 7666
3 months ago
Jason Ish
eb46d0129e
rust/ffi: add eve callback handler
...
Wrap the EVE callback handler with a Rust friendly variant that allows
the user to register a callback as a closure which is provided an
already wrapped JsonBuilder object.
Ticket: #8477
3 months ago
Jason Ish
199e844a07
rust/ffi: add mark support to ffi::jsonbuilder
...
To support Rust friendly EVE callback registration (ticket 8477).
3 months ago
Philippe Antoine
58a71d94b0
rust/ffi: move conf_get helper to ffi crate
...
Ticket: 7666
3 months ago
Jason Ish
98469b0f56
rust/ffi: fix clippy warnings
...
Remove the unneeded return.
The other option would be to allow it, but so far in the ffi crate we
don't have any non-default allows.
3 months ago
Philippe Antoine
c53b9df5a2
rust/ffi: move detection helpers to ffi crate
...
Ticket: 7666
3 months ago
Philippe Antoine
267c3baff7
rust/ffi: move STREAM_ constants to ffi crate
...
Ticket: 7666
reexport them in suricata crate
cbindgen them to C
4 months ago
Philippe Antoine
d77c43c79b
rust/ffi: move build_slice macro to ffi crate
...
Ticket: 7666
4 months ago
Philippe Antoine
4a0143c8d4
rust/ffi: move cast_pointer macro to ffi crate
...
Ticket: 7666
4 months ago
Philippe Antoine
71b59f6dbe
rust/ffi: move IPPROTO_TCP to ffi
...
and reexport in suricata
Allows to reduce dependencies to full suricata crate
Ticket: 7666
5 months ago
Jason Ish
6b850dddb8
rust/ffi: JsonBuilder wrapper around C JsonBuilder API
...
For use by plugins that need to work with JsonBuilder.
5 months ago
Jason Ish
8b69089cb8
rust/ffi: more rust friendly plugin registration
...
A plugin can now create a "Plugin" struct with Rust strings. The
`into_raw` method converts it to a raw pointer suitable for returning
during plugin registration.
5 months ago
Jason Ish
0999530726
rust/ffi: rust wrapper around eve filetype registration
5 months ago
Jason Ish
b4db7bdaee
rust/ffi: add logging (debug) wrappers
...
Mostly a copy of Suricata core's logging wrappers into the ffi crate.
These are not yet used by Suricata-core as they do require the
Suricata library to be available, which is not the case with tests. And
the `cfg(test)` parameter is not passed through to sub-crates.
However, this does allow a plugin (or library) to call the logging
macros without depending on the "suricata" crate.
Ticket: #7666
5 months ago
Jason Ish
2c51744ccc
rust/ffi: stub out a rust ffi crate
...
This crate is for Rust wrappers around the -sys crate which includes
only raw bindings. This is the place to add nice wrappers around those
bindings, however it should remain clear of dependencies on the main
Suricata core crates.
Ticket: #7666
5 months ago