]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
8 months agoldap: add support for STARTTLS to make certificate information available 12156/head
Pierre Chifflier [Wed, 13 Nov 2024 14:11:22 +0000 (15:11 +0100)] 
ldap: add support for STARTTLS to make certificate information available

Ticket: #7394.

8 months agoldap: add port 3268 (used by Active Directory)
Pierre Chifflier [Tue, 29 Oct 2024 09:51:52 +0000 (10:51 +0100)] 
ldap: add port 3268 (used by Active Directory)

8 months agodetect/transform: fix leak in xor transform parse 12147/head
Philippe Antoine [Sun, 24 Nov 2024 20:23:40 +0000 (21:23 +0100)] 
detect/transform: fix leak in xor transform parse

Fixes: 8984bc680112 ("transforms: move xor to rust")
8 months agorust: put all rust/cargo env vars in CARGO_ENV 12140/head
Jason Ish [Tue, 19 Nov 2024 17:28:03 +0000 (11:28 -0600)] 
rust: put all rust/cargo env vars in CARGO_ENV

To ensure that all calls to cargo use the same environment variables,
put the environment variables in CARGO_ENV so every call to cargo can
easily use the same vars.

The Cargo build system is smarter than make, it can detect a change in
an environment variable that affects the build, and the setting of
SURICATA_LUA_SYS_HEADER_DST changing could cause a rebuild.

Also update suricata-lua-sys, which is smarter about copying headers. It
will only copy if the destination does not exist, or the source header
is newer than the target, which can also prevent unnecessary rebuilds.

This is mainly to fix an issue where subsequent builds may fail,
especially when running an editor with a LSP enabled:

    Update lua crate to 0.1.0-alpha.5. This update will force a rewrite of
    the headers if the env var SURICATA_LUA_SYS_HEADER_DST changes. This
    fixes the issue where the headers may not be written.

    The cause is that Rust dependencies are cached, and if your editor is
    using rust-analyzer, it might cache the build without this var being
    set, so these headers are not available to Suricata. This crate update
    forces the re-run of the Lua build.rs if this env var changes, fixing
    this issue.

8 months agogithub-actions: add list keywords and app layers
Eric Leblond [Tue, 19 Nov 2024 20:11:45 +0000 (21:11 +0100)] 
github-actions: add list keywords and app layers

Add the 2 command line options to coverage build.

8 months agosuricata: fix list-keywords option
Eric Leblond [Sun, 17 Nov 2024 18:45:25 +0000 (19:45 +0100)] 
suricata: fix list-keywords option

The list keywords option was crashing due to improper init.

Ticket: 7397

8 months agodetect/smb: fix the sigmatch table for url 12122/head
Shivani Bhardwaj [Fri, 15 Nov 2024 09:31:31 +0000 (15:01 +0530)] 
detect/smb: fix the sigmatch table for url

sigmatch_table for url entry was incorrectly set to DETECT_FLOW_AGE.

8 months agomake: install-headers: rust-bindings.h 12117/head
Jason Ish [Fri, 18 Oct 2024 14:46:42 +0000 (08:46 -0600)] 
make: install-headers: rust-bindings.h

rust-bindings.h was not being installed with "make install-headers",
and its now pulled in by a header used for plugin support, so make
sure its installed.

We first attempt to install the "dist" version if exists, otherwise
install the "gen" one. Also install the "gen" even if the "dist" one
exists, as its going to be newer.

8 months agodetect: break apart sigtable setup and initialization
Jason Ish [Thu, 17 Oct 2024 19:16:38 +0000 (13:16 -0600)] 
detect: break apart sigtable setup and initialization

Allows initialization to be done early, so the table is ready for
dynamic registration by plugins which are loaded before signature
setup.

8 months agoexamples/plugin: update to find generated rust header
Jason Ish [Tue, 15 Oct 2024 23:06:35 +0000 (17:06 -0600)] 
examples/plugin: update to find generated rust header

