]> git.ipfire.org Git - thirdparty/suricata.git/log
thirdparty/suricata.git
12 months agorust/ike: fix collapsible_match clippy warning 11595/head
Philippe Antoine [Wed, 31 Jul 2024 12:15:14 +0000 (14:15 +0200)] 
rust/ike: fix collapsible_match clippy warning

warning: this `match` can be collapsed into the outer `match`
help: the outer pattern can be modified to include the inner pattern

12 months agorust: fix byte_char_slices clippy warnings
Philippe Antoine [Wed, 31 Jul 2024 12:10:17 +0000 (14:10 +0200)] 
rust: fix byte_char_slices clippy warnings

warning: can be more succinctly written as a byte str
   --> src/mime/smtp.rs:762:37
    |
762 |     mime_smtp_find_url_strings(ctx, &[b'\n']);
    |                                     ^^^^^^^^ help: try: `b"\n"`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#byte_char_slices
    = note: `#[warn(clippy::byte_char_slices)]` on by default

12 months agofuzz: make confyaml.c an explicit source
Philippe Antoine [Mon, 29 Jul 2024 14:10:11 +0000 (16:10 +0200)] 
fuzz: make confyaml.c an explicit source

Ticket: 7181

Allows confyaml.c to be in the release archive

12 months agosource: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Mon, 29 Jul 2024 19:57:01 +0000 (21:57 +0200)] 
source: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agolog: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Mon, 29 Jul 2024 19:50:36 +0000 (21:50 +0200)] 
log: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agooutput/tx: use dynamic number of app-layer protos
Philippe Antoine [Thu, 4 Jul 2024 13:11:53 +0000 (15:11 +0200)] 
output/tx: use dynamic number of app-layer protos

Ticket: 5053

12 months agooutput: use dynamic number of app-layer protos
Philippe Antoine [Thu, 4 Jul 2024 13:31:18 +0000 (15:31 +0200)] 
output: use dynamic number of app-layer protos

Ticket: 5053

12 months agorunmodes: use dynamic number of app-layer protos
Philippe Antoine [Thu, 4 Jul 2024 13:07:01 +0000 (15:07 +0200)] 
runmodes: use dynamic number of app-layer protos

Ticket: 5053

12 months agoframes: remove unneeded comments
Philippe Antoine [Tue, 9 Jul 2024 08:28:24 +0000 (10:28 +0200)] 
frames: remove unneeded comments

Used by documentation with the SIP frames only

12 months agossh: avoid panic in packet path
Philippe Antoine [Thu, 4 Jul 2024 07:21:29 +0000 (09:21 +0200)] 
ssh: avoid panic in packet path

use debug_validate_bug_on instead

12 months agodetect: run frames on pseudo flush packets
Philippe Antoine [Thu, 20 Jun 2024 20:43:57 +0000 (22:43 +0200)] 
detect: run frames on pseudo flush packets

for SSH packets that mark the end of plaintext

12 months agossh: frames support
Philippe Antoine [Thu, 20 Jun 2024 15:10:24 +0000 (17:10 +0200)] 
ssh: frames support

Ticket: 5734

Adds frames for SSH records, that come after banner, and before
the data is encrypted.
These records may contain cipher lists for instance.

12 months agorust: bump time to most recent 11571/head
Victor Julien [Sat, 27 Jul 2024 19:17:11 +0000 (21:17 +0200)] 
rust: bump time to most recent

Fixes build on rustc 1.80.

Bumps the MSRV to 1.67.1.

Bug: #7130.

12 months agorust: set MSRV to 1.67.1
Victor Julien [Sat, 27 Jul 2024 20:33:12 +0000 (22:33 +0200)] 
rust: set MSRV to 1.67.1

This is needed for updating the ``time`` crate.

12 months agogithub-actions: switch dist builders to ubuntu 22.04
Victor Julien [Sun, 28 Jul 2024 05:26:36 +0000 (07:26 +0200)] 
github-actions: switch dist builders to ubuntu 22.04

Part of bumping MSRV.

22.04 is the first Ubuntu release to ship a new enough Sphinx.

