Commit Graph

18781 Commits (72e13c9774844ceac3f4f59b46a7d5640156a058)
 

Author SHA1 Message Date
Victor Julien b55be5a44f detect/transforms: update gunzip / zlib_deflate syntax
Use standard space separated syntax.
5 months ago
Victor Julien fe3cce895c doc/userguide: add igmp keyword docs 5 months ago
Victor Julien 7e6fd09e90 doc/userguide: add missing ipopts values 5 months ago
Victor Julien 086c27a07f decoder/igmp: add decoder events 5 months ago
Victor Julien 94c16d8915 eve/igmp: add schema support for alert records 5 months ago
Victor Julien 791e7c1924 detect/tcp.flags: minor code cleanup 5 months ago
Victor Julien e916fc3ba4 detect: add igmp.type keyword 5 months ago
Victor Julien 6a1389acff detect: add igmp.hdr keyword 5 months ago
Victor Julien d652b7ef62 decoder/igmp: detect RGMP (RFC 3488)
RGMP is a dialect of IGMP that uses the same protocol structure,
but with some different values for the fields.

Detect this and log it differently.
5 months ago
Victor Julien 18f699cb97 detect/ipopts: add qs and rtralt options
Reordering of table and switch to match switch in parser.
5 months ago
Victor Julien 190ed2e8ed detect/csum: add igmp-csum keyword to match checksum
Add rule to decoder-events.rules to match on bad checksums.
5 months ago
Victor Julien c54bc8bc8b detect/proto: add igmp support
So 'alert igmp ...' can work.
5 months ago
Victor Julien 1b7cc2b323 decoder/igmp: initial decoder support for IGMP
Basic v1, v2 and v3 header validation.

Ticket: #8262.
5 months ago
Juliana Fajardini 90823fa90e devguide: add policy on patches w unasigned ticket 5 months ago
Lukas Sismis d4434ef4e8 dpdk: add live run test suite
Add live tests to verify that mempool, mempool cache sizes, and
potentially other DPDK features are initialized correctly during the
startup.
Follows up on bugs found in mempool settings on real/bonded devices.

The tests are placed in the new folder qa/live/ after a comment
in https://github.com/OISF/suricata/pull/14896 which indicated other
live tests are going to be moved there as well.

Ticket: 8320
5 months ago
Lukas Sismis ecd15a6c7e dpdk: scale mempool size to the number of bond members
DPDK interface which were added to bond and had auto-calculated
mempool size didn't have enough space as the configured
descriptors and the derived mempool only considered one interface
per YAML node entry.

DPDK Bonding PMD allows for multiple interface to cooperate and
therefore, needs more space.

Ticket: 8125
5 months ago
Lukas Sismis ea853e92a3 dpdk: fix mempool sizing to always yield 2^n -1
Following DPDK's recommendation to size mempool to 2^n - 1,
the current implementation was flawed for certain combos,
e.g. mp_size 1023 and 1 queue, which resulted to 1022.
5 months ago
Lukas Sismis 109742932a dpdk: honor cache size setting
Previously, the interface initialization always recalculated
cache size according to the per-queue computed mempool size.

Ticket: 8123
5 months ago
Lukas Sismis d640719413 hs: include HS platform info in cache file hash
Hash Hyperscan installation info (version, CPU features, mode)
into the cache filename. A Hyperscan upgrade or platform change
would now produce a different filename, so stale caches from an
older installation are never opened.

Ticket: 8325
5 months ago
Lukas Sismis 2e7b12dda4 hs: validate cached database against current HS installation
After deserializing a cached Hyperscan database, verify that its
version, CPU features, and mode match the current Hyperscan
installation by comparing hs_database_info output against a
reference database. Reject loading incompatible caches.

Ticket: 8325
5 months ago
Lukas Sismis 0cdc77b707 hs: use binary mode for cache file I/O
HSSaveCache wrote serialized Hyperscan databases using text mode ("w")
while HSReadStream already read them with binary mode ("rb").
Matched file reading modes to the binary format and simplified
write-size check.

Ticket: 8325
5 months ago
Lukas Sismis d754b28717 hs: remove redundant file handle in HSLoadCache
HSLoadCache opened the cache file but never used the resulting handle
for reading. The actual read was done by HSReadStream which opened
the same file independently.

Removed the unused fopen/fclose pair and flattened the control flow.

Ticket: 8325
5 months ago
Victor Julien 569ba3d26f hs/cache: cleaner and more detailed output
Reduce logging level of a minor informational message.

Split tracking of pruning by age and by version and log those
separately, where the logging only appears if something has been
removed.

Ticket: 8322
5 months ago
Jason Ish 66473f6ad7 doc: add more public datasets
Add:
- UNSW-NB15
- CIC-IDS2017
- CSE-CIC-IDS2018
- CIC-DDoS2019

Update formatting for better display.
5 months ago
Victor Julien e69b732d1c af-xdp: address compile warnings
runmode-af-xdp.c:119:52: error: implicit conversion loses integer precision: 'const int' to 'uint16_t' (aka 'unsigned short') [-Werror,-Wimplicit-int-conversion]
  119 |         aconf->threads = (nr_cores <= nr_queues) ? nr_cores : nr_queues;
      |                        ~                           ^~~~~~~~