Needed for changes to output-eve.h.

8 months agoeve: user callbacks for adding additional data
Jason Ish [Fri, 11 Oct 2024 19:21:14 +0000 (13:21 -0600)] 
eve: user callbacks for adding additional data

Provide a way for library/plugin users to register a callback that
will be called prior to an EVE record being closed. The callback will
be passed ThreadVars, Packet, and Flow pointers if available, as well
as private user data.

8 months agothreads: add initialization callbacks
Jason Ish [Fri, 11 Oct 2024 17:48:50 +0000 (11:48 -0600)] 
threads: add initialization callbacks

For library users and plugins that need to hook into the thread life
cycle, perhaps to initialize some thread storage.

8 months agothreads: add storage api, based on flow storage
Jason Ish [Fri, 11 Oct 2024 17:41:47 +0000 (11:41 -0600)] 
threads: add storage api, based on flow storage

8 months agoflow: add callbacks for flow init and flow updates
Jason Ish [Thu, 10 Oct 2024 22:06:09 +0000 (16:06 -0600)] 
flow: add callbacks for flow init and flow updates

Adds user registerable callbacks for flow initialization, flow
update and flow finish.

Some plugins, such as other DPI libraries like nDPI need a way to hook
into these flow lifecycle events.

Ticket: #7319
Ticket: #7320

8 months agoapp-layer/stats: Expand memuse/memcap handling
Jeff Lucovsky [Sun, 27 Oct 2024 14:13:07 +0000 (10:13 -0400)] 
app-layer/stats: Expand memuse/memcap handling

This commit adds memcap/memuse handling to the unix-socket interface:
- ftp
- http-byterange
- host

New stats:
- ippair: memuse, memcap
- host: memuse, memcap
- http-byterange: memuse, memcap

8 months agothash/memcap: Use atomics for memcap
Jeff Lucovsky [Sun, 27 Oct 2024 13:53:31 +0000 (09:53 -0400)] 
thash/memcap: Use atomics for memcap

Issue: 845

Maintain the memcap as an atomic counter so changes through the
unix-socket interface can be supported.

8 months agomemcap/socket: Improve memcap array support
Jeff Lucovsky [Sun, 27 Oct 2024 13:28:08 +0000 (09:28 -0400)] 
memcap/socket: Improve memcap array support

Remove hard-coded value for the memcap array and substitute compile-time
value for array sizing.

Issue: 845

8 months agodoc/userguide: document smb cache size limit options 12094/head
Victor Julien [Fri, 25 Oct 2024 13:47:50 +0000 (15:47 +0200)] 
doc/userguide: document smb cache size limit options

Ticket: #5672.

8 months agosmb: use lru for ssn2vec_map
Victor Julien [Thu, 24 Oct 2024 13:29:21 +0000 (15:29 +0200)] 
smb: use lru for ssn2vec_map

Generic ssn2vec_map was a HashMap used for mapping session key to
different types of vector data:
- GUID
- filename
- share name

Turn this into a bounded LruCache. Rename to ssn2vec_cache.

Size of the cache is 512 by default, and can be configured using:

`app-layer.protocols.smb.max-session-cache-size`

Ticket: #5672.

8 months agosmb: use lru for ssnguid2vec_map; rename
Victor Julien [Thu, 24 Oct 2024 13:13:40 +0000 (15:13 +0200)] 
smb: use lru for ssnguid2vec_map; rename

Reimplement the ssnguid2vec_map HashMap as a LruCache.

Since this is a DCERPC record cache, name it as such.

Default size is 128. Can be controlled by
`app-layer.protocols.smb.max-dcerpc-frag-cache-size`.

Ticket: #5672.

8 months agosmb: use lru for ssn2tree; rename
Victor Julien [Thu, 24 Oct 2024 12:26:41 +0000 (14:26 +0200)] 
smb: use lru for ssn2tree; rename

Turn the map mapping the smb session key to smb tree into a lru cache,
limited to 1024 by default.