12 months agogithub-actions: update for MSRV 1.67.1
Victor Julien [Sat, 27 Jul 2024 19:32:40 +0000 (21:32 +0200)] 
github-actions: update for MSRV 1.67.1

12 months agorust: address clippy errors
Victor Julien [Sat, 27 Jul 2024 20:06:44 +0000 (22:06 +0200)] 
rust: address clippy errors

12 months agossh/hassh: fix clippy warning
Victor Julien [Sat, 27 Jul 2024 19:47:20 +0000 (21:47 +0200)] 
ssh/hassh: fix clippy warning

12 months agoeve/stats: add description for flow stats
Shivani Bhardwaj [Fri, 19 Jul 2024 11:59:16 +0000 (17:29 +0530)] 
eve/stats: add description for flow stats

Ticket 6434

12 months agoldap: reset tx_index_completed on tx removal
Philippe Antoine [Sat, 20 Jul 2024 12:44:45 +0000 (14:44 +0200)] 
ldap: reset tx_index_completed on tx removal

So, that this index does not overflow

12 months agodoh2: log like dns v3 11536/head
Philippe Antoine [Tue, 9 Jul 2024 21:33:27 +0000 (23:33 +0200)] 
doh2: log like dns v3

12 months agodoh: move fields into dedicated Optional struct
Philippe Antoine [Tue, 25 Jun 2024 11:29:53 +0000 (13:29 +0200)] 
doh: move fields into dedicated Optional struct

So as to consume less memory for HTTP2Transaction

12 months agodoh2: handle dns message in POST requests
Philippe Antoine [Thu, 28 Mar 2024 15:55:10 +0000 (16:55 +0100)] 
doh2: handle dns message in POST requests

Ticket: 5773

Handles both directions the same way for data if content type is
application/dns-message

12 months agoutil/profiling: remove assertion
Philippe Antoine [Fri, 5 Jan 2024 12:59:54 +0000 (13:59 +0100)] 
util/profiling: remove assertion

Now a flow alproto can be changed by a call to AppLayerParserParse
when HTTP2 forces the flow to turn into DOH2.

12 months agodoh: make dns and http keywords for doh2
Philippe Antoine [Tue, 12 Dec 2023 21:47:01 +0000 (22:47 +0100)] 
doh: make dns and http keywords for doh2

Ticket: 5773

12 months agodoh: implement dns over http2 app-proto
Philippe Antoine [Tue, 12 Dec 2023 13:58:02 +0000 (14:58 +0100)] 
doh: implement dns over http2 app-proto

Ticket: 5773

12 months agohttp2: log dns if DoH is recognized
Philippe Antoine [Tue, 12 Dec 2023 13:33:08 +0000 (14:33 +0100)] 
http2: log dns if DoH is recognized

Ticket: 5773

12 months agohttp2: rustfmt
Philippe Antoine [Tue, 12 Dec 2023 13:32:26 +0000 (14:32 +0100)] 
http2: rustfmt

12 months agodns: prepare for dns over http2 support
Philippe Antoine [Tue, 12 Dec 2023 13:25:37 +0000 (14:25 +0100)] 
dns: prepare for dns over http2 support

by making tx parsing and creation more easily available,
without needing a dns state.

Dns event NotResponse is now set on the right tx, and not the one
before.

Also debug log for Z-flag on request says "request" instead of
"response"

Also rustfmt dns.rs

12 months agobuild: Wimplicit-int-float-conversion checked with --enable-warnings 11524/head
Philippe Antoine [Wed, 17 Jul 2024 09:26:46 +0000 (11:26 +0200)] 
build: Wimplicit-int-float-conversion checked with --enable-warnings

When configure is used with --enable-warnings, we try to add most
warning flags that should pass.
This commits adds the warning Wimplicit-int-float-conversion

12 months agorunmodes: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Wed, 17 Jul 2024 09:22:32 +0000 (11:22 +0200)] 
runmodes: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agodefrag: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Wed, 17 Jul 2024 09:11:04 +0000 (11:11 +0200)] 
defrag: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agodatasets: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Wed, 17 Jul 2024 09:02:50 +0000 (11:02 +0200)] 
datasets: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agorust/ldap: add ldap-parser to Cargo.lock.in 11515/head
Victor Julien [Wed, 17 Jul 2024 07:18:56 +0000 (09:18 +0200)] 
rust/ldap: add ldap-parser to Cargo.lock.in

