Commit Graph

11780 Commits (5499a6f7cd2265072945dbb3b5a61e2a5e1f7ad1)
 

Author SHA1 Message Date
Victor Julien 57a611b429 decode/geneve: add config to yaml 4 years ago
Jason Ish 8b38db4a50 github-ci: apply default CFLAGS to all builds 4 years ago
Jason Ish 280ab65705 github-ci: add test build without jansson
This is to cover a test from Travis CI where we make sure
that ./configure fails if libjansson is not available.
4 years ago
Jason Ish cb963f8682 github-ci: update debian 9 test to use known Rust version
Choose Rust 1.39.0 as a known version of Rust that we build against
to see in CI if we build with this version, but fail with latest.

This is to cover a similar test from Travis CI.
4 years ago
Jason Ish b698f66c27 github-ci: enable debug on Fedora 32 build 4 years ago
Jason Ish 146a1ee1d7 github-ci: check that configure fails if rust to old
Migration of similar test from Travis-CI.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3869
4 years ago
Jason Ish 975b58c050 github-ci: Ubuntu 20.4 build with -NDEBUG
To cover Travis-CI test that builds with -NDEBUG.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3869
4 years ago
Jason Ish dfbd38e809 github-ci: ubuntu 20.04 build without nss/nspr
Adds a test that builds and tests Suricata without nss/nspr
to replace the similar test on Travis-CI.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3869
4 years ago
Jason Ish 1ec6307d9d github-ci: Fedora 32 builder with asan enabled
Also enables -Wshadow and rust-strict to cover those cases
from Travis.

Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3868
4 years ago
Ali Jad Khalil 6be08637c3 decode/teredo: Modified/refactored Teredo logic
This is just a slight refactor to make analagous decoding/encapsulation
schemes - Geneve, Teredo, and VXLAN - be implemented as similarly as
possible.
4 years ago
Ali Jad Khalil 66452dd38a decode/vxlan: Modified/refactored VXLAN logic
This is just a slight refactor to make analagous decoding/encapsulation
schemes - Geneve, Teredo, and VXLAN - be implemented as similarly as
possible.
4 years ago
Ali Jad Khalil 5d955c1836 decode/geneve: Add Geneve decoding functionality
These changes are in response to feature request 3063. Geneve is
very similar to VXLAN, but uses a slightly different encapsulation
scheme.
4 years ago
Simon Dugas 48da18b081 doc: dns - document additional fields in eve event
Documentation of additional fields for soa and sshfp. Also some minor
doc fixes and updates.
4 years ago
Simon Dugas 7f26246ce1 dns: parse and log fields for SOA record type
Added `dns_parse_rdata_soa` to parse SOA fields into an `DNSRDataSOA`
struct.

Added logging for answer and authority SOA records in both version
1 & 2, as well as grouped formats.
4 years ago
Simon Dugas af498fd840 dns: use nom's rest to take all remaining rdata
Using nom's `rest` combinator eliminates the need to call the do_parse
macro for parsing a single element.
4 years ago
Simon Dugas 8005f50647 dns: refactor to handle more rdata formats
Represent rdata as `DNSRData` enum variants instead of `Vec<u8>`.
This will allow parsing/logging of more complex formats like SOA.
4 years ago
Victor Julien 77bafe13a3 decode: reformat event table 4 years ago
Jeff Lucovsky 06f41f608c doc: Improve grammar, spelling and clarifications
This commit improves the overall documentation's grammar, spelling, and
adds clarifications  where needed.
4 years ago
Jason Ish 665328b29e plugins: require registration function SCPluginRegister
Instead of looking for a symbol, "PluginSpec" look for a function
named SCPluginRegister that returns a SCPlugin.

This makes it much easier to create Rust plugins without having
to deal with dlopen constructors and such, which is rather
straight forward in C, but a bit of advanced boilerplate in Rust
that can be eliminated by simply calling a registration function.
4 years ago
Jason Ish 647e304f4b rust/log: minor cleanup
Group functions for setting and getting the log level
together.
4 years ago
Jason Ish ea1338b464 rust: function macro now returns the function name
Borrow a macro from https://github.com/popzxc/stdext-rs that
will give us the Rust function name in SCLog messages in Rust.

