Commit Graph

15036 Commits (suricata-7.0.2)
 

Author SHA1 Message Date
Jason Ish 029ac650d7 rust/clippy: fix lint: manual_find
These get_tx methods look like ideal candidates for generic and/or
derived methods.
3 years ago
Jason Ish 4940dfb3bd rust/clippy: fix lint: len_without_is_empty 3 years ago
Jason Ish e1cffd348f rust/clippy: fix lint: field_reassign_with_default 3 years ago
Jason Ish 9df7c326b9 rust/clippy: remove allow: collapsible_else_if 3 years ago
Jason Ish 30ee5fc835 rust/clippy: remove allow: collapsible_if
Already clean.
3 years ago
Jason Ish da12b77f18 rust/clippy: fix lint: new_without_default 3 years ago
Jason Ish c4cf062a6f rust/clippy: fix lint: redundant_pattern_matching 3 years ago
Jason Ish 7c293ff68f rust/clippy: fix lint: never_loop 3 years ago
Jason Ish e8823644ec rust/clippy: fix lint: nonminimal_bool 3 years ago
Jason Ish 53ae0c8a06 rust/clippy: fix lint: derive_partial_eq_without_eq 3 years ago
Jason Ish 5d62995e26 rust/clippy: fix lint: explicit_counter_loop 3 years ago
Jason Ish f250b92180 rust/clippy: fix lint: extra_unused_lifetimes 3 years ago
Jason Ish 3044565cf4 rust/clippy: fix lint: needless_range_loop 3 years ago
Jason Ish 2ac52d0610 rust/clippy: remove lint: for_loops_over_fallibles
Already clean.
3 years ago
Jason Ish c026d8531b rust/clippy: fix lint: match_ref_pats 3 years ago
Jason Ish 359d5fcb7e rust/clippy: fix lint: needless_lifetimes 3 years ago
Jason Ish 4e001688de rust/clippy: remove lint: bool_comparison
Already clean.
3 years ago
Jason Ish f15ffbc869 rust/clippy: fix lint: single_match
Allow this lint in some cases where a match statement adds clarity.
3 years ago
Jason Ish 925bc74c1f rust/clippy: fix lint: while_let_loop 3 years ago
Philippe Antoine 4daee8bae1 quic: do not use stack for inspection buffer
Make the inspection buffer copy the content in one buffer it owns.

Ticket: #5707
3 years ago
Jason Ish a2a920afb0 github-ci: verify generated rust code is rustfmt and clippy clean 3 years ago
Jason Ish 0bb4546af4 setup-app-layer: rustfmt new rust files 3 years ago
Jason Ish cf20fa1e67 template: import c_void, c_char, c_int
These are ffi types that are commonly used, import them so they can be
used by their short names instead of a fully qualified name.
3 years ago
Jason Ish 4220f18258 template: remove no_mangle and pub where not needed
Extern functions that are only used as a function pointer do not
require "pub" or "no_mangle".
3 years ago
Jason Ish 0b2d0324e5 setup-app-layer: set copyright year to current year
Ticket: 4939
3 years ago
Jason Ish 4a7567b3f0 template: rename template-rust to template
Remove the distinction between the C template protocol "template" and
the Rust template protocol "template-rust" and make the Rust parser
simply template now that we no longer have support to generate a C
protocol template.
3 years ago
Jason Ish 8683154115 templates: remove C app-layer templates 3 years ago
Jason Ish 05e16820de templates: clang format cleanups
Cleanup the trivial clang-formatting issues in templates.  Length of
protocol names may require clang-format after new protocol generation.
3 years ago
Jason Ish 712d80107f setup-app-layer: remove generator for C parsers
Ticket: 4939
3 years ago
Jason Ish 38321a213f rust/app-layer-template: rustfmt 3 years ago
Jason Ish 50a787a9a3 app-layer-template-rust: remove C app-layer stub
Remove the app-layer-PROTO stub for Rust based parsers.  It is no longer
needed as Rust parsers now contain the registration function in Rust.