12 months agodoc: add ldap protocol
Giuseppe Longo [Fri, 21 Jun 2024 12:42:43 +0000 (14:42 +0200)] 
doc: add ldap protocol

12 months agorust/ldap: implement logger
Giuseppe Longo [Wed, 10 Apr 2024 12:02:50 +0000 (14:02 +0200)] 
rust/ldap: implement logger

12 months agorust/ldap: implement app-layer
Giuseppe Longo [Wed, 10 Apr 2024 12:01:55 +0000 (14:01 +0200)] 
rust/ldap: implement app-layer

12 months agorust/ldap: implement types and filters
Giuseppe Longo [Wed, 10 Apr 2024 11:59:22 +0000 (13:59 +0200)] 
rust/ldap: implement types and filters

This implementation adds types and filters specified in the LDAP RFC to
work with the ldap_parser.
Although using the parser directly would be
best, strange behavior has been observed during transaction logging.
It appears that C pointers are being overwritten, leading to incorrect
output when LDAP fields are logged.

12 months agosmtp: add port 465 for probing
Philippe Antoine [Tue, 18 Jun 2024 05:59:23 +0000 (07:59 +0200)] 
smtp: add port 465 for probing

12 months agosmtp: do not return error on NULL buffer for end of stream
Philippe Antoine [Thu, 30 May 2024 19:48:52 +0000 (21:48 +0200)] 
smtp: do not return error on NULL buffer for end of stream

12 months agosmtp: recognize more reply codes
Philippe Antoine [Thu, 30 May 2024 19:48:26 +0000 (21:48 +0200)] 
smtp: recognize more reply codes

Ticket: 6821

12 months agoftp: adds server side detection
Philippe Antoine [Fri, 1 Jul 2022 11:30:46 +0000 (13:30 +0200)] 
ftp: adds server side detection

12 months agosmtp: adds server side detection
Philippe Antoine [Tue, 28 Jun 2022 19:34:24 +0000 (21:34 +0200)] 
smtp: adds server side detection

Ticket: #1125

12 months agoimap: extend detection patterns
mmaatuq [Wed, 31 Jan 2024 19:55:21 +0000 (23:55 +0400)] 
imap: extend detection patterns

Ticket: #2886

Signed-off-by: mmaatuq <mahmoudmatook.mm@gmail.com>
12 months agodetect/ssh: remove deprecated keywords 11510/head
Philippe Antoine [Thu, 20 Jun 2024 08:50:28 +0000 (10:50 +0200)] 
detect/ssh: remove deprecated keywords

Ticket: 2377

12 months agodetect/mqtt: move keywords to rust
Philippe Antoine [Mon, 17 Jun 2024 16:30:09 +0000 (18:30 +0200)] 
detect/mqtt: move keywords to rust

Ticket: 4863

On the way, convert some keywords to use the first-class integer
support.
And helpers for pure rust the support for multi-buffer.

Move the C unit tests about keyword mqtt.protocol_version
to unit tests for generic integer parsing, and test version 5
instead of testing twice version 3.

Also iterate all tx's messages for reason code as is done for other
keywords.

And allow detection on empty topics.

12 months agodetect: helper function for multibuffer registration
Philippe Antoine [Mon, 15 Jul 2024 12:12:38 +0000 (14:12 +0200)] 
detect: helper function for multibuffer registration

So that rust does not need to know about SIG_FLAG_TOCLIENT value

12 months agooutput/alert: remove now unused include
Philippe Antoine [Wed, 10 Jul 2024 11:54:10 +0000 (13:54 +0200)] 
output/alert: remove now unused include

Including the mqtt one, now that it is almost rust only

12 months agomqtt: parse and store raw connect flags
Philippe Antoine [Mon, 17 Jun 2024 22:01:03 +0000 (00:01 +0200)] 
mqtt: parse and store raw connect flags

for easier later matching