Add `app-layer.protocols.smb.max-tree-cache-size` option to control the
limit.

Ticket: #5672.

8 months agosmb: use lru for ssn2vecoffset_map; rename
Victor Julien [Thu, 24 Oct 2024 12:18:48 +0000 (14:18 +0200)] 
smb: use lru for ssn2vecoffset_map; rename

Rename to read_offset_cache.

Add `app-layer.protocols.smb.max-read-offset-cache-size` option to
control the limit.

Ticket: #5672.

8 months agosmb: use lru for guid2name map; rename
Victor Julien [Tue, 17 Sep 2024 15:10:19 +0000 (17:10 +0200)] 
smb: use lru for guid2name map; rename

Use `lru` crate. Rename to reflect this.

Add `app-layer.protocols.smb.max-guid-cache-size` to control the max
size of the LRU cache.

Ticket: #5672.

8 months agosmb1: remove name on close
Victor Julien [Tue, 30 Jul 2024 13:59:38 +0000 (15:59 +0200)] 
smb1: remove name on close

Ticket: #5672.

8 months agosmb2: remove filename on close
Victor Julien [Tue, 30 Jul 2024 12:15:34 +0000 (14:15 +0200)] 
smb2: remove filename on close

Ticket: #5672.

8 months agosmb: update to GAP handling
Victor Julien [Tue, 30 Jul 2024 12:01:14 +0000 (14:01 +0200)] 
smb: update to GAP handling

Don't tag the session as gap'd when the GAP is in a precise location:

1. in "skip" data, where the GAP just fits the skip data

2. in file data, where we pass the GAP on to the file

This reduces load of GAP post-processing that is unnecessary in these
case.

8 months agosmb2: use if let for read/write parsing
Victor Julien [Tue, 30 Jul 2024 08:56:28 +0000 (10:56 +0200)] 
smb2: use if let for read/write parsing

8 months agorust: update crates
Victor Julien [Tue, 5 Nov 2024 11:12:30 +0000 (12:12 +0100)] 
rust: update crates

8 months agotransforms: move urldecode to rust
Philippe Antoine [Wed, 30 Oct 2024 13:44:30 +0000 (14:44 +0100)] 
transforms: move urldecode to rust

Ticket: 7229

8 months agotransforms: move xor to rust
Philippe Antoine [Wed, 30 Oct 2024 12:54:03 +0000 (13:54 +0100)] 
transforms: move xor to rust

Ticket: 7229

8 months agotransforms: move http headers transforms to rust
Philippe Antoine [Wed, 30 Oct 2024 11:09:33 +0000 (12:09 +0100)] 
transforms: move http headers transforms to rust

Ticket: 7229

8 months agotransforms: move casechange to rust
Philippe Antoine [Wed, 30 Oct 2024 10:35:39 +0000 (11:35 +0100)] 
transforms: move casechange to rust

Ticket: 7229

8 months agotransforms: move hash transforms to rust
Philippe Antoine [Tue, 29 Oct 2024 13:27:59 +0000 (14:27 +0100)] 
transforms: move hash transforms to rust

md5, sha1 and sha256

Ticket: 7229

8 months agotransforms: move dotprefix to rust
Philippe Antoine [Wed, 2 Oct 2024 19:41:06 +0000 (21:41 +0200)] 
transforms: move dotprefix to rust

Ticket: 7229

8 months agotransforms: move compress_whitespace to rust
Philippe Antoine [Wed, 2 Oct 2024 19:20:04 +0000 (21:20 +0200)] 
transforms: move compress_whitespace to rust

Ticket: 7229

8 months agotransforms: move strip_whitespace to rust
Philippe Antoine [Wed, 2 Oct 2024 13:28:56 +0000 (15:28 +0200)] 
transforms: move strip_whitespace to rust

Ticket: 7229

