]>
git.ipfire.org Git - thirdparty/suricata.git/log
Jason Ish [Thu, 29 Aug 2024 14:51:49 +0000 (08:51 -0600)]
syslog: deprecate
The standalone syslog output is now deprecated for Suricata 8. Display
a warning on use and add notes to the userguide.
Ticket: #6544
Jason Ish [Thu, 29 Aug 2024 14:51:24 +0000 (08:51 -0600)]
tls-log: deprecate
tls-log is now deprecated and will be removed in Suricata 9.0. Display
a deprecation notice on use, and add notes to the user guide.
Ticket: #6542
Jason Ish [Thu, 29 Aug 2024 14:31:05 +0000 (08:31 -0600)]
http-log: deprecate
http-log is now deprecated and will be removed in Suricata
9.0. Display a deprecation notice on use, and add notes to the
userguide.
Issue: #6543
Jason Ish [Wed, 28 Aug 2024 02:58:09 +0000 (20:58 -0600)]
arp: profiling logger id must come before LOGGER_SIZE
Also added comment to make this more clear.
Philippe Antoine [Tue, 27 Aug 2024 13:26:22 +0000 (15:26 +0200)]
datasets: test unix socket ipv6 operations
Ticket: 6969
Eric Leblond [Fri, 19 Apr 2024 15:07:48 +0000 (17:07 +0200)]
datasets: fix parsing of ip4 in ip6
The lookup function was not taking into account that we can have
an IPv4 or an IPv6 address as parameters and that this addresses
need to be converted to Suricata internal storage.
By using the already defined dedicated parsing function, we are
fixing the issue.
Issue: #6969
Lukas Sismis [Sun, 18 Aug 2024 11:21:19 +0000 (13:21 +0200)]
profiling: use correct conditional on packet profiling data dump
Ticket: #7218
Victor Julien [Fri, 12 Jul 2024 08:34:42 +0000 (10:34 +0200)]
pcap-file: limit setvbuf to linux
As it fails to work correctly on FreeBSD and OpenBSD.
On FreeBSD, these are the errors:
Info: pcap: Pcap-file will use 4096 buffer size [PcapFileGlobalInit:source-pcap-file.c:159]
Error: pcap: failed to get first packet timestamp. pcap_next_ex(): -2 [PeekFirstPacketTimestamp:source-pcap-file-helper.c:186]
Warning: pcap: Failed to init pcap file input.pcap, skipping [ReceivePcapFileThreadInit:source-pcap-file.c:299]
Error: pcap: pcap file reader thread failed to initialize [ReceivePcapFileLoop:source-pcap-file.c:185]
Victor Julien [Tue, 9 Jul 2024 07:19:58 +0000 (09:19 +0200)]
pcap: implement pcap-file-buffer-size option
Allows easy specification of buffer size on the commandline.
Ticket: #7155.
Victor Julien [Tue, 9 Jul 2024 07:12:46 +0000 (09:12 +0200)]
pcap-file: improve setvbuf implementation
Make optional through `pcap-file.buffer-size` config option.
Make sure to check through configure.
Ticket: #7155.
Jason Ish [Wed, 13 Mar 2024 21:50:57 +0000 (15:50 -0600)]
pcap-file: use larger buffer for reading pcap files
Inspired by a recent Zeek blog post, this could speed up PCAP
processing by a few percent.
Ticket: #7155.
Victor Julien [Sun, 7 Jul 2024 17:43:37 +0000 (19:43 +0200)]
packetpool: allow larger max-pending-packets
Original limit was due to a specific data structure.
Philippe Antoine [Mon, 12 Aug 2024 12:55:22 +0000 (14:55 +0200)]
rust: compatibility with cbindgen 0.27
Ticket: 7206
Cbindgen 0.27 now handles extern blocks as extern "C" blocks.
The way to differentiate them is to use a special comment
before the block.
Giuseppe Longo [Tue, 6 Aug 2024 18:39:46 +0000 (20:39 +0200)]
rust/ldap: handle GAPs
Following the same logic as for PGSQL, if there is a gap in an LDAP request or
response, the parser tries to sync up again by checking if the message can be
parsed and effectively parses it on the next call.
Ticket #7176
Giuseppe Longo [Thu, 18 Jul 2024 14:53:13 +0000 (16:53 +0200)]
rust/ldap: add pdu frames
This adds a pdu frame for both request and response, and removes invalid
returns in SCLdapParseRequest and SCLdapParseResponse.
Ticket #7202
Giuseppe Longo [Thu, 18 Jul 2024 14:00:59 +0000 (16:00 +0200)]
rust/ldap: enable parser for udp
This introduces a new parser registration function for LDAP/UDP, and update
ldap configuration in order to be able to enable/disable a single parser
independently (such as dns).
Also, GAPs are accepted only for TCP parser and not for UDP.
Ticket #7203
Juliana Fajardini [Mon, 29 Jul 2024 19:55:30 +0000 (16:55 -0300)]
userguide: clarify flow:stateless explanation
While not incorrect, the previous wording made the sentence almost
paradoxical. While at it, also highlight a side effect that might not be
so clear to users.
Related to
Bug #6976
Philippe Antoine [Wed, 17 Jul 2024 12:50:51 +0000 (14:50 +0200)]
rfb: move app-layer registration code to rust
Ticket: 7178
Philippe Antoine [Wed, 17 Jul 2024 12:31:53 +0000 (14:31 +0200)]
detect/rfb: move keywords to rust
Ticket: 7178
On the way, convert rfb.secresult to a generic integer with enumeration
cf ticket 6723
Philippe Antoine [Fri, 2 Aug 2024 08:42:56 +0000 (10:42 +0200)]
ssh/frames: avoid unsigned integer overflow
Fixes: 0b2ed97f3678 ("ssh: frames support")
dependabot[bot] [Thu, 1 Aug 2024 19:10:21 +0000 (19:10 +0000)]
github-actions: bump ossf/scorecard-action from 2.3.3 to 2.4.0
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.3 to 2.4.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/
dc50aa9510b46c811795eb24b2f1ba02a914e534 ...
62b2cac7ed8198b15735ed49ab1e5cf35480ba46 )
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Thu, 1 Aug 2024 19:10:18 +0000 (19:10 +0000)]
github-actions: bump github/codeql-action from 3.25.11 to 3.25.15
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.15.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.25.11...v3.25.15)
---
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>
Philippe Antoine [Thu, 13 Jun 2024 19:52:09 +0000 (21:52 +0200)]
detect: make events prefilterable
Ticket: 6728
Philippe Antoine [Tue, 4 Jun 2024 06:56:53 +0000 (08:56 +0200)]
detect: minor optimization for tx
do not bother to clean the buffers, if we did not run detection
for this transaction.
Philippe Antoine [Tue, 4 Jun 2024 06:55:54 +0000 (08:55 +0200)]
detect/tx: avoid a call to memset
just initialize the small struct to zero
Victor Julien [Fri, 26 Jul 2024 08:05:29 +0000 (10:05 +0200)]
doc/userguide: document logging changes from 6 to 7
Minor other logging related improvements like clarifying language and
improving formatting for pdf output.
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
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
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
Philippe Antoine [Mon, 29 Jul 2024 19:57:01 +0000 (21:57 +0200)]
source: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Mon, 29 Jul 2024 19:50:36 +0000 (21:50 +0200)]
log: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Thu, 4 Jul 2024 13:11:53 +0000 (15:11 +0200)]
output/tx: use dynamic number of app-layer protos
Ticket: 5053
Philippe Antoine [Thu, 4 Jul 2024 13:31:18 +0000 (15:31 +0200)]
output: use dynamic number of app-layer protos
Ticket: 5053
Philippe Antoine [Thu, 4 Jul 2024 13:07:01 +0000 (15:07 +0200)]
runmodes: use dynamic number of app-layer protos
Ticket: 5053
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
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
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
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.
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.
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.
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.
Victor Julien [Sat, 27 Jul 2024 19:32:40 +0000 (21:32 +0200)]
github-actions: update for MSRV 1.67.1
Victor Julien [Sat, 27 Jul 2024 20:06:44 +0000 (22:06 +0200)]
rust: address clippy errors
Victor Julien [Sat, 27 Jul 2024 19:47:20 +0000 (21:47 +0200)]
ssh/hassh: fix clippy warning
Shivani Bhardwaj [Fri, 19 Jul 2024 11:59:16 +0000 (17:29 +0530)]
eve/stats: add description for flow stats
Ticket 6434
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
Philippe Antoine [Tue, 9 Jul 2024 21:33:27 +0000 (23:33 +0200)]
doh2: log like dns v3
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
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
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.
Philippe Antoine [Tue, 12 Dec 2023 21:47:01 +0000 (22:47 +0100)]
doh: make dns and http keywords for doh2
Ticket: 5773
Philippe Antoine [Tue, 12 Dec 2023 13:58:02 +0000 (14:58 +0100)]
doh: implement dns over http2 app-proto
Ticket: 5773
Philippe Antoine [Tue, 12 Dec 2023 13:33:08 +0000 (14:33 +0100)]
http2: log dns if DoH is recognized
Ticket: 5773
Philippe Antoine [Tue, 12 Dec 2023 13:32:26 +0000 (14:32 +0100)]
http2: rustfmt
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
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
Philippe Antoine [Wed, 17 Jul 2024 09:22:32 +0000 (11:22 +0200)]
runmodes: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Wed, 17 Jul 2024 09:11:04 +0000 (11:11 +0200)]
defrag: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Wed, 17 Jul 2024 09:02:50 +0000 (11:02 +0200)]
datasets: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Victor Julien [Wed, 17 Jul 2024 07:18:56 +0000 (09:18 +0200)]
rust/ldap: add ldap-parser to Cargo.lock.in
Giuseppe Longo [Fri, 21 Jun 2024 12:42:43 +0000 (14:42 +0200)]
doc: add ldap protocol
Giuseppe Longo [Wed, 10 Apr 2024 12:02:50 +0000 (14:02 +0200)]
rust/ldap: implement logger
Giuseppe Longo [Wed, 10 Apr 2024 12:01:55 +0000 (14:01 +0200)]
rust/ldap: implement app-layer
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.
Philippe Antoine [Tue, 18 Jun 2024 05:59:23 +0000 (07:59 +0200)]
smtp: add port 465 for probing
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
Philippe Antoine [Thu, 30 May 2024 19:48:26 +0000 (21:48 +0200)]
smtp: recognize more reply codes
Ticket: 6821
Philippe Antoine [Fri, 1 Jul 2022 11:30:46 +0000 (13:30 +0200)]
ftp: adds server side detection
Philippe Antoine [Tue, 28 Jun 2022 19:34:24 +0000 (21:34 +0200)]
smtp: adds server side detection
Ticket: #1125
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>
Philippe Antoine [Thu, 20 Jun 2024 08:50:28 +0000 (10:50 +0200)]
detect/ssh: remove deprecated keywords
Ticket: 2377
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.
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
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
Philippe Antoine [Mon, 17 Jun 2024 22:01:03 +0000 (00:01 +0200)]
mqtt: parse and store raw connect flags
for easier later matching
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
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
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
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
Jason Ish [Thu, 11 Jul 2024 18:47:40 +0000 (12:47 -0600)]
github-ci: pf-ring build
Jason Ish [Thu, 11 Jul 2024 18:39:47 +0000 (12:39 -0600)]
doc: add pf-ring plugin upgrade notes
Ticket: #7162
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.
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
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.
Jason Ish [Tue, 9 Jul 2024 22:42:04 +0000 (16:42 -0600)]
pf-ring: load plugin by default
Ticket: #7162
Jason Ish [Tue, 9 Jul 2024 21:12:29 +0000 (15:12 -0600)]
pf-ring: add as plugin
Ticket: #7162
Jason Ish [Tue, 9 Jul 2024 21:10:50 +0000 (15:10 -0600)]
pf-ring: remove, to make room for plugin
Ticket: #7162
Victor Julien [Wed, 10 Jul 2024 18:06:54 +0000 (20:06 +0200)]
config: switch default config to IEEE 1541 notation
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.
Victor Julien [Wed, 10 Jul 2024 17:46:34 +0000 (19:46 +0200)]
parse/size: fix unit test checks
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.
Victor Julien [Wed, 10 Jul 2024 09:29:35 +0000 (11:29 +0200)]
profiling: allow absolute paths
Ticket #6490.
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.
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
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
Philippe Antoine [Tue, 19 Sep 2023 09:03:55 +0000 (11:03 +0200)]
decode: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Tue, 25 Jun 2024 07:39:18 +0000 (09:39 +0200)]
flow: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Tue, 25 Jun 2024 07:35:15 +0000 (09:35 +0200)]
features: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Tue, 25 Jun 2024 07:34:08 +0000 (09:34 +0200)]
counters: fix -Wshorten-64-to-32 warnings
Ticket: #6186
Philippe Antoine [Mon, 24 Jun 2024 20:13:55 +0000 (22:13 +0200)]
doc: state that payload-length includes the gaps