12 months agorust/derive: string enumeration become case insensitive
Philippe Antoine [Mon, 17 Jun 2024 21:50:51 +0000 (23:50 +0200)] 
rust/derive: string enumeration become case insensitive

As needed for MQTTTypeCode which accepts both CONNECT uppercase
and unassigned lowercase

12 months agorust/derive: transform all uppercase names the right way
Philippe Antoine [Mon, 17 Jun 2024 21:38:31 +0000 (23:38 +0200)] 
rust/derive: transform all uppercase names the right way

So that MQTTTypeCode::CONNECT does not become c_o_n_n_e_c_t

12 months agodetect/integers: harmonize parser return handling 11506/head
Philippe Antoine [Mon, 15 Jul 2024 07:23:06 +0000 (09:23 +0200)] 
detect/integers: harmonize parser return handling

Ticket: 7172

When parsing an integer for a rule keyword fails, we return error
straight away, without bothering to try to free the NULL pointer.

On the way, remove some one-line wrapper around DetectUxParse

12 months agoeve/dns: make version required
Jason Ish [Fri, 12 Jul 2024 20:50:34 +0000 (14:50 -0600)] 
eve/dns: make version required

The "eve.version" field is not always logged. Update the schema to
enforce that it is, and fix it for records that don't log it.

Ticket: #7167

12 months agogithub-ci: pf-ring build
Jason Ish [Thu, 11 Jul 2024 18:47:40 +0000 (12:47 -0600)] 
github-ci: pf-ring build

12 months agodoc: add pf-ring plugin upgrade notes
Jason Ish [Thu, 11 Jul 2024 18:39:47 +0000 (12:39 -0600)] 
doc: add pf-ring plugin upgrade notes

Ticket: #7162

12 months agoconfigure: fail on --enable-pfring and --disable-shared
Jason Ish [Wed, 10 Jul 2024 21:41:41 +0000 (15:41 -0600)] 
configure: fail on --enable-pfring and --disable-shared

Plugins can't be build using the standard autoconf/automake
methods. We can get around this by creating our own Makefiles, but
they're often less portable.

For now, fail during ./configure instead of during compile.

12 months agopf-ring: bring back command line arguments
Jason Ish [Wed, 10 Jul 2024 21:25:30 +0000 (15:25 -0600)] 
pf-ring: bring back command line arguments

Bring back the pf-ring command line arguments, but instead of
initializing the pfring runmode, initialize the capture plugin runmode
with a plugin named "pfring".

Ticket: #7162

12 months ago.gitignore: globally ignore .la files
Jason Ish [Tue, 9 Jul 2024 22:48:50 +0000 (16:48 -0600)] 
.gitignore: globally ignore .la files

With automake and libraries, these files are creeping in.

12 months agopf-ring: load plugin by default
Jason Ish [Tue, 9 Jul 2024 22:42:04 +0000 (16:42 -0600)] 
pf-ring: load plugin by default

Ticket: #7162

12 months agopf-ring: add as plugin
Jason Ish [Tue, 9 Jul 2024 21:12:29 +0000 (15:12 -0600)] 
pf-ring: add as plugin

Ticket: #7162

12 months agopf-ring: remove, to make room for plugin
Jason Ish [Tue, 9 Jul 2024 21:10:50 +0000 (15:10 -0600)] 
pf-ring: remove, to make room for plugin

Ticket: #7162

12 months agoconfig: switch default config to IEEE 1541 notation 11488/head
Victor Julien [Wed, 10 Jul 2024 18:06:54 +0000 (20:06 +0200)] 
config: switch default config to IEEE 1541 notation

12 months agoparse/size: support IEEE 1541 size units
Victor Julien [Wed, 10 Jul 2024 09:49:58 +0000 (11:49 +0200)] 
parse/size: support IEEE 1541 size units

Introduce KiB, MiB and GiB. They are case sensitive as a lower case 'b'
means bits in the IEEE 1541 scheme.

KiB = 1024
MiB = 1048576
GiB = 1073741824

Ticket: #1457.

12 months agoparse/size: fix unit test checks
Victor Julien [Wed, 10 Jul 2024 17:46:34 +0000 (19:46 +0200)] 
parse/size: fix unit test checks