8 months agosuricata/bpf: fix -Wshorten-64-to-32 warning 12088/head
Philippe Antoine [Mon, 4 Nov 2024 16:09:32 +0000 (17:09 +0100)] 
suricata/bpf: fix -Wshorten-64-to-32 warning

Ticket: 7366
Ticket: 6186

8 months agohttp2: rename event variant to match rule
Jason Ish [Fri, 1 Nov 2024 15:58:33 +0000 (09:58 -0600)] 
http2: rename event variant to match rule

Rename InvalidHTTP1Settings to InvalidHttp1Settings so it gets the
expected name transformation of "invalid_http1_settings".

Ticket: #7361

8 months agorules/modbus: remove rule for event that not longer exists
Jason Ish [Fri, 1 Nov 2024 15:46:58 +0000 (09:46 -0600)] 
rules/modbus: remove rule for event that not longer exists

The event "modbus.invalid_unit_identifier" no longer exists.

Ticket: #7361

8 months agorules/ike: fix ike event names that have changed
Jason Ish [Fri, 1 Nov 2024 15:46:11 +0000 (09:46 -0600)] 
rules/ike: fix ike event names that have changed

- weak_crypto_nodh -> weak_crypto_no_dh
- weak_crypto_noauth -> weak_crypto_no_auth

Ticket: #7361

8 months agorules/dns: fix dns event names that have changed
Jason Ish [Fri, 1 Nov 2024 15:45:24 +0000 (09:45 -0600)] 
rules/dns: fix dns event names that have changed

- not_a_request to not_request
- not_a_response to not_reponse

Ticket: #7361

8 months agogithub-actions: bump github/codeql-action from 3.26.13 to 3.27.0
dependabot[bot] [Fri, 1 Nov 2024 20:00:09 +0000 (20:00 +0000)] 
github-actions: bump github/codeql-action from 3.26.13 to 3.27.0

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.13 to 3.27.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.13...v3.27.0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
8 months agogithub-actions: bump actions/checkout from 4.2.1 to 4.2.2
dependabot[bot] [Fri, 1 Nov 2024 19:59:38 +0000 (19:59 +0000)] 
github-actions: bump actions/checkout from 4.2.1 to 4.2.2

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871...11bd71901bbe5b1630ceea73d27597364c9af683)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
8 months agodetect/http: fix progress for headers keywords
Philippe Antoine [Tue, 15 Oct 2024 19:05:19 +0000 (21:05 +0200)] 
detect/http: fix progress for headers keywords

Ticket: 7326

Having a lower progress than one where we actually can get
occurences of the multibuffer made prefilter
bail out too early, not having found a buffer in the multi-buffer
that matiched the prefilter.

For example, we registered http_request_header with progress 0
instad of progress HTP_REQUEST_HEADERS==2, and if the first
packet had only the request line, we would consider
that signatures with http_request_header as prefilter/fast_pattern
could not match for this transaction, even if they in fact
could have a later packet with matching headers.

Hence, we got false negatives, if http.request_header or
http.response_header was used as fast pattern, and if the request
or response came in multiple packets, and the first of these packets
did not have enough data (like only http request line),
and the next packets did have the matching data.

8 months agomisc: Remove duplicate function declarations
Nancy Enos [Mon, 28 Oct 2024 11:22:38 +0000 (14:22 +0300)] 
misc: Remove duplicate function declarations

Ticket: #7297

8 months agodetect/analyzer: add more details for the tcp window keyword
Nancy Enos [Wed, 23 Oct 2024 21:29:18 +0000 (00:29 +0300)] 
detect/analyzer: add more details for the tcp window keyword

Ticket: 6352

8 months agomqtt: double-check detection directions
Sascha Steinbiss [Thu, 24 Oct 2024 22:05:24 +0000 (00:05 +0200)] 
mqtt: double-check detection directions

Ticket: #7323

8 months agomqtt: add reason code support for SUBACK
Sascha Steinbiss [Sun, 20 Oct 2024 09:27:51 +0000 (11:27 +0200)] 
mqtt: add reason code support for SUBACK