As this trick only works on Rust 1.38 and newer, keep the old
macro around and set a feature based on a Rust version test
done during ./configure.
4 years ago
Jason Ish bac8016d17 rust: plugin bootstrap function
Functions written in Rust will need to suricata::plugin::init()
to bootstrap themselves. This bootstrap process sets the log level
within the Rust address space, and hooks up function pointers
that are expected to be set during normal runs of Suricata.
4 years ago
Jason Ish 3de98b3595 rust/log: set the log level with a pure Rust function
Make sure the log level is setup with a pure Rust function, so
when it is set, its set within the address space of the caller.

This is important for Rust plugins where the Rust modules are not
in the address space of the Suricata main process.
4 years ago
Jason Ish 335e4e728f suricata: expose the SuricataContext with a function
Expose the "SuricataContext" required by Rust as a function. During
normal startup we register this context with the Rust code, but
plugins written in Rust will need to get the same registration
done, but to do this in a plugin, the plugin code must
call and set the context within its address space.
4 years ago
Jason Ish 87a91e6aa8 logging: expose the log level with a function
The log level needs to exposed so Rust plugins can bootstrap
themselves with the correct login to SCLogNotice!(), etc work
as expected.
4 years ago
Jason Ish ac93ab281d rust/logging: allow log macros to be used by plugins
Fix plugin macros so they can be used by external Rust crates
such as plugins.
4 years ago
Jason Ish 3672cea876 rust/Cargo: build as rlib for plugin linkage
Build Rust code as an rlib, in addition to a staticlib so plugins
can link with the Rust code.
4 years ago
Jason Ish 17776e098e rust-context: remove unused opaque type Store 4 years ago
Joshua Lumb 6dbc6d6669 runmodes: memory leak on runmode single 4 years ago
Jason Ish da3930e488 configure: fix test for rust headers for cross compile
Use "if test ..." instead of AC_CHECK_FILES which does not work
when cross compiling.
4 years ago
Jeff Lucovsky 5c725d5050 config/lua: Cross-compiling support
This commit guards the run-time check for a Lua integer so that it no
longer attempts execution in a cross-compilation environment.
4 years ago
Jeff Lucovsky 3e8db21ef3 config/pcre: Improved support for cross-compiling
This commit changes the logic used to determine if pcre_jit_exec is
available from a run-time to a compile-time check.
4 years ago
Jeff Lucovsky ff29345527 output: Remove unused output functions
This commit removes registration, initialization, and de-initialization
functions no longer needed
4 years ago
Jeff Lucovsky 15caf3eea5 log: Remove standalone output registration
Remove standalone output logger registration since eve is
multi-instance.
4 years ago
jason taylor b21160a6e3 doc: http.host keyword note for matching on port
Signed-off-by: jason taylor <jtfas90@gmail.com>
4 years ago
Victor Julien 703de67086 flow: fix multi-manager hash range calculation 4 years ago
Jason Ish 3a3a9e135a github-ci: fix building against request libhtp/sv PR
The variable name was wrong, causing the libhtp-pr and sv-pr
parameters in the commit message to not be applied.
4 years ago
Victor Julien 260a20bf91 flow: suppress noisy messages 4 years ago
Philippe Antoine b20a8de646 dns: simply skips zero-sized dns requests/responses 4 years ago
Philippe Antoine c06d8f2463 dcerpc: validate signature with dcerpc keywords
so that they do not use another protocol's keywords
4 years ago
Philippe Antoine d509a78074 http: handles gaps
ie data=NULL and len>0 from libhtp callbacks
4 years ago
Victor Julien 23c0efa2ec flowbits: convert flowbits dumping to json builder 4 years ago
Victor Julien 7facf5785f detect/analyzer: convert to jsonbuilder 4 years ago
Roland Fischer 9f1e49e863 ci: Run formatting check on pull request 4 years ago
Roland Fischer 69ed6f253f util: Add clang-format helper script 4 years ago
Roland Fischer de7c7eeff0 doc: Add dev code-style 4 years ago
Roland Fischer ce7440e296 common: Add clang-format file
clang-format allows to auto-format C code. The settings here are set
up to follow the code style, see
https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Coding_Style.
4 years ago
Victor Julien d3cf2c21df threshold: fix potential memory leak 4 years ago
Victor Julien 6444f738af reject: minor code cleanup
Use enum for direction to assist compiler.
4 years ago
Victor Julien b6fed6d431 stream: fix GAP size
Fix GAPs sizes sometimes exceeding the ACK'd data size.
4 years ago