12 months agosuricata.yaml: set dns log version to 3; link to docs
Jason Ish [Thu, 11 Jul 2024 20:08:04 +0000 (14:08 -0600)] 
suricata.yaml: set dns log version to 3; link to docs

Missed in the original PR, but update the commented out version to
reflect the default, and a link to the upgrade notes.

12 months agoprofiling: allow absolute paths
Victor Julien [Wed, 10 Jul 2024 09:29:35 +0000 (11:29 +0200)] 
profiling: allow absolute paths

Ticket #6490.

12 months agotcp: fix 'broken ack' on flow timeout
Victor Julien [Mon, 27 May 2024 13:57:38 +0000 (15:57 +0200)] 
tcp: fix 'broken ack' on flow timeout

Don't set an ACK value if ACK flag is no longer set. This avoids a bogus
`pkt_broken_ack` event set.

Fixes: ebf465a11bff ("tcp: do not assign TCP flags to pseudopackets")
Ticket: #7158.

12 months agosrc: remove truncate fn and glue code
Shivani Bhardwaj [Fri, 5 Jul 2024 11:59:45 +0000 (17:29 +0530)] 
src: remove truncate fn and glue code

truncate fn is only active and used by dcerpc and smb parsers. In case
stream depth is reached for any side, truncate fn is supposed to set the
tx entity (request/response) in the same direction as complete so the
other side is not forever waiting for data.

However, whether the stream depth is reached is already checked by
AppLayerParserGetStateProgress fn which is called by:
- DetectTx
- DetectEngineInspectBufferGeneric
- AppLayerParserSetTransactionInspectId
- OutputTxLog
- AppLayerParserTransactionsCleanup

and, in such a case, StateGetProgressCompletionStatus is returned for
the respective direction. This fn following efc9a7a, always returns 1
as long as the direction is valid meaning that the progress for the
current direction is marked complete. So, there is no need for the additional
callback to mark the entities as done in case of depth or a gap.
Remove all such glue code and callbacks for truncate fns.

Bug 7044

12 months agoapplayer: remove truncation logic
Shivani Bhardwaj [Fri, 28 Jun 2024 15:57:54 +0000 (21:27 +0530)] 
applayer: remove truncation logic

as its functionality is already covered by the generic code.
This removes APP_LAYER_PARSER_TRUNC_TC and APP_LAYER_PARSER_TRUNC_TS
flags as well as FlowGetDisruptionFlags sets STREAM_DEPTH flag in case
the respective stream depth was reached. This flag tells that whether
all the open files should be truncated or not.

Bug 7044

12 months agodecode: fix -Wshorten-64-to-32 warnings 11454/head
Philippe Antoine [Tue, 19 Sep 2023 09:03:55 +0000 (11:03 +0200)] 
decode: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agoflow: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Tue, 25 Jun 2024 07:39:18 +0000 (09:39 +0200)] 
flow: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agofeatures: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Tue, 25 Jun 2024 07:35:15 +0000 (09:35 +0200)] 
features: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agocounters: fix -Wshorten-64-to-32 warnings
Philippe Antoine [Tue, 25 Jun 2024 07:34:08 +0000 (09:34 +0200)] 
counters: fix -Wshorten-64-to-32 warnings

Ticket: #6186

12 months agodoc: state that payload-length includes the gaps
Philippe Antoine [Mon, 24 Jun 2024 20:13:55 +0000 (22:13 +0200)] 
doc: state that payload-length includes the gaps

12 months agooutput/dcerpc: call jb_get_mark just before jb_open_object
Philippe Antoine [Mon, 24 Jun 2024 20:11:17 +0000 (22:11 +0200)] 
output/dcerpc: call jb_get_mark just before jb_open_object

12 months agodoc: update dns section of the eve format documentation
Jason Ish [Fri, 5 Jul 2024 16:57:39 +0000 (10:57 -0600)] 
doc: update dns section of the eve format documentation

12 months agodoc: upgrade guide for dns logging changes
Jason Ish [Fri, 7 Jun 2024 21:30:54 +0000 (15:30 -0600)] 
doc: upgrade guide for dns logging changes

Bug: #6281