Ticket: #7323

9 months agoeve: threadinit/deinit callbacks are optional for filetypes 12074/head
Jason Ish [Wed, 30 Oct 2024 16:05:14 +0000 (10:05 -0600)] 
eve: threadinit/deinit callbacks are optional for filetypes

Only call ThreadInit and ThreadDeinit for custom eve filetypes if they
exist. They are not required by all filetypes.

Ticket: #7359

9 months agoapp-layer: remove ALPROTO_TEST and tests 12051/head
Philippe Antoine [Tue, 29 Oct 2024 10:00:15 +0000 (11:00 +0100)] 
app-layer: remove ALPROTO_TEST and tests

These tests purpose seems to have been lost.
Registering a alproto with a parser function that always fails,
and just testing that AppLayerParserParse returned -1...
We would get the same result  without registering a parser function,
or using ALPROTO_FAILED as argument to AppLayerParserParse

The comment says "Test the deallocation of app layer parser memory
on occurrence of error in the parsing process."
but I do not see how this is tested.

9 months agolua: update to newer lua crate 12049/head
Jason Ish [Thu, 24 Oct 2024 16:35:56 +0000 (10:35 -0600)] 
lua: update to newer lua crate

This crate lets us instruct it where to copy the header files instead
of our Makefile trying to find the correct ones and copying them into
place.

Can prevent the simultaneous copy errors sometimes seen on a make
without a clean.

9 months agomisc: fix build of rules profiling 12039/head
Eric Leblond [Fri, 25 Oct 2024 21:34:53 +0000 (23:34 +0200)] 
misc: fix build of rules profiling

The patch a0fc2b8628d8a281ef7a2943614b507498c80ca3 has removed the
declaration of functions used when building with ruleset profiling
only (without --enable-profiling). This is causing a build failure.

This patch moves the declaration to the rules profiling section to
be sure it is always there.

9 months agoMakefile.cvs: remove, not used 12032/head
Jason Ish [Thu, 24 Oct 2024 21:02:18 +0000 (15:02 -0600)] 
Makefile.cvs: remove, not used

9 months agomisc: Remove duplicate function declarations
Nancy Enos [Fri, 18 Oct 2024 07:59:42 +0000 (10:59 +0300)] 
misc: Remove duplicate function declarations

Ticket: #7297

9 months agoutil/var-name: switch to SCTime_t
Victor Julien [Sat, 12 Oct 2024 07:04:07 +0000 (09:04 +0200)] 
util/var-name: switch to SCTime_t

9 months agothreads: track wall clock time precisely
Victor Julien [Sun, 15 Sep 2024 13:53:24 +0000 (15:53 +0200)] 
threads: track wall clock time precisely

Issue warning if thread sleeps for a long time.

9 months agotime: add SCTIME_CMP_EQ
Victor Julien [Wed, 18 Sep 2024 08:15:35 +0000 (10:15 +0200)] 
time: add SCTIME_CMP_EQ

9 months agoutil/hash-string: fix compile warning
Victor Julien [Sat, 12 Oct 2024 05:02:33 +0000 (07:02 +0200)] 
util/hash-string: fix compile warning

Clang 19:

util-hash-string.c:41:16: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
   41 |     int len1 = strlen((char *)data1);
      |         ~~~~   ^~~~~~~~~~~~~~~~~~~~~
util-hash-string.c:42:16: error: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Werror,-Wshorten-64-to-32]
   42 |     int len2 = strlen((char *)data2);
      |         ~~~~   ^~~~~~~~~~~~~~~~~~~~~
2 errors generated.

9 months agotime: add gettimeofday wrapper for SCTime_t
Victor Julien [Thu, 24 Oct 2024 07:44:08 +0000 (09:44 +0200)] 
time: add gettimeofday wrapper for SCTime_t

9 months agotime: remove unused function
Victor Julien [Sat, 12 Oct 2024 04:59:37 +0000 (06:59 +0200)] 
time: remove unused function