Ticket: 4939
3 years ago
Jason Ish baa7021ee6 rust/conf: add fn conf_get_node
A wrapper around ConfGetNode to get a configuration node by name.
3 years ago
Jason Ish 986212c19d github-ci: add app-layer-template builder
Creates a protocol parser and logger and builds.
3 years ago
Jason Ish 23424821be github-ci: rename alma to almalinux; 8.4 to 8 3 years ago
Victor Julien 64c0459d2d rust/lzma: clippy fixup 3 years ago
Victor Julien 7bfb63210e mime/base64: unify space handling 3 years ago
Philippe Antoine 0e054af1ac mime: do not skip empty lines for quoted-printable
As these lines are in the file...

Ticket: #5725
3 years ago
Jason Ish aa36e9e37f github-ci: enable lua on Fedora 36 build
Not many of the jobs that run S-V enable Lua, enable Lua for Fedora 36
which also runs S-V.
3 years ago
Jason Ish 35f99d1af7 rust/http2: fix clippy lint for is_empty()
This snuck through as "cargo clippy" check wasn't finding lints that
were fixed by the previous test for fixable lints.
3 years ago
Jason Ish 01badea65c github-ci: fail if cargo clippy --fix creates a changes
Previously this was doing fixups and only warning, not erroring. Which
could made the following clippy command pass.
3 years ago
Philippe Antoine 04fd2ae78e dns: do not oputput empty array for query 3 years ago
Philippe Antoine 37af957d83 eve/schema: check that each array has at least one element
Ticket: #5167
3 years ago
Richard McConnell b39a4c63fe doc: document AF_XDP feature 3 years ago
Richard McConnell 9b43481680 af-xdp: Configure build with AF_XDP support 3 years ago
Richard McConnell 6e128f48a2 af-xdp: Add AF_XDP socket support
AF_XDP support is a recent technology introduced that aims at improving
capture performance. With this update, Suricata now provides a new
capture source 'af-xdp' that attaches an eBPF program to the network
interface card. Packets received in the NIC queue are forwarded to
a RX ring in user-space, bypassing the Linux network stack.

Note, there is a configuration option (force-xdp-mode) that forces the
packet through the normal Linux network stack.

libxdp and libbpf is required for this feature and is compile time
configured.

This capture source operates on single and multi-queue NIC's via
suricata.yaml. Here, various features can be enabled, disabled
or edited as required by the use case.

This feature currently only supports receiving packets via AF_XDP,
no TX support has been developed.

Ticket: https://redmine.openinfosecfoundation.org/issues/3306

Additional reading:
https://www.kernel.org/doc/html/latest/networking/af_xdp.html
3 years ago
Todd Mortimer 7d1a8cc335 file/swf: Use lzma-rs decompression instead of libhtp.
Use the lzma-rs crate for decompressing swf/lzma files instead of
the lzma decompressor in libhtp. This decouples suricata from libhtp
except for actual http parsing, and means libhtp no longer has to
export a lzma decompression interface.

Ticket: #5638
3 years ago
Victor Julien 45eb038e63 smb: fix file reopening issue
Fuzzing highlighted an issue where a command sequence on the same file
id triggered a logging issue:

file data for id N
close id N
file data for id N

If this happened in a single blob of data passed to the parser, the
existing file tx would be reused, the file "reopened", confusing the
file logging logic. This would trigger a debug assert.

This patch makes sure a new file tx is created for the file data
coming in after the first file tx is closed.

Bug: #5567.
3 years ago
Victor Julien 9ed65907a7 fuzz/sigpcap: set pkt_src 3 years ago
Victor Julien f848e34bcc stream: stricter check inserting segments
In lossy streams, esp where TcpSession::lossy_be_liberal it is possible
to end up inserting a segment that is out of the expected sequence
number bounds.
3 years ago
Victor Julien addc9b301d version: require libhtp 0.5.42 3 years ago