12 months agoeve/dns: allow version to be set with environment variable
Jason Ish [Thu, 4 Jul 2024 21:04:58 +0000 (15:04 -0600)] 
eve/dns: allow version to be set with environment variable

There is no sane way to set override the DNS eve version in Suricata
tests without using a copy of the configuration file, and many of the
tests by design use the configuration file of the Suricata under test,
so making a copy would break this assumption.

To get around this, respect the SURICATA_EVE_DNS_VERSION environment
variable as a way to set the version if not explicitly set in the
configuration file.

12 months agodns: add v3 dns logging
Jason Ish [Thu, 27 Jun 2024 21:33:05 +0000 (15:33 -0600)] 
dns: add v3 dns logging

DNS v3 logging fixes the discrepancies between request and response
logging with the main difference being queries always being placed in an
array.

Bug: #6281

12 months agodns: new v3 style logging for alerts
Jason Ish [Thu, 27 Jun 2024 22:54:25 +0000 (16:54 -0600)] 
dns: new v3 style logging for alerts

V3 style DNS logging fixes the discrepancies between request and
response logging better dns records and alert records.

The main change is that queries and answers are always logged as
arrays, and header fields are not logged in array items.

For alerts this means that answers are now logged as arrays, queries
already were.

DNS records will get this new format as well, but with a configuration
parameter.

Bug: #6281

12 months agodns: parse and populate OPT rdata struct
Nathan Scrivens [Thu, 16 May 2024 19:51:51 +0000 (15:51 -0400)] 
dns: parse and populate OPT rdata struct

Feature: 7017
Add DNSRDataOPT struct and DNSRData enum type OPT.
Add OPT parsing function and test function.
Add DNSRData OPT type to lua.rs match.
Log OPT rdata.

12 months agodns log: add additional section
Nathan Scrivens [Thu, 16 May 2024 19:50:24 +0000 (15:50 -0400)] 
dns log: add additional section

Feature: 7011
dns_log_json_answer: log additional section records.
update schema.json with new "additionals" section.

12 months agodns parsing: add additional section
Nathan Scrivens [Thu, 16 May 2024 19:31:38 +0000 (15:31 -0400)] 
dns parsing: add additional section

Feature: 7011
Add additionals to DNSMessage struct.
Add parsing logic to populate additional section data.
Patch dns tests to account for additional section parsing.

12 months agodoc: update MQTT configuration
Sascha Steinbiss [Sun, 12 May 2024 21:14:37 +0000 (23:14 +0200)] 
doc: update MQTT configuration

12 months agomqtt: run rustfmt
Sascha Steinbiss [Sat, 11 May 2024 23:52:31 +0000 (01:52 +0200)] 
mqtt: run rustfmt

12 months agomqtt: enable limiting of logged message length
Sascha Steinbiss [Sat, 11 May 2024 23:44:07 +0000 (01:44 +0200)] 
mqtt: enable limiting of logged message length

Ticket: #6984

12 months agorust: add JsonBuilder::set_string_limited()
Sascha Steinbiss [Fri, 31 May 2024 09:15:26 +0000 (11:15 +0200)] 
rust: add JsonBuilder::set_string_limited()

12 months agogithub-actions: bump actions/download-artifact from 4.1.4 to 4.1.8 11447/head
dependabot[bot] [Fri, 5 Jul 2024 15:24:50 +0000 (15:24 +0000)] 
github-actions: bump actions/download-artifact from 4.1.4 to 4.1.8

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.4 to 4.1.8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.1.4...fa0a91b85d4f404e444e00e005971372dc801d16)

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

Signed-off-by: dependabot[bot] <support@github.com>
12 months agogithub-actions: bump actions/upload-artifact from 4.3.3 to 4.3.4
dependabot[bot] [Fri, 5 Jul 2024 15:24:46 +0000 (15:24 +0000)] 
github-actions: bump actions/upload-artifact from 4.3.3 to 4.3.4

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.3.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/65462800fd760344b1a7b4382951275a0abb4808...0b2256b8c012f0828dc542b3febcab082c67f72b)