It tripped up cppcheck:

src/util-time.h:124:35: error: syntax error [syntaxError]
    return !timercmp(first, second, >);

9 months agostream: track pcap log segments timestamp with SCTime_t
Victor Julien [Sat, 12 Oct 2024 04:58:34 +0000 (06:58 +0200)] 
stream: track pcap log segments timestamp with SCTime_t

This is a more compact time format.

9 months agoeve/tls: don't construct const from other const
Jason Ish [Wed, 23 Oct 2024 21:45:05 +0000 (15:45 -0600)] 
eve/tls: don't construct const from other const

Some compiler/platform combinations don't like creating one const from
another as it can't guarantee the other is defined, resulting in the
following compile error:

output-json-tls.c:102:5: error: initializer element is not constant
     BASIC_FIELDS |
     ^~~~~~~~~~~~

Fixes commit 377989df6cea13a23349a4c53cfb037c3ecd6d83

9 months agodpdk/hw_offload: add support for vlan stripping
Adam Kiripolsky [Wed, 16 Oct 2024 08:17:50 +0000 (10:17 +0200)] 
dpdk/hw_offload: add support for vlan stripping

Utilize DPDK API for hardware vlan stripping if supported by NIC.

Ticket: 7330

9 months agoapplayer/htp: convert to new FAIL/PASS API 12026/head
Nancy Enos [Fri, 11 Oct 2024 12:09:40 +0000 (15:09 +0300)] 
applayer/htp: convert to new FAIL/PASS API

Ticket: #6935

9 months agomisc: remove unneeded headers
Jason Ish [Wed, 23 Oct 2024 15:52:18 +0000 (09:52 -0600)] 
misc: remove unneeded headers

Remove unneeded headers from worked on in previous commits, just
simple ones flagged by clangd.

9 months agoapp-layer: use uint8_t consistent for event IDs
Jason Ish [Tue, 22 Oct 2024 17:55:21 +0000 (11:55 -0600)] 
app-layer: use uint8_t consistent for event IDs

Introduce a common function for mapping names to IDs that performs
bounds checking.

Note: For event IDs in the enum that are larger than a uint8_t, -1
will be returned instead of -4. -4 has special meaning during
signature parsin that means requirements were not met. -4 has no
special handling prior to requirements, or the meaning has been lost.

9 months agodetect/analyzer: add more details for flow_age
Alice Akaki [Tue, 22 Oct 2024 22:44:27 +0000 (18:44 -0400)] 
detect/analyzer: add more details for flow_age

Ticket: #6312

9 months agoredis: add automatic trimming support for streams
Sascha Steinbiss [Fri, 18 Oct 2024 21:24:14 +0000 (23:24 +0200)] 
redis: add automatic trimming support for streams

9 months agoredis: implement XADD stream support
Sascha Steinbiss [Tue, 11 Jun 2024 11:14:00 +0000 (13:14 +0200)] 
redis: implement XADD stream support

Ticket: #7082

9 months agouserguide: fix integer keyword matches list format 12013/head
Juliana Fajardini [Wed, 23 Oct 2024 04:11:55 +0000 (21:11 -0700)] 
userguide: fix integer keyword matches list format

List wasn't being properly rendered.

9 months agorust/applayer: use c_int as return type for get_info_by_id 12009/head
Jason Ish [Tue, 22 Oct 2024 16:46:13 +0000 (10:46 -0600)] 
rust/applayer: use c_int as return type for get_info_by_id

Rust was using i8 as the return type, while C uses int. As of Rust
1.82, the return value is turned to garbage over the FFI boundary.

Ticket: #7338

9 months agoeve/schema: add missing field "code" anomaly events
Jason Ish [Tue, 22 Oct 2024 16:26:22 +0000 (10:26 -0600)] 
eve/schema: add missing field "code" anomaly events