runmode-af-xdp.c:119:63: error: implicit conversion loses integer precision: 'const int' to 'uint16_t' (aka 'unsigned short') [-Werror,-Wimplicit-int-conversion]
  119 |         aconf->threads = (nr_cores <= nr_queues) ? nr_cores : nr_queues;
      |                        ~                                      ^~~~~~~~~
runmode-af-xdp.c:135:26: error: implicit conversion loses integer precision: 'const int' to 'uint16_t' (aka 'unsigned short') [-Werror,-Wimplicit-int-conversion]
  135 |         aconf->threads = nr_queues;
      |                        ~ ^~~~~~~~~
runmode-af-xdp.c:268:41: error: implicit conversion loses integer precision: 'intmax_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32]
  268 |                 aconf->busy_poll_time = conf_val_int;
      |                                       ~ ^~~~~~~~~~~~
runmode-af-xdp.c:275:43: error: implicit conversion loses integer precision: 'intmax_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32]
  275 |                 aconf->busy_poll_budget = conf_val_int;
      |                                         ~ ^~~~~~~~~~~~
runmode-af-xdp.c:282:40: error: implicit conversion loses integer precision: 'intmax_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32]
  282 |             aconf->gro_flush_timeout = conf_val_int;
      |                                      ~ ^~~~~~~~~~~~
runmode-af-xdp.c:287:43: error: implicit conversion loses integer precision: 'intmax_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32]
  287 |             aconf->napi_defer_hard_irqs = conf_val_int;
      |                                         ~ ^~~~~~~~~~~~
7 errors generated.

source-af-xdp.c:426:24: error: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Werror,-Wimplicit-int-conversion]
  426 |     ptv->afxdp_state = state;
      |                      ~ ^~~~~
source-af-xdp.c:642:44: error: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to '__u16' (aka 'unsigned short') [-Werror,-Wimplicit-int-conversion]
  642 |     ptv->xsk.cfg.bind_flags = afxdpconfig->bind_flags;
      |                             ~ ~~~~~~~~~~~~~^~~~~~~~~~
2 errors generated.
5 months ago
Victor Julien edc19a15ad detect/parse: convert unittest to fail/pass API 5 months ago
Victor Julien 02f6340972 github-ci: update cov builds
Use --skip-branches to avoid countless partial coverage in unittests.

Update from 22.04 to 24.04 and llvm 15 to 19 to support --skip-branches.
5 months ago
Jason Ish ccd1df99fd github-ci: add coveralls coverage uploads 6 months ago
Jason Ish accaf68615 github-ci: fix cov-ut profile file collision 6 months ago
Jason Ish 65e87949c8 github-ci: ignore /github from coverage output 6 months ago
Jason Ish 8c99759dfe github-ci: ignore /usr and /rustc in coverage 6 months ago
Jason Ish d3b6bae140 github-ci: upload lcov coverage artifacts 6 months ago
Victor Julien e991375b04 github-ci: for codecov netns check, account for cargo build dir
It's not in /root/ like with container based builds.
6 months ago
Jason Ish e6513b5117 codecov: upload lcov reports to codecov
Seems to fix our issues with codecov.io.
6 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
6 months ago
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
6 months ago
Juliana Fajardini 926fde859e userguide: fix Deprecations, warn about syslog
The Deprecation note on Syslog was partly conveying the opposite
message, and we were missing a deprecation notice on the Syslog output
section.
6 months ago
Philippe Antoine d5ea973791 detect/ike: move ike.ike.chosen_sa_attribute keyword to rust
Ticket: 8310

And increases expressivity on the way by supporting other modes
than equality
6 months ago
Philippe Antoine 55333a6ca0 detect/ike: move ike.vendor keyword to rust
Ticket: 8310
6 months ago
Philippe Antoine 14edd66494 detect/ike: move ike.nonce_payload keyword to rust
Ticket: 8310
6 months ago
Philippe Antoine d1213e4440 detect/ike: move ike.key_exchange_payload keyword to rust
Ticket: 8310
6 months ago
Philippe Antoine f23169c924 detect/ike: move ike.nonce_payload_length keyword to rust
Ticket: 8310
6 months ago
Philippe Antoine e85bf5be4d detect/ike: move ike.key_exchange_payload_length keyword to rust
Ticket: 8310
6 months ago
Philippe Antoine 841fe44f34 detect/ike: move ike.exchtype keyword to rust
Ticket: 8310
6 months ago
Philippe Antoine 23032ebc65 detect/ike: move ike spi keywords to rust
Ticket: 8310
6 months ago
Victor Julien 28ba93e60c ndpi: minor optimization
Check protocol before doing more expensive work.
6 months ago
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.
6 months ago
Juliana Fajardini 723aa21e6f misc: update copyright years
For files edited during

Task #7885
6 months ago
Juliana Fajardini dc4d805908 exceptions: s/DEBUG/QA_SIMULATION build flag
Task #7885
6 months ago
Juliana Fajardini 5edb5a5d1a build-scopes: add QA_SIMULATION mode
For qa-simulation scenarios, especially for testing purposes.

Task #7885
6 months ago