---
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>
12 months agodetect: Use Option where appropriate
Jeff Lucovsky [Fri, 22 Mar 2024 14:21:52 +0000 (10:21 -0400)] 
detect: Use Option where appropriate

This commit uses Option instead of Result.

Issue: 6873

12 months agodetect/byte_extract: Move keyword parser to Rust
Jeff Lucovsky [Mon, 11 Mar 2024 15:31:10 +0000 (11:31 -0400)] 
detect/byte_extract: Move keyword parser to Rust

Implement the keyword parser in Rust.

Issue: 6873

12 months agodetect/byte: Refactor endian, base
Jeff Lucovsky [Sun, 10 Mar 2024 14:04:07 +0000 (10:04 -0400)] 
detect/byte: Refactor endian, base

Issue: 6873

Refactor the enums for endian and base handling for broader use.

13 months agoutil/thash: decrease memuse if array was allocated 11431/head
Philippe Antoine [Thu, 4 Jul 2024 11:55:27 +0000 (13:55 +0200)] 
util/thash: decrease memuse if array was allocated

THashInitConfig may not allocate array and increase memuse.
Such a failure leads to THashShutdown which should not decrease
the memuse.

Ticket: 7135

13 months agodpdk: replace TSC clock with GetTime (gettimeofday) function
Lukas Sismis [Wed, 26 Jun 2024 21:33:52 +0000 (23:33 +0200)] 
dpdk: replace TSC clock with GetTime (gettimeofday) function

Getting clock through Time Stamp Counter (TSC) can be precise and fast,
however only for a short duration of time.
The implementation across CPUs seems to vary. The original idea is to
increment the counter with every tick. Then dividing the delta of CPU ticks
by the CPU frequency can return the time that passed.
However, the CPU clock/frequency can change over time, resulting in uneven
incrementation of TSC. On some CPUs this is handled by extra logic.
As a result, obtaining time through this method might drift from the real
time.

This commit therefore substitues TSC time retrieval by the standard system
call wrapped in GetTime function - on Linux it is gettimeofday.

Ticket: 7115

13 months agoapplayer/htp-range: fix off by one in expiry check 11414/head
Shivani Bhardwaj [Mon, 10 Jun 2024 11:58:33 +0000 (17:28 +0530)] 
applayer/htp-range: fix off by one in expiry check

13 months agodoc: add note about datasets string memcaps
Shivani Bhardwaj [Thu, 9 May 2024 15:51:25 +0000 (21:21 +0530)] 
doc: add note about datasets string memcaps

Bug 3910

13 months agodatasets: fix memuse to include string len
Shivani Bhardwaj [Thu, 23 May 2024 10:13:51 +0000 (15:43 +0530)] 
datasets: fix memuse to include string len

So far, when the data size was passed to the THash API, it was sent as
a sizeof(Struct) which works fine for the other data types as they have
a fixed length but not for the StringType.
However, because of the sizeof construct, the length of a string type
dataset was always taken to be 16 Bytes which is only the size of the struct
itself. It did not accomodate the actual size of the string that the
StringType holds. Fix this so that the memuse that is used to determine
whether memcap was reached also takes into consideration the size of the
actual string.

Bug 3910

13 months agoutil/thash: add a length getter fn
Shivani Bhardwaj [Mon, 13 May 2024 10:35:19 +0000 (16:05 +0530)] 
util/thash: add a length getter fn

In order to have access to the length of datatypes with variable lengths
to correctly update memuse to calculate memcaps.

Bug 3910

13 months agobypass: really bypass udp flow from first packet
Philippe Antoine [Thu, 30 May 2024 07:56:43 +0000 (09:56 +0200)] 
bypass: really bypass udp flow from first packet

Ticket: 7053

As flow state would be overwritten by established...

13 months agogithub-actions: bump actions/checkout from 3.6.0 to 4.1.7 11310/head 11413/head
dependabot[bot] [Wed, 3 Jul 2024 15:27:51 +0000 (15:27 +0000)] 
github-actions: bump actions/checkout from 3.6.0 to 4.1.7

Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.7.
- [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/v3.6.0...692973e3d937129bcbf40652eb9f2f61becf3332)

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

Signed-off-by: dependabot[bot] <support@github.com>