9 months agoeve/tls: use BIT_U64 for flags 12004/head
Jason Ish [Mon, 21 Oct 2024 15:30:37 +0000 (09:30 -0600)] 
eve/tls: use BIT_U64 for flags

Minor cleanup.

9 months agoeve/tls: remove unused SC_ATOMIC_EXTERN
Jason Ish [Fri, 18 Oct 2024 15:14:31 +0000 (09:14 -0600)] 
eve/tls: remove unused SC_ATOMIC_EXTERN

9 months agosuricata.yaml: add missing custom tls fields
Jason Ish [Fri, 18 Oct 2024 15:11:22 +0000 (09:11 -0600)] 
suricata.yaml: add missing custom tls fields

Also update the suricata.yaml in the userguide.

9 months agoeve/tls: cleanup headers; update copyright year
Jason Ish [Thu, 17 Oct 2024 16:30:38 +0000 (10:30 -0600)] 
eve/tls: cleanup headers; update copyright year

9 months agoeve/tls: reimplement basic and extended logging in terms of custom
Jason Ish [Thu, 17 Oct 2024 16:21:21 +0000 (10:21 -0600)] 
eve/tls: reimplement basic and extended logging in terms of custom

Will prevent custom logging options getting out of sync with whats
available in extended.

Ticket: #7333

9 months agoeve/tls: remove broken check for ja3 being enabled
Jason Ish [Thu, 17 Oct 2024 14:41:54 +0000 (08:41 -0600)] 
eve/tls: remove broken check for ja3 being enabled

During EVE TLS setup, a broken check for Ja3 being enabled led to Ja3
being disabled, but only in custom mode. This check is not needed, if
Ja3 is disabled, it won't be available, and won't be logged.

This is required to implement "extended" in terms of "custom" fields.

9 months agoeve/tls: add alpn logging to custom output
Jason Ish [Thu, 17 Oct 2024 14:31:49 +0000 (08:31 -0600)] 
eve/tls: add alpn logging to custom output

Adds custom fields "client_alpns" and "server_alpns".

Ticket: #7333

9 months agoeve/tls: disable clang formatting around tls_fields array
Jason Ish [Thu, 17 Oct 2024 00:08:08 +0000 (18:08 -0600)] 
eve/tls: disable clang formatting around tls_fields array

9 months agoprofiling: Correct profiling data array size
Jeff Lucovsky [Wed, 16 Oct 2024 14:37:20 +0000 (10:37 -0400)] 
profiling: Correct profiling data array size

The profiling arrays are incorrectly sized by the number of thread
modules. Since they contain app-layer protocol data, they should be
sized by ALPROTO_MAX.

9 months agoenip/detect: remove double registration of enip_command keyword
Philippe Antoine [Thu, 17 Oct 2024 08:25:42 +0000 (10:25 +0200)] 
enip/detect: remove double registration of enip_command keyword

As found with
./src/suricata --list-keywords | sort | uniq -c | awk '$1 > 1'

9 months agotls/conf: clarify usage of custom vs extended logs 11980/head
Juliana Fajardini [Wed, 16 Oct 2024 23:30:11 +0000 (16:30 -0700)] 
tls/conf: clarify usage of custom vs extended logs

Since enabling custom logging will replace the extended logging, thus
possibly leading to certain fields disappearing from the logs, mention
this aspect.

Related to
Bug #7333

9 months agotls: fix duplicate EVE field (issuerdn)
Juliana Fajardini [Wed, 16 Oct 2024 22:15:59 +0000 (15:15 -0700)] 
tls: fix duplicate EVE field (issuerdn)

Wrong function call caused `issuerdn` to be logged when
`subjectaltname` was enabled, for custom logging, only.

Bug #7332

9 months agoschema/tls: add missing custom fields chain/cert
Juliana Fajardini [Fri, 27 Sep 2024 13:49:21 +0000 (10:49 -0300)] 
schema/tls: add missing custom fields chain/cert

Task #7287

