]>
git.ipfire.org Git - thirdparty/suricata.git/log
Philippe Antoine [Thu, 16 Oct 2025 14:11:00 +0000 (16:11 +0200)]
detect/integers: rename index all1 to all
And all to all_or_absent
Ticket: 7929
Philippe Antoine [Fri, 26 Sep 2025 07:49:58 +0000 (09:49 +0200)]
detect/vlan: move vlan.id keyword to generic integer
Ticket: 7929
Li Heng [Fri, 31 Oct 2025 02:01:17 +0000 (10:01 +0800)]
snmp: can be set to detection-only
Realloc alp_ctx.ctxs when a dynamic alproto is registered and
g_alproto_max increases. So dynamic alproto can be treated as
real/normal ones. And app-layer switch can be set to any value
of no/deteciton-only/yes.
Ticket: 8000
Philippe Antoine [Wed, 29 Oct 2025 10:55:10 +0000 (11:55 +0100)]
rust: bindgen frames functions
Ticket: 7667
Philippe Antoine [Wed, 29 Oct 2025 09:49:16 +0000 (10:49 +0100)]
rust: bindgen SCSRepCatGetByShortname
Ticket: 7667
Ezra Adeyinka [Thu, 30 Oct 2025 17:07:39 +0000 (17:07 +0000)]
detect/address: switch tests to FAIL/PASS API
Ticket: #4023
Shivani Bhardwaj [Fri, 31 Oct 2025 10:52:38 +0000 (16:22 +0530)]
src: check retval of VarNameStoreRegister
VarNameStoreRegister can return 0 in case of any error conditions.
Handle this case in all the users of this function. It is an unlikely
event so add branch assistance accordingly.
Bug 8054
Shivani Bhardwaj [Mon, 3 Nov 2025 05:58:35 +0000 (11:28 +0530)]
detect/xbits: use correct Free fn
Most call sites use a casula SCFree fn to get rid of the DetectXbitsData
in case of an error. However, if a varname is also registered, that must
be unregistered too. Fix all the free calls by replacing them with the
appropriate DetectXbitFree fn.
Shivani Bhardwaj [Mon, 3 Nov 2025 06:02:10 +0000 (11:32 +0530)]
detect/xbits: remove unneeded cast to check ptr validity
Shivani Bhardwaj [Mon, 3 Nov 2025 09:55:44 +0000 (15:25 +0530)]
detect/xbits: use calloc to avoid undefined behavior
Shivani Bhardwaj [Mon, 3 Nov 2025 05:51:30 +0000 (11:21 +0530)]
detect/lua: remove extra NULL check
The fn DetectLuaFree checks if the pointer (DetectLuaData) passed to it
is valid. So, the checks for NULL in the call sites can safely be
removed.
Shivani Bhardwaj [Mon, 3 Nov 2025 05:44:26 +0000 (11:14 +0530)]
detect/flowvar: remove extra NULL check
The fn DetectFlowvarDataFree checks if the pointer (DetectFlowvarData)
passed to it is valid. So, the checks for NULL in the call sites can
safely be removed.
Shivani Bhardwaj [Mon, 3 Nov 2025 08:20:52 +0000 (13:50 +0530)]
detect/flowint: clean up free fn
Shivani Bhardwaj [Mon, 3 Nov 2025 05:41:53 +0000 (11:11 +0530)]
detect/flowint: remove extra NULL check
The fn DetectFlowintFree checks if the pointer (DetectFlowintData)
passed to it is valid. So, the checks for NULL in the call sites can
safely be removed.
Shivani Bhardwaj [Mon, 3 Nov 2025 08:15:09 +0000 (13:45 +0530)]
detect/flowint: use calloc to avoid undefined behavior
Shivani Bhardwaj [Mon, 3 Nov 2025 04:54:48 +0000 (10:24 +0530)]
util/varname: check id before unregister
In case of an error a varname id is set to 0. Ideally, it shouldn't be
found in the hash table lookup but add a check anyway to avoid obtaining
the mutex lock and performing the lookup.
Victor Julien [Sat, 1 Nov 2025 07:57:23 +0000 (08:57 +0100)]
exception-policy: rename 'reject-both' to 'rejectboth'
To align it with the rule action.
Andreas Dolp [Wed, 29 Oct 2025 20:43:04 +0000 (21:43 +0100)]
python/Makefile.am: fix file permissions of python/suricata/config/defaults.py
The install command, by default, sets 0755 if -m is not specified, so the
file python/suricata/config/defaults.py will be marked as an executable,
though it isn't.
dependabot[bot] [Sat, 1 Nov 2025 19:02:10 +0000 (19:02 +0000)]
github-actions: bump github/codeql-action from 3.30.5 to 4.31.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.5 to 4.31.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.30.5...v4.31.2)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 4.31.2
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Sat, 1 Nov 2025 19:01:24 +0000 (19:01 +0000)]
github-actions: bump actions/download-artifact from 5.0.0 to 6.0.0
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/
634f93cb2916e3fdff6788551b99b062d0335ce0 ...
018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Sat, 1 Nov 2025 19:01:20 +0000 (19:01 +0000)]
github-actions: bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Jason Ish [Wed, 29 Oct 2025 23:47:44 +0000 (17:47 -0600)]
doc/devguide: document eve callback
Document the callback for adding additional data to EVE.
Ticket: #4708
Jason Ish [Thu, 23 Oct 2025 22:58:09 +0000 (16:58 -0600)]
doc/devguide: document eve file types
Ticket: #4708
Philippe Antoine [Thu, 30 Oct 2025 10:18:15 +0000 (11:18 +0100)]
output/jsonbuilder: helper function SCJbSetPrintAsciiString
To replace C PrintStringsToBuffer and avoid a stack alloc
+ copy
Ticket: 8004
Jason Ish [Fri, 31 Oct 2025 17:34:21 +0000 (11:34 -0600)]
requirements.txt: use suricata-update master
Master makes sense for Suricata main branch as we are on a ways out on a
release.
Victor Julien [Fri, 31 Oct 2025 08:38:55 +0000 (09:38 +0100)]
lua: remove luajit pushlstring workaround
81ee6f5aadeb ("lua: push correct length back through ScFlowvarGet, work around valgrind warning")
added a workaround for valgrind warnings in pushing a string buffer
into the lua state. This is no longer needed as tested with both
address sanitizer and valgrind.
Li Heng [Tue, 28 Oct 2025 02:59:56 +0000 (10:59 +0800)]
rust/sip: delete redundant computing codes
Delete call of is_alphanumeric where is_alphanumeric and
is_token_char are called together. Four places are modified.
Ticket: 8003
Victor Julien [Fri, 31 Oct 2025 15:20:17 +0000 (16:20 +0100)]
doc/userguide: document reject-both expection policy
Ticket: #5974.
Victor Julien [Fri, 17 Oct 2025 10:16:48 +0000 (12:16 +0200)]
exception-policy: add 'reject-both' option
Allow rejecting both sides of a connection. Has the same support
as regular reject (which is essentially rejectsrc).
Ticket: #5974.
Juliana Fajardini [Thu, 30 Oct 2025 15:34:44 +0000 (08:34 -0700)]
output/eve: fix typos
To accompany documentation work done in
Task #4708
Jhonny Sousa [Mon, 20 Oct 2025 12:25:15 +0000 (09:25 -0300)]
detect/base64_data: Convert unittests to FAIL/PASS API
Ticket: #6320
Jason Ish [Tue, 28 Oct 2025 22:06:25 +0000 (16:06 -0600)]
rust/ike: convert to nom 8
Ticket: #8050
Jason Ish [Tue, 28 Oct 2025 06:31:08 +0000 (00:31 -0600)]
rust/mime: convert to nom 8
Ticket: #8048
Jason Ish [Tue, 28 Oct 2025 06:28:49 +0000 (00:28 -0600)]
rust/mqtt: convert to nom 8
Ticket: #8047
Jason Ish [Tue, 28 Oct 2025 06:26:06 +0000 (00:26 -0600)]
rust/websocket: convert to nom 8
Ticket: #8046
Jason Ish [Tue, 28 Oct 2025 06:24:37 +0000 (00:24 -0600)]
rust/bt-dht: convert to nom 8
Ticket: #8045
Jason Ish [Tue, 28 Oct 2025 01:59:13 +0000 (19:59 -0600)]
rust/rdp: convert to nom 8
Ticket: #8044
Jason Ish [Tue, 28 Oct 2025 00:54:02 +0000 (18:54 -0600)]
rust/telnet: convert to nom 8
Ticket: #8043
Jason Ish [Mon, 27 Oct 2025 23:40:40 +0000 (17:40 -0600)]
rust/ssh: convert to nom 8
Ticket: #8042
Jason Ish [Mon, 27 Oct 2025 23:33:50 +0000 (17:33 -0600)]
rust/rfb: convert to nom 8
Ticket: #8041
Jason Ish [Mon, 27 Oct 2025 22:41:51 +0000 (16:41 -0600)]
rust/pgsql: convert to nom 8
Ticket: #8039
Jason Ish [Mon, 27 Oct 2025 21:59:47 +0000 (15:59 -0600)]
rust/enip: convert to nom 8
Ticket: #8038
Jason Ish [Mon, 27 Oct 2025 21:51:03 +0000 (15:51 -0600)]
rust/tftp: convert to nom 8
Ticket: #8037
Jason Ish [Mon, 27 Oct 2025 21:47:00 +0000 (15:47 -0600)]
rust/dhcp: convert to nom 8
Ticket: #8036
Philippe Antoine [Wed, 29 Oct 2025 21:29:11 +0000 (22:29 +0100)]
util/var: add NULL check in VarNameStoreRegister
And check return value in entropy keyword setup
Philippe Antoine [Sun, 28 Sep 2025 19:55:44 +0000 (21:55 +0200)]
detect: fix null deref with entropy keyword
Ticket: 7959
Usage of entropy with base64_data led to NULL dereference
Jason Ish [Mon, 20 Oct 2025 00:36:27 +0000 (18:36 -0600)]
detect/http2: call correct free function on errors
Fix cases where the wrong free function was being called in error
handlers.
DetectHTTP2sizeUpdateSetup was calling DetectHTTP2settingsFree instead
of DetectHTTP2sizeUpdateFree in error case.
Moving http2.priority and http2.window to multi-integers, instead
of basic integers only modified the Free callback, but the
Setup function was still using the direct call to old obsolete free
function.
Using the callback Free abstration in Setup, allows to be
consistent and have less code to change.
Amir Boussejra [Tue, 28 Oct 2025 12:49:43 +0000 (13:49 +0100)]
flow-timeout: Use yaml config value for CAPTURE_BYPASSED flow
Instead of non configurable constant FLOW_BYPASSED_TIMEOUT
Ticket: #8014
Philippe Antoine [Mon, 27 Oct 2025 19:43:58 +0000 (20:43 +0100)]
rust: reduce visibility of detect_parse_uint_notending
It is meant as an internal function
Also document the function
Philippe Antoine [Mon, 27 Oct 2025 19:37:57 +0000 (20:37 +0100)]
detect: urilen keyword fails on trailing junk
Fails especailly on 1<>2 which looks like a range, but is invalid
as too small, and ended up being accepted as =1
Ticket: 8028
Philippe Antoine [Mon, 27 Oct 2025 21:04:59 +0000 (22:04 +0100)]
plugins: update SC_API_VERSION to 9
So that plugins built for 8 will fail to load with 9 as there
were already breaking changes in the structures and functions
prototypes
Jhonny Sousa [Sun, 19 Oct 2025 01:19:48 +0000 (22:19 -0300)]
detect/filestore: Convert unittest to new FAIL/PASS API
Ticket: #6317
Jason Ish [Mon, 27 Oct 2025 16:27:59 +0000 (10:27 -0600)]
rust/applayertemplate: convert to nom 8
Ticket: #8027
Jason Ish [Mon, 27 Oct 2025 16:13:05 +0000 (10:13 -0600)]
rust/sip+sdp: update to nom 8
Done together as there is a dependence of SDP by SIP.
Ticket: #8025
Jason Ish [Mon, 27 Oct 2025 16:12:25 +0000 (10:12 -0600)]
rust/ftp: update to nom 8
Ticket: #8026
Jason Ish [Mon, 27 Oct 2025 15:19:42 +0000 (09:19 -0600)]
rust/dns: convert to nom 8.0
Ticket: #8024
Jason Ish [Mon, 27 Oct 2025 14:25:05 +0000 (08:25 -0600)]
rust: add nom8 as a dependency
For the update from nom 7 to nom 8.
Jeff Lucovsky [Wed, 22 Oct 2025 14:38:08 +0000 (10:38 -0400)]
detect/ip.src: Allow use with transforms
This commit registers ip.src/ip.dst properly so they can be used with
transforms.
Issue: 8015
Olusegun Fajobi [Thu, 23 Oct 2025 06:52:14 +0000 (07:52 +0100)]
detect/analyzer: added more details for the ttl keyword
Ticket: #6310
Olusegun Fajobi [Fri, 24 Oct 2025 09:34:41 +0000 (10:34 +0100)]
detect-urilen: convert unittests to FAIL/PASS APIs
Ticket: #6325
Jhonny Sousa [Wed, 22 Oct 2025 20:09:54 +0000 (17:09 -0300)]
rule/vars: convert unittests to new FAIL/PASS API
Ticket: #6333
Olusegun Fajobi [Tue, 21 Oct 2025 18:50:39 +0000 (19:50 +0100)]
threads: convert unittests for FAIL/PASS APIs
Ticket: #6327
Victor Julien [Tue, 21 Oct 2025 05:19:55 +0000 (07:19 +0200)]
detect: address intermittent UT crash on OpenBSD
Add missing flow memset in test SCSigOrderingTest12 to avoid the crash.
Test SCSigOrderingTest12 : Info: unittest-helper: Sid 1 matched 1 times, as expected [UTHCheckPacketMatchResults:util-unittest-helper.c:638]
Info: unittest-helper: Sid 2 matched 1 times, as expected [UTHCheckPacketMatchResults:util-unittest-helper.c:638]
bash: line 144: 88567 Segmentation fault (core dumped) ./src/suricata -u -l /tmp/
Bug: #8008.
Olusegun Fajobi [Fri, 17 Oct 2025 19:51:48 +0000 (20:51 +0100)]
ippair-storage: convert unittests to FAIL/PASS APIs
Ticket: #6315
Jason Ish [Sat, 18 Oct 2025 20:00:29 +0000 (14:00 -0600)]
rust: pin indexmap
Newer indexmap, pulled in by serde_json requires Rust 1.82, so pin
pack to 2.11.4 which still works with Rust 1.75.
Jeff Lucovsky [Sun, 28 Sep 2025 12:53:13 +0000 (08:53 -0400)]
detect/dbv: Assert MT lock held
Add a DBV assert to validate that the master->lock is held.
Suppress missing master->lock warning
Issue: 7819
Jeff Lucovsky [Thu, 21 Aug 2025 13:57:27 +0000 (09:57 -0400)]
engine/mt: Ensure master lock held for reload
Issue: 7819
DetectEngineReload must hold the `master->lock`; recent changes changed
the locking usages to avoid deadlock when registering/handling tenants.
These changes added the presumption that the master lock is held at a
higher level. Coverity highlighted that the lock is not held
consistently.
David Wharton [Tue, 14 Oct 2025 02:35:07 +0000 (22:35 -0400)]
doc: minor verbiage tweaks and reST fix
Philippe Antoine [Mon, 6 Oct 2025 08:45:00 +0000 (10:45 +0200)]
rust: bindgen more http range functions used in http2
Ticket: 7667
Philippe Antoine [Mon, 6 Oct 2025 08:32:56 +0000 (10:32 +0200)]
rust: bindgen SCHttpRangeFreeBlock
Ticket: 7667
Philippe Antoine [Mon, 6 Oct 2025 08:08:51 +0000 (10:08 +0200)]
rust: bindgen SCHTTP2MimicHttp1Request
Ticket: 7667
Philippe Antoine [Thu, 16 Oct 2025 11:04:22 +0000 (13:04 +0200)]
detect: tcp.flags rejects non-sensical values
ignored flags are only meaningful for equal mode
Philippe Antoine [Thu, 16 Oct 2025 09:54:03 +0000 (11:54 +0200)]
detect: tcp.flags unit tests improvements
Tests better the ignored flags functionality.
This functionality is only used at detection for default mode,
it is not used for any, plus or not mode.
So, have unit tests about igored flags with default mode with
both matching and non matching cases
Philippe Antoine [Mon, 6 Oct 2025 19:39:18 +0000 (21:39 +0200)]
detect/tcp: make tcp.flags a generic integer with bitflags
Ticket: 6724
Allows to use numerical values for example
Also fixes some unit tests that were returning 1 after goto error
FlagsTestParse05 especially took this path as
de->ignored_flags != (TH_SYN|TH_RST) was false
we had de->ignored_flags == 0xff ^ (TH_SYN|TH_RST)
And then, we had a match, instead of what the not-run code
was supposing.
Philippe Antoine [Mon, 6 Oct 2025 12:44:35 +0000 (14:44 +0200)]
detect/ipv4: make fragbits a generic uint16 bitflags keyword
Ticket: 6724
Allows to use numerical values
Philippe Antoine [Mon, 6 Oct 2025 12:44:35 +0000 (14:44 +0200)]
detect/integers: generalize support for bitflags modifier
Ticket: 6724
Allows sugar syntax for bitflags keywords.
While the expressivity does not increase, because we could already
use numerial values with all generic integer modes, this modifier
prefix is used with the strings, and follows the syntax
that is already used for fragbits and tcp.flags keyword.
Olusegun Fajobi [Fri, 17 Oct 2025 02:40:28 +0000 (03:40 +0100)]
ippair-bit: Convert unittests to FAIL/PASS APIs
Ticket: #6323
Shivani Bhardwaj [Sat, 11 Oct 2025 08:45:37 +0000 (14:15 +0530)]
applayer/tls: do not free SAN for decoding error
SSL connp maintains all the state and certificate data that was
parsed/decoded successfully and it must retain that for later usage.
There should be just one place to free this object which is SSLStateFree
for both the directions. By freeing the connp data during parsing error,
there is room for memory errors.
This works so far because the field parsed after this cannot error out so
if there's an error parsing this, it anyway does not exist. However, this
is incorrect and leaves scope for mistakes.
Remove this extra free and treat SAN like all other TLS keywords.
Bug 7996
Victor Julien [Thu, 16 Oct 2025 11:08:19 +0000 (13:08 +0200)]
pcap-log: fix bpf-filter not set for multi mode
Bug: #8002.
Philippe Antoine [Thu, 16 Oct 2025 07:13:52 +0000 (09:13 +0200)]
libhtp: fix newer clippy lints with newer MSRV
Jason Ish [Wed, 15 Oct 2025 21:41:58 +0000 (15:41 -0600)]
quic/crypto: remove use of GenericArray
Its not needed, and gets rid of the deprecation warnings.
Jason Ish [Wed, 15 Oct 2025 20:57:27 +0000 (14:57 -0600)]
rust: update deps with cargo-update
Suppress deprecation warnings in quick/crypto.rs about GenericArray.
Jason Ish [Wed, 15 Oct 2025 20:42:35 +0000 (14:42 -0600)]
rust: update aes-gcm to 0.10.3
Jason Ish [Wed, 15 Oct 2025 20:26:44 +0000 (14:26 -0600)]
rust: update aes to 0.8.4
Philippe Antoine [Wed, 24 Sep 2025 12:47:20 +0000 (14:47 +0200)]
detect/integers: count argument for multi-integers
Ticket: 7211
Allows to count the number of elements, without matching on
individual elements
Philippe Antoine [Wed, 24 Sep 2025 12:21:57 +0000 (14:21 +0200)]
doc: fix enip_command name in json schema
enip.command is not a keyword nor an alias
Victor Julien [Sun, 12 Oct 2025 18:58:20 +0000 (20:58 +0200)]
unittests: move http.cookie tests to FAIL/PASS API
Victor Julien [Sun, 12 Oct 2025 18:09:01 +0000 (20:09 +0200)]
unittests: move http.stat_code tests to FAIL/PASS API
Victor Julien [Sun, 12 Oct 2025 09:01:31 +0000 (11:01 +0200)]
unittests: convert http_raw_header tests to FAIL/PASS api
Victor Julien [Sun, 12 Oct 2025 06:21:41 +0000 (08:21 +0200)]
unittests: move http.stat_msg tests to FAIL/PASS API
Victor Julien [Sun, 12 Oct 2025 06:04:16 +0000 (08:04 +0200)]
unittests: move http.server_body tests to FAIL/PASS API
Victor Julien [Sat, 11 Oct 2025 18:28:33 +0000 (20:28 +0200)]
unittests: clean up memory for host storage tests
Victor Julien [Sat, 11 Oct 2025 18:08:03 +0000 (20:08 +0200)]
unittests: clean up memory for ippair storage tests
Victor Julien [Sat, 11 Oct 2025 18:06:24 +0000 (20:06 +0200)]
output: fix long logline test
Fixes: 023a2fe9ab1f ("unittests: fix format-truncation warning")
Victor Julien [Sat, 11 Oct 2025 10:43:07 +0000 (12:43 +0200)]
github-actions: check for leaks in unittests
Victor Julien [Sat, 11 Oct 2025 10:25:22 +0000 (12:25 +0200)]
unittests: clean up memory for icmpv4 tests
Victor Julien [Sat, 11 Oct 2025 10:24:39 +0000 (12:24 +0200)]
unittests: clean up memory for nsh tests
Victor Julien [Sat, 11 Oct 2025 10:23:55 +0000 (12:23 +0200)]
unittests: clean up memory for ethernet tests
Victor Julien [Sat, 11 Oct 2025 10:23:11 +0000 (12:23 +0200)]
unittests: clean up memory for ipv6 tests
Victor Julien [Sat, 11 Oct 2025 10:22:25 +0000 (12:22 +0200)]
unittests: clean up memory for ipv4 tests