9 months agogithub-actions: bump github/codeql-action from 3.26.12 to 3.26.13 11972/head
dependabot[bot] [Wed, 16 Oct 2024 04:28:46 +0000 (04:28 +0000)] 
github-actions: bump github/codeql-action from 3.26.12 to 3.26.13

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.12 to 3.26.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.12...v3.26.13)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
9 months agodetect: rename port whitelisting to priority 11965/head
Shivani Bhardwaj [Fri, 11 Oct 2024 06:24:25 +0000 (11:54 +0530)] 
detect: rename port whitelisting to priority

This was done following the fact that this setting was historically
named incorrectly. The purpose of the setting was always to define the
ports that will be prioritized and have rule groups associated w them on
priority. Rename all occurences of this to correctly reflect the purpose
of the setting.

9 months agodetect/engine: rename fn, add comments
Shivani Bhardwaj [Fri, 11 Oct 2024 06:22:25 +0000 (11:52 +0530)] 
detect/engine: rename fn, add comments

9 months agodetect/proto: use BIT macros instead of expr
Shivani Bhardwaj [Thu, 10 Oct 2024 07:17:49 +0000 (12:47 +0530)] 
detect/proto: use BIT macros instead of expr

9 months agodetect/engine: use combined flags for TCP
Shivani Bhardwaj [Tue, 8 Oct 2024 11:16:26 +0000 (16:46 +0530)] 
detect/engine: use combined flags for TCP

9 months agogithub-actions: bump actions/checkout from 4.2.0 to 4.2.1
dependabot[bot] [Mon, 14 Oct 2024 06:58:30 +0000 (06:58 +0000)] 
github-actions: bump actions/checkout from 4.2.0 to 4.2.1

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/d632683dd7b4114ad314bca15554477dd762a938...eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
9 months agogithub-actions: bump github/codeql-action from 3.26.10 to 3.26.12
dependabot[bot] [Mon, 14 Oct 2024 06:58:25 +0000 (06:58 +0000)] 
github-actions: bump github/codeql-action from 3.26.10 to 3.26.12

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.10 to 3.26.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.10...v3.26.12)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
9 months agogithub-actions: bump actions/upload-artifact from 4.4.0 to 4.4.3
dependabot[bot] [Mon, 14 Oct 2024 06:58:05 +0000 (06:58 +0000)] 
github-actions: bump actions/upload-artifact from 4.4.0 to 4.4.3

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/50769540e7f4bd5e21e526ee35c689e35e0d6874...b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
9 months agodetect/analyzer: add more details for icmp_id
Alice Akaki [Fri, 11 Oct 2024 22:02:18 +0000 (18:02 -0400)] 
detect/analyzer: add more details for icmp_id

Ticket: #6360

9 months agofuzz/detect: forbid rule with pcre only on stream 11958/head
Philippe Antoine [Tue, 25 Jun 2024 12:27:24 +0000 (14:27 +0200)] 
fuzz/detect: forbid rule with pcre only on stream

to avoid fuzzing blocks on timeouts with known bad rules

Ticket: 4858

9 months agostream: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Tue, 19 Sep 2023 12:08:33 +0000 (14:08 +0200)] 
stream: fix -Wshorten-64-to-32 warnings

Ticket: #6186

9 months agooutput: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Mon, 2 Sep 2024 19:06:01 +0000 (21:06 +0200)] 
output: fix -Wshorten-64-to-32 warnings

Ticket: #6186

9 months agoldap: improve some rust style
Philippe Antoine [Fri, 19 Jul 2024 08:21:36 +0000 (10:21 +0200)] 
ldap: improve some rust style

9 months agogithub-action: share cargo registry cache 11949/head
Victor Julien [Thu, 10 Oct 2024 04:48:33 +0000 (06:48 +0200)] 
github-action: share cargo registry cache

9 months agogithub-action: share cargo cache for windows jobs
Victor Julien [Wed, 9 Oct 2024 16:54:37 +0000 (18:54 +0200)] 
github-action: share cargo cache